ΒΆbool parseWidenableBranch(
const llvm::User* U,
llvm::Value*& Condition,
llvm::Value*& WidenableCondition,
llvm::BasicBlock*& IfTrueBB,
llvm::BasicBlock*& IfFalseBB)
bool parseWidenableBranch(
const llvm::User* U,
llvm::Value*& Condition,
llvm::Value*& WidenableCondition,
llvm::BasicBlock*& IfTrueBB,
llvm::BasicBlock*& IfFalseBB)
Description
If U is widenable branch looking like: %cond = ... %wc = call i1 @llvm.experimental.widenable.condition() %branch_cond = and i1 %cond, %wc br i1 %branch_cond, label %if_true_bb, label %if_false_bb ; < --- U The function returns true, and the values %cond and %wc and blocks %if_true_bb, if_false_bb are returned in the parameters (Condition, WidenableCondition, IfTrueBB and IfFalseFF) respectively. If \p U does not match this pattern, return false.
Declared at: llvm/include/llvm/Analysis/GuardUtils.h:43
Parameters
- const llvm::User* U
- llvm::Value*& Condition
- llvm::Value*& WidenableCondition
- llvm::BasicBlock*& IfTrueBB
- llvm::BasicBlock*& IfFalseBB