LLVM
8.0.1
|
This class represents an assumption that two SCEV expressions are equal, and this can be checked at run-time. More...
#include "llvm/Analysis/ScalarEvolution.h"
Public Member Functions | |
SCEVEqualPredicate (const FoldingSetNodeIDRef ID, const SCEV *LHS, const SCEV *RHS) | |
bool | implies (const SCEVPredicate *N) const override |
Implementation of the SCEVPredicate interface. More... | |
void | print (raw_ostream &OS, unsigned Depth=0) const override |
Prints a textual representation of this predicate with an indentation of Depth . More... | |
bool | isAlwaysTrue () const override |
Returns true if the predicate is always true. More... | |
const SCEV * | getExpr () const override |
Returns the SCEV to which this predicate applies, or nullptr if this is a SCEVUnionPredicate. More... | |
const SCEV * | getLHS () const |
Returns the left hand side of the equality. More... | |
const SCEV * | getRHS () const |
Returns the right hand side of the equality. More... | |
Public Member Functions inherited from llvm::SCEVPredicate | |
SCEVPredicate (const FoldingSetNodeIDRef ID, SCEVPredicateKind Kind) | |
SCEV predicates. More... | |
SCEVPredicateKind | getKind () const |
virtual unsigned | getComplexity () const |
Returns the estimated complexity of this predicate. More... | |
Public Member Functions inherited from llvm::FoldingSetBase::Node | |
Node ()=default | |
void * | getNextInBucket () const |
void | SetNextInBucket (void *N) |
Static Public Member Functions | |
static bool | classof (const SCEVPredicate *P) |
Methods for support type inquiry through isa, cast, and dyn_cast: More... | |
Additional Inherited Members | |
Public Types inherited from llvm::SCEVPredicate | |
enum | SCEVPredicateKind { P_Union, P_Equal, P_Wrap } |
Protected Member Functions inherited from llvm::SCEVPredicate | |
~SCEVPredicate ()=default | |
SCEVPredicate (const SCEVPredicate &)=default | |
SCEVPredicate & | operator= (const SCEVPredicate &)=default |
Protected Attributes inherited from llvm::SCEVPredicate | |
SCEVPredicateKind | Kind |
This class represents an assumption that two SCEV expressions are equal, and this can be checked at run-time.
Definition at line 249 of file ScalarEvolution.h.
SCEVEqualPredicate::SCEVEqualPredicate | ( | const FoldingSetNodeIDRef | ID, |
const SCEV * | LHS, | ||
const SCEV * | RHS | ||
) |
Definition at line 12150 of file ScalarEvolution.cpp.
References assert(), and llvm::SCEV::getType().
|
inlinestatic |
Methods for support type inquiry through isa, cast, and dyn_cast:
Definition at line 271 of file ScalarEvolution.h.
References llvm::SCEVPredicate::getKind().
Returns the SCEV to which this predicate applies, or nullptr if this is a SCEVUnionPredicate.
Implements llvm::SCEVPredicate.
Definition at line 12168 of file ScalarEvolution.cpp.
Returns the left hand side of the equality.
Definition at line 265 of file ScalarEvolution.h.
Referenced by llvm::SCEVExpander::expandEqualPredicate().
Returns the right hand side of the equality.
Definition at line 268 of file ScalarEvolution.h.
Referenced by llvm::SCEVExpander::expandEqualPredicate().
|
overridevirtual |
Implementation of the SCEVPredicate interface.
Implements llvm::SCEVPredicate.
Definition at line 12157 of file ScalarEvolution.cpp.
References llvm::dyn_cast(), and N.
|
overridevirtual |
Returns true if the predicate is always true.
This means that no assumptions were made and nothing needs to be checked at run-time.
Implements llvm::SCEVPredicate.
Definition at line 12166 of file ScalarEvolution.cpp.
|
overridevirtual |
Prints a textual representation of this predicate with an indentation of Depth
.
Implements llvm::SCEVPredicate.
Definition at line 12170 of file ScalarEvolution.cpp.
References llvm::raw_ostream::indent().