LLVM  10.0.0svn
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"

Collaboration diagram for llvm::SwitchCG::CaseBlock:
Collaboration graph
[legend]

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())
 
 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())
 

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. More...
 
DebugLoc DbgLoc
 
BranchProbability TrueProb
 
BranchProbability FalseProb
 

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 103 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() 
)
inline

Definition at line 138 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() 
)
inline

Definition at line 148 of file SwitchLoweringUtils.h.

References pred.

Member Data Documentation

◆ @197

union { ... }

◆ CC

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

Definition at line 114 of file SwitchLoweringUtils.h.

◆ CmpLHS

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

Definition at line 121 of file SwitchLoweringUtils.h.

Referenced by llvm::IRTranslator::getAnalysisUsage().

◆ CmpMHS

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

Definition at line 121 of file SwitchLoweringUtils.h.

◆ CmpRHS

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

Definition at line 121 of file SwitchLoweringUtils.h.

◆ DbgLoc

DebugLoc llvm::SwitchCG::CaseBlock::DbgLoc

Definition at line 132 of file SwitchLoweringUtils.h.

◆ DL

SDLoc llvm::SwitchCG::CaseBlock::DL

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

Definition at line 131 of file SwitchLoweringUtils.h.

◆ FalseBB

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

Definition at line 124 of file SwitchLoweringUtils.h.

◆ FalseProb

BranchProbability llvm::SwitchCG::CaseBlock::FalseProb

Definition at line 135 of file SwitchLoweringUtils.h.

◆ PredInfo

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

Definition at line 115 of file SwitchLoweringUtils.h.

◆ ThisBB

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

Definition at line 127 of file SwitchLoweringUtils.h.

◆ TrueBB

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

Definition at line 124 of file SwitchLoweringUtils.h.

◆ TrueProb

BranchProbability llvm::SwitchCG::CaseBlock::TrueProb

Definition at line 135 of file SwitchLoweringUtils.h.


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