llvm::parseWidenableBranch

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 U does not match this pattern, return false.

Synopsis

Declared in <llvm/Analysis/GuardUtils.h>

bool
parseWidenableBranch(
    User const* U,
    Value*& Condition,
    Value*& WidenableCondition,
    BasicBlock*& IfTrueBB,
    BasicBlock*& IfFalseBB);

Parameters

NameDescription
ConditionLLVM Value Representation
WidenableConditionLLVM Value Representation
IfTrueBBLLVM Basic Block Representation
IfFalseBBLLVM Basic Block Representation