Go to the source code of this file.
|
namespace | llvm |
| This is an optimization pass for GlobalISel generic memory operations.
|
|
|
bool | llvm::isGuard (const User *U) |
| Returns true iff U has semantics of a guard expressed in a form of call of llvm.experimental.guard intrinsic.
|
|
bool | llvm::isWidenableBranch (const User *U) |
| Returns true iff U is a widenable branch (that is, parseWidenableBranch returns true).
|
|
bool | llvm::isGuardAsWidenableBranch (const User *U) |
| Returns true iff U has semantics of a guard expressed in a form of a widenable conditional branch to deopt block.
|
|
bool | llvm::parseWidenableBranch (const User *U, Value *&Condition, Value *&WidenableCondition, BasicBlock *&IfTrueBB, BasicBlock *&IfFalseBB) |
| 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.
|
|
bool | llvm::parseWidenableBranch (User *U, Use *&Cond, Use *&WC, BasicBlock *&IfTrueBB, BasicBlock *&IfFalseBB) |
| Analgous to the above, but return the Uses so that that they can be modified.
|
|