llvm::PredicateWithEdge

Mixin for predicates that hold along a CFG edge.

Synopsis

Declared in <llvm/Transforms/Utils/PredicateInfo.h>

class PredicateWithEdge
    : public PredicateBase

Description

The FROM block is the block where the predicate originates, and the TO block is the block where the predicate is valid.

Base Classes

NameDescription
PredicateBaseBase class for all predicate information we provide.

Member Functions

NameDescription
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.

Static Member Functions

NameDescription
classof Return true if PB is a branch or switch edge predicate.

Data Members

NameDescription
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.

Protected Member Functions

NameDescription
PredicateWithEdge [constructor]Construct an edge predicate of kind PType along From -> To.

Derived Classes

NameDescription
PredicateBranch Predicate information for conditional branches.
PredicateSwitch Predicate information for a switch case edge.