LLVM 22.0.0git
|
This class represents an assumption that the expression LHS Pred RHS evaluates to true, and this can be checked at run-time. More...
#include "llvm/Analysis/ScalarEvolution.h"
Public Member Functions | |
SCEVComparePredicate (const FoldingSetNodeIDRef ID, const ICmpInst::Predicate Pred, const SCEV *LHS, const SCEV *RHS) | |
bool | implies (const SCEVPredicate *N, ScalarEvolution &SE) const override |
Implementation of the SCEVPredicate interface. | |
void | print (raw_ostream &OS, unsigned Depth=0) const override |
Prints a textual representation of this predicate with an indentation of Depth . | |
bool | isAlwaysTrue () const override |
Returns true if the predicate is always true. | |
ICmpInst::Predicate | getPredicate () const |
const SCEV * | getLHS () const |
Returns the left hand side of the predicate. | |
const SCEV * | getRHS () const |
Returns the right hand side of the predicate. | |
Public Member Functions inherited from llvm::SCEVPredicate | |
LLVM_ABI | SCEVPredicate (const FoldingSetNodeIDRef ID, SCEVPredicateKind Kind) |
SCEV predicates. | |
SCEVPredicateKind | getKind () const |
virtual unsigned | getComplexity () const |
Returns the estimated complexity of this predicate. | |
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: |
Additional Inherited Members | |
Public Types inherited from llvm::SCEVPredicate | |
enum | SCEVPredicateKind { P_Union , P_Compare , 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 the expression LHS Pred RHS evaluates to true, and this can be checked at run-time.
Definition at line 278 of file ScalarEvolution.h.
SCEVComparePredicate::SCEVComparePredicate | ( | const FoldingSetNodeIDRef | ID, |
const ICmpInst::Predicate | Pred, | ||
const SCEV * | LHS, | ||
const SCEV * | RHS ) |
Definition at line 15049 of file ScalarEvolution.cpp.
References assert(), llvm::SCEVPredicate::P_Compare, and llvm::SCEVPredicate::SCEVPredicate().
|
inlinestatic |
Methods for support type inquiry through isa, cast, and dyn_cast:
Definition at line 303 of file ScalarEvolution.h.
References P, llvm::SCEVPredicate::P_Compare, and llvm::SCEVPredicate::SCEVPredicate().
Returns the left hand side of the predicate.
Definition at line 297 of file ScalarEvolution.h.
|
inline |
Definition at line 294 of file ScalarEvolution.h.
Returns the right hand side of the predicate.
Definition at line 300 of file ScalarEvolution.h.
|
overridevirtual |
Implementation of the SCEVPredicate interface.
Implements llvm::SCEVPredicate.
Definition at line 15057 of file ScalarEvolution.cpp.
References llvm::dyn_cast(), llvm::CmpInst::ICMP_EQ, N, and llvm::SCEVPredicate::SCEVPredicate().
|
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 15070 of file ScalarEvolution.cpp.
|
overridevirtual |
Prints a textual representation of this predicate with an indentation of Depth
.
Implements llvm::SCEVPredicate.
Definition at line 15072 of file ScalarEvolution.cpp.
References llvm::Depth, llvm::CmpInst::ICMP_EQ, and llvm::raw_ostream::indent().