LLVM 22.0.0git
CallBrPrepare.cpp File Reference

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "callbr-prepare"

Functions

static bool SplitCriticalEdges (ArrayRef< CallBrInst * > CBRs, DominatorTree &DT)
static bool InsertIntrinsicCalls (ArrayRef< CallBrInst * > CBRs, DominatorTree &DT)
static void UpdateSSA (DominatorTree &DT, CallBrInst *CBR, CallInst *Intrinsic, SSAUpdater &SSAUpdate)
static SmallVector< CallBrInst *, 2 > FindCallBrs (Function &Fn)
 INITIALIZE_PASS_BEGIN (CallBrPrepare, "callbrprepare", "Prepare callbr", false, false) INITIALIZE_PASS_END(CallBrPrepare
static bool IsInSameBasicBlock (const Use &U, const BasicBlock *BB)
static void PrintDebugDomInfo (const DominatorTree &DT, const Use &U, const BasicBlock *BB, bool IsDefaultDest)

Variables

 callbrprepare
Prepare callbr
Prepare false

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "callbr-prepare"

Definition at line 55 of file CallBrPrepare.cpp.

Function Documentation

◆ FindCallBrs()

SmallVector< CallBrInst *, 2 > FindCallBrs ( Function & Fn)
static

◆ INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( CallBrPrepare ,
"callbrprepare" ,
"Prepare callbr" ,
false ,
false  )

◆ InsertIntrinsicCalls()

◆ IsInSameBasicBlock()

bool IsInSameBasicBlock ( const Use & U,
const BasicBlock * BB )
static

Definition at line 167 of file CallBrPrepare.cpp.

References llvm::dyn_cast(), and I.

Referenced by UpdateSSA().

◆ PrintDebugDomInfo()

void PrintDebugDomInfo ( const DominatorTree & DT,
const Use & U,
const BasicBlock * BB,
bool IsDefaultDest )
static

◆ SplitCriticalEdges()

bool SplitCriticalEdges ( ArrayRef< CallBrInst * > CBRs,
DominatorTree & DT )
static

◆ UpdateSSA()

Variable Documentation

◆ callbr

Prepare callbr

Definition at line 100 of file CallBrPrepare.cpp.

◆ callbrprepare

callbrprepare

Definition at line 100 of file CallBrPrepare.cpp.

◆ false

Prepare false

Definition at line 100 of file CallBrPrepare.cpp.