LLVM 19.0.0git
Namespaces | Functions
GuardUtils.h File Reference

Go to the source code of this file.

Namespaces

namespace  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.
 
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.
 
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.