LLVM 22.0.0git
GuardWidening.cpp File Reference

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "guard-widening"

Functions

 STATISTIC (GuardsEliminated, "Number of eliminated guards")
 STATISTIC (CondBranchEliminated, "Number of eliminated conditional branches")
 STATISTIC (FreezeAdded, "Number of freeze instruction introduced")
static bool isSupportedGuardInstruction (const Instruction *Insn)
static std::optional< BasicBlock::iteratorgetFreezeInsertPt (Value *V, const DominatorTree &DT)

Variables

static cl::opt< boolWidenBranchGuards ("guard-widening-widen-branch-guards", cl::Hidden, cl::desc("Whether or not we should widen guards " "expressed as branches by widenable conditions"), cl::init(true))

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "guard-widening"

Definition at line 66 of file GuardWidening.cpp.

Function Documentation

◆ getFreezeInsertPt()

◆ isSupportedGuardInstruction()

bool isSupportedGuardInstruction ( const Instruction * Insn)
static

◆ STATISTIC() [1/3]

STATISTIC ( CondBranchEliminated ,
"Number of eliminated conditional branches"  )

◆ STATISTIC() [2/3]

STATISTIC ( FreezeAdded ,
"Number of freeze instruction introduced"  )

◆ STATISTIC() [3/3]

STATISTIC ( GuardsEliminated ,
"Number of eliminated guards"  )

Variable Documentation

◆ WidenBranchGuards

cl::opt< bool > WidenBranchGuards("guard-widening-widen-branch-guards", cl::Hidden, cl::desc("Whether or not we should widen guards " "expressed as branches by widenable conditions"), cl::init(true)) ( "guard-widening-widen-branch-guards" ,
cl::Hidden ,
cl::desc("Whether or not we should widen guards " "expressed as branches by widenable conditions") ,
cl::init(true)  )
static