ΒΆ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