LLVM  16.0.0git
GuardUtils.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Namespaces

llvm
This is an optimization pass for GlobalISel generic memory operations.

## Functions

void llvm::makeGuardControlFlowExplicit (Function *DeoptIntrinsic, CallInst *Guard, bool UseWC)
Splits control flow at point of Guard, replacing it with explicit branch by the condition of guard's first argument. More...

void llvm::widenWidenableBranch (BranchInst *WidenableBR, Value *NewCond)
Given a branch we know is widenable (defined per Analysis/GuardUtils.h), widen it such that condition 'NewCond' is also known to hold on the taken path. More...

void llvm::setWidenableBranchCond (BranchInst *WidenableBR, Value *Cond)
Given a branch we know is widenable (defined per Analysis/GuardUtils.h), set it's condition such that (only) 'Cond' is known to hold on the taken path and that the branch remains widenable after transform. More...