LLVM 20.0.0git
Classes | Public Member Functions | Public Attributes | List of all members
llvm::SwitchCG::CaseBlock Struct Reference

This structure is used to communicate between SelectionDAGBuilder and SDISel for the code generation of additional basic blocks needed by multi-case switch statements. More...

#include "llvm/CodeGen/SwitchLoweringUtils.h"

Classes

struct  PredInfoPair
 

Public Member Functions

 CaseBlock (ISD::CondCode cc, const Value *cmplhs, const Value *cmprhs, const Value *cmpmiddle, MachineBasicBlock *truebb, MachineBasicBlock *falsebb, MachineBasicBlock *me, SDLoc dl, BranchProbability trueprob=BranchProbability::getUnknown(), BranchProbability falseprob=BranchProbability::getUnknown(), bool isunpredictable=false)
 
 CaseBlock (CmpInst::Predicate pred, bool nocmp, const Value *cmplhs, const Value *cmprhs, const Value *cmpmiddle, MachineBasicBlock *truebb, MachineBasicBlock *falsebb, MachineBasicBlock *me, DebugLoc dl, BranchProbability trueprob=BranchProbability::getUnknown(), BranchProbability falseprob=BranchProbability::getUnknown(), bool isunpredictable=false)
 

Public Attributes

union {
   ISD::CondCode   CC
 
   struct PredInfoPair   PredInfo
 
}; 
 
const ValueCmpLHS
 
const ValueCmpMHS
 
const ValueCmpRHS
 
MachineBasicBlockTrueBB
 
MachineBasicBlockFalseBB
 
MachineBasicBlockThisBB
 
SDLoc DL
 The debug location of the instruction this CaseBlock was produced from.
 
DebugLoc DbgLoc
 
BranchProbability TrueProb
 
BranchProbability FalseProb
 
bool IsUnpredictable
 

Detailed Description

This structure is used to communicate between SelectionDAGBuilder and SDISel for the code generation of additional basic blocks needed by multi-case switch statements.

Definition at line 109 of file SwitchLoweringUtils.h.

Constructor & Destructor Documentation

◆ CaseBlock() [1/2]

llvm::SwitchCG::CaseBlock::CaseBlock ( ISD::CondCode  cc,
const Value cmplhs,
const Value cmprhs,
const Value cmpmiddle,
MachineBasicBlock truebb,
MachineBasicBlock falsebb,
MachineBasicBlock me,
SDLoc  dl,
BranchProbability  trueprob = BranchProbability::getUnknown(),
BranchProbability  falseprob = BranchProbability::getUnknown(),
bool  isunpredictable = false 
)
inline

Definition at line 145 of file SwitchLoweringUtils.h.

◆ CaseBlock() [2/2]

llvm::SwitchCG::CaseBlock::CaseBlock ( CmpInst::Predicate  pred,
bool  nocmp,
const Value cmplhs,
const Value cmprhs,
const Value cmpmiddle,
MachineBasicBlock truebb,
MachineBasicBlock falsebb,
MachineBasicBlock me,
DebugLoc  dl,
BranchProbability  trueprob = BranchProbability::getUnknown(),
BranchProbability  falseprob = BranchProbability::getUnknown(),
bool  isunpredictable = false 
)
inline

Definition at line 157 of file SwitchLoweringUtils.h.

References pred.

Member Data Documentation

◆ 

union { ... } llvm::SwitchCG::CaseBlock::@245

◆ CC

ISD::CondCode llvm::SwitchCG::CaseBlock::CC

Definition at line 120 of file SwitchLoweringUtils.h.

Referenced by llvm::SelectionDAGBuilder::visitSwitchCase().

◆ CmpLHS

const Value* llvm::SwitchCG::CaseBlock::CmpLHS

Definition at line 127 of file SwitchLoweringUtils.h.

Referenced by llvm::SelectionDAGBuilder::visitSwitchCase().

◆ CmpMHS

const Value * llvm::SwitchCG::CaseBlock::CmpMHS

Definition at line 127 of file SwitchLoweringUtils.h.

Referenced by llvm::SelectionDAGBuilder::visitSwitchCase().

◆ CmpRHS

const Value * llvm::SwitchCG::CaseBlock::CmpRHS

Definition at line 127 of file SwitchLoweringUtils.h.

Referenced by llvm::SelectionDAGBuilder::visitSwitchCase().

◆ DbgLoc

DebugLoc llvm::SwitchCG::CaseBlock::DbgLoc

Definition at line 138 of file SwitchLoweringUtils.h.

◆ DL

SDLoc llvm::SwitchCG::CaseBlock::DL

The debug location of the instruction this CaseBlock was produced from.

Definition at line 137 of file SwitchLoweringUtils.h.

Referenced by llvm::SelectionDAGBuilder::visitSwitchCase().

◆ FalseBB

MachineBasicBlock * llvm::SwitchCG::CaseBlock::FalseBB

Definition at line 130 of file SwitchLoweringUtils.h.

Referenced by llvm::SelectionDAGBuilder::visitSwitchCase().

◆ FalseProb

BranchProbability llvm::SwitchCG::CaseBlock::FalseProb

Definition at line 141 of file SwitchLoweringUtils.h.

Referenced by llvm::SelectionDAGBuilder::visitSwitchCase().

◆ IsUnpredictable

bool llvm::SwitchCG::CaseBlock::IsUnpredictable

Definition at line 142 of file SwitchLoweringUtils.h.

Referenced by llvm::SelectionDAGBuilder::visitSwitchCase().

◆ PredInfo

struct PredInfoPair llvm::SwitchCG::CaseBlock::PredInfo

Definition at line 121 of file SwitchLoweringUtils.h.

◆ ThisBB

MachineBasicBlock* llvm::SwitchCG::CaseBlock::ThisBB

Definition at line 133 of file SwitchLoweringUtils.h.

◆ TrueBB

MachineBasicBlock* llvm::SwitchCG::CaseBlock::TrueBB

Definition at line 130 of file SwitchLoweringUtils.h.

Referenced by llvm::SelectionDAGBuilder::visitSwitchCase().

◆ TrueProb

BranchProbability llvm::SwitchCG::CaseBlock::TrueProb

Definition at line 141 of file SwitchLoweringUtils.h.

Referenced by llvm::SelectionDAGBuilder::visitSwitchCase().


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