LLVM 22.0.0git
llvm::SwitchCG::CaseCluster Struct Reference

A cluster of case labels. More...

#include "llvm/CodeGen/SwitchLoweringUtils.h"

Static Public Member Functions

static CaseCluster range (const ConstantInt *Low, const ConstantInt *High, MachineBasicBlock *MBB, BranchProbability Prob)
static CaseCluster jumpTable (const ConstantInt *Low, const ConstantInt *High, unsigned JTCasesIndex, BranchProbability Prob)
static CaseCluster bitTests (const ConstantInt *Low, const ConstantInt *High, unsigned BTCasesIndex, BranchProbability Prob)

Public Attributes

CaseClusterKind Kind
const ConstantIntLow
const ConstantIntHigh
union { 
   MachineBasicBlock *   MBB 
   unsigned   JTCasesIndex 
   unsigned   BTCasesIndex 
}; 
BranchProbability Prob

Detailed Description

A cluster of case labels.

Definition at line 42 of file SwitchLoweringUtils.h.

Member Function Documentation

◆ bitTests()

CaseCluster llvm::SwitchCG::CaseCluster::bitTests ( const ConstantInt * Low,
const ConstantInt * High,
unsigned BTCasesIndex,
BranchProbability Prob )
inlinestatic

◆ jumpTable()

CaseCluster llvm::SwitchCG::CaseCluster::jumpTable ( const ConstantInt * Low,
const ConstantInt * High,
unsigned JTCasesIndex,
BranchProbability Prob )
inlinestatic

◆ range()

CaseCluster llvm::SwitchCG::CaseCluster::range ( const ConstantInt * Low,
const ConstantInt * High,
MachineBasicBlock * MBB,
BranchProbability Prob )
inlinestatic

Definition at line 52 of file SwitchLoweringUtils.h.

References llvm::CallingConv::C, llvm::SwitchCG::CC_Range, High, Low, MBB, and Prob.

Member Data Documentation

◆ [union]

◆ BTCasesIndex

unsigned llvm::SwitchCG::CaseCluster::BTCasesIndex

Definition at line 48 of file SwitchLoweringUtils.h.

Referenced by bitTests().

◆ High

const ConstantInt * llvm::SwitchCG::CaseCluster::High

Definition at line 44 of file SwitchLoweringUtils.h.

Referenced by bitTests(), jumpTable(), and range().

◆ JTCasesIndex

unsigned llvm::SwitchCG::CaseCluster::JTCasesIndex

Definition at line 47 of file SwitchLoweringUtils.h.

Referenced by jumpTable().

◆ Kind

CaseClusterKind llvm::SwitchCG::CaseCluster::Kind

Definition at line 43 of file SwitchLoweringUtils.h.

◆ Low

◆ MBB

MachineBasicBlock* llvm::SwitchCG::CaseCluster::MBB

Definition at line 46 of file SwitchLoweringUtils.h.

Referenced by range(), and llvm::SwitchCG::sortAndRangeify().

◆ Prob


The documentation for this struct was generated from the following file: