Mixin for predicates that hold along a CFG edge.
Declared in <llvm/Transforms/Utils/PredicateInfo.h>
class PredicateWithEdge
: public PredicateBase
The FROM block is the block where the predicate originates, and the TO block is the block where the predicate is valid.
| Name | Description |
|---|---|
PredicateBase | Base class for all predicate information we provide. |
| Name | Description |
|---|---|
PredicateWithEdge [constructor] [deleted] | Deleted default constructor; edge endpoints must be supplied. |
operator= [deleted] | Deleted copy assignment; PredicateBase cannot be copy-assigned. |
getConstraint | Fetch condition in the form of PredicateConstraint, if possible. |
| Name | Description |
|---|---|
classof | Return true if PB is a branch or switch edge predicate. |
| Name | Description |
|---|---|
Condition | The condition associated with this predicate. |
From | Basic block where the branch or switch that produces the predicate lives. |
OriginalOp | The original operand before we renamed it. |
RenamedOp | The renamed operand in the condition used for this predicate. |
To | Successor block in which the renamed operand is known to satisfy the predicate. |
Type | Discriminator describing which derived predicate this is. |
| Name | Description |
|---|---|
PredicateWithEdge [constructor] | Construct an edge predicate of kind PType along From -> To. |
| Name | Description |
|---|---|
PredicateBranch | Predicate information for conditional branches. |
PredicateSwitch | Predicate information for a switch case edge. |