LLVM  10.0.0svn
Public Member Functions | Public Attributes | List of all members
llvm::SwitchCG::SwitchLowering Class Referenceabstract

#include "llvm/CodeGen/SwitchLoweringUtils.h"

Inheritance diagram for llvm::SwitchCG::SwitchLowering:
Inheritance graph
[legend]
Collaboration diagram for llvm::SwitchCG::SwitchLowering:
Collaboration graph
[legend]

Public Member Functions

 SwitchLowering (FunctionLoweringInfo &funcinfo)
 
void init (const TargetLowering &tli, const TargetMachine &tm, const DataLayout &dl)
 
void findJumpTables (CaseClusterVector &Clusters, const SwitchInst *SI, MachineBasicBlock *DefaultMBB)
 
bool buildJumpTable (const CaseClusterVector &Clusters, unsigned First, unsigned Last, const SwitchInst *SI, MachineBasicBlock *DefaultMBB, CaseCluster &JTCluster)
 
void findBitTestClusters (CaseClusterVector &Clusters, const SwitchInst *SI)
 
bool buildBitTests (CaseClusterVector &Clusters, unsigned First, unsigned Last, const SwitchInst *SI, CaseCluster &BTCluster)
 Build a bit test cluster from Clusters[First..Last]. More...
 
virtual void addSuccessorWithProb (MachineBasicBlock *Src, MachineBasicBlock *Dst, BranchProbability Prob=BranchProbability::getUnknown())=0
 
virtual ~SwitchLowering ()=default
 

Public Attributes

std::vector< CaseBlockSwitchCases
 Vector of CaseBlock structures used to communicate SwitchInst code generation information. More...
 
std::vector< JumpTableBlockJTCases
 Vector of JumpTable structures used to communicate SwitchInst code generation information. More...
 
std::vector< BitTestBlockBitTestCases
 Vector of BitTestBlock structures used to communicate SwitchInst code generation information. More...
 

Detailed Description

Definition at line 243 of file SwitchLoweringUtils.h.

Constructor & Destructor Documentation

◆ SwitchLowering()

llvm::SwitchCG::SwitchLowering::SwitchLowering ( FunctionLoweringInfo funcinfo)
inline

Definition at line 245 of file SwitchLoweringUtils.h.

◆ ~SwitchLowering()

virtual llvm::SwitchCG::SwitchLowering::~SwitchLowering ( )
virtualdefault

Member Function Documentation

◆ addSuccessorWithProb()

virtual void llvm::SwitchCG::SwitchLowering::addSuccessorWithProb ( MachineBasicBlock Src,
MachineBasicBlock Dst,
BranchProbability  Prob = BranchProbability::getUnknown() 
)
pure virtual

◆ buildBitTests()

bool SwitchCG::SwitchLowering::buildBitTests ( CaseClusterVector Clusters,
unsigned  First,
unsigned  Last,
const SwitchInst SI,
CaseCluster BTCluster 
)

◆ buildJumpTable()

bool SwitchCG::SwitchLowering::buildJumpTable ( const CaseClusterVector Clusters,
unsigned  First,
unsigned  Last,
const SwitchInst SI,
MachineBasicBlock DefaultMBB,
CaseCluster JTCluster 
)

◆ findBitTestClusters()

void SwitchCG::SwitchLowering::findBitTestClusters ( CaseClusterVector Clusters,
const SwitchInst SI 
)

◆ findJumpTables()

void SwitchCG::SwitchLowering::findJumpTables ( CaseClusterVector Clusters,
const SwitchInst SI,
MachineBasicBlock DefaultMBB 
)

◆ init()

void llvm::SwitchCG::SwitchLowering::init ( const TargetLowering tli,
const TargetMachine tm,
const DataLayout dl 
)
inline

Definition at line 247 of file SwitchLoweringUtils.h.

References llvm::SystemZISD::TM.

Member Data Documentation

◆ BitTestCases

std::vector<BitTestBlock> llvm::SwitchCG::SwitchLowering::BitTestCases

Vector of BitTestBlock structures used to communicate SwitchInst code generation information.

Definition at line 264 of file SwitchLoweringUtils.h.

◆ JTCases

std::vector<JumpTableBlock> llvm::SwitchCG::SwitchLowering::JTCases

Vector of JumpTable structures used to communicate SwitchInst code generation information.

Definition at line 260 of file SwitchLoweringUtils.h.

◆ SwitchCases

std::vector<CaseBlock> llvm::SwitchCG::SwitchLowering::SwitchCases

Vector of CaseBlock structures used to communicate SwitchInst code generation information.

Definition at line 256 of file SwitchLoweringUtils.h.


The documentation for this class was generated from the following files: