LLVM: llvm::SCEVPredicate Class Reference (original) (raw)

This class represents an assumption made using SCEV expressions which can be checked at run-time. More...

#include "[llvm/Analysis/ScalarEvolution.h](ScalarEvolution%5F8h%5Fsource.html)"

Public Types
enum SCEVPredicateKind { P_Union, P_Compare, P_Wrap }
Public Member Functions
LLVM_ABI SCEVPredicate (const FoldingSetNodeIDRef ID, SCEVPredicateKind Kind)
SCEV predicates.
SCEVPredicateKind getKind () const
virtual unsigned getComplexity () const
Returns the estimated complexity of this predicate.
virtual bool isAlwaysTrue () const =0
Returns true if the predicate is always true.
virtual bool implies (const SCEVPredicate *N, ScalarEvolution &SE) const =0
Returns true if this predicate implies N.
virtual void print (raw_ostream &OS, unsigned Depth=0) const =0
Prints a textual representation of this predicate with an indentation of Depth.
Public Member Functions inherited from llvm::FoldingSetBase::Node
Node ()=default
void * getNextInBucket () const
void SetNextInBucket (void *N)
Protected Attributes
SCEVPredicateKind Kind

This class represents an assumption made using SCEV expressions which can be checked at run-time.

Definition at line 215 of file ScalarEvolution.h.

SCEVPredicateKind

llvm::SCEVPredicate::~SCEVPredicate ( ) protecteddefault

SCEVPredicate() [1/2]

References SCEVPredicate().

Referenced by llvm::SCEVComparePredicate::classof(), llvm::SCEVUnionPredicate::classof(), llvm::SCEVWrapPredicate::classof(), llvm::SCEVUnionPredicate::getUnionWith(), llvm::SCEVComparePredicate::implies(), implies(), llvm::SCEVUnionPredicate::implies(), llvm::SCEVWrapPredicate::implies(), llvm::SCEVUnionPredicate::isAlwaysTrue(), operator=(), llvm::SCEVComparePredicate::SCEVComparePredicate(), SCEVPredicate(), llvm::SCEVUnionPredicate::SCEVUnionPredicate(), and llvm::SCEVWrapPredicate::SCEVWrapPredicate().

SCEVPredicate() [2/2]

getComplexity()

virtual unsigned llvm::SCEVPredicate::getComplexity ( ) const inlinevirtual

getKind()

SCEVPredicateKind llvm::SCEVPredicate::getKind ( ) const inline

implies()

isAlwaysTrue()

virtual bool llvm::SCEVPredicate::isAlwaysTrue ( ) const pure virtual

operator=()

print()

FoldingSetTrait< SCEVPredicate >

Kind

SCEVPredicateKind llvm::SCEVPredicate::Kind protected

The documentation for this class was generated from the following files: