class SCEVPredicate
Declaration
class SCEVPredicate : public Node { /* full declaration omitted */ };
Description
This class represents an assumption made using SCEV expressions which can be checked at run-time.
Declared at: llvm/include/llvm/Analysis/ScalarEvolution.h:198
Inherits from: FoldingSetBase::Node
Member Variables
- protected llvm::SCEVPredicate::SCEVPredicateKind Kind
Method Overview
- protected SCEVPredicate(const llvm::SCEVPredicate &)
- public SCEVPredicate(const llvm::FoldingSetNodeIDRef ID, llvm::SCEVPredicate::SCEVPredicateKind Kind)
- public virtual unsigned int getComplexity() const
- public virtual const llvm::SCEV * getExpr() const
- public llvm::SCEVPredicate::SCEVPredicateKind getKind() const
- public virtual bool implies(const llvm::SCEVPredicate * N) const
- public virtual bool isAlwaysTrue() const
- public virtual void print(llvm::raw_ostream & OS, unsigned int Depth = 0) const
- protected ~SCEVPredicate()
Inherited from FoldingSetBase::Node:
Methods
¶SCEVPredicate(const llvm::SCEVPredicate&)
SCEVPredicate(const llvm::SCEVPredicate&)
Declared at: llvm/include/llvm/Analysis/ScalarEvolution.h:211
Parameters
- const llvm::SCEVPredicate&
¶SCEVPredicate(
const llvm::FoldingSetNodeIDRef ID,
llvm::SCEVPredicate::SCEVPredicateKind Kind)
SCEVPredicate(
const llvm::FoldingSetNodeIDRef ID,
llvm::SCEVPredicate::SCEVPredicateKind Kind)
Declared at: llvm/include/llvm/Analysis/ScalarEvolution.h:215
Parameters
- const llvm::FoldingSetNodeIDRef ID
- llvm::SCEVPredicate::SCEVPredicateKind Kind
¶virtual unsigned int getComplexity() const
virtual unsigned int getComplexity() const
Description
Returns the estimated complexity of this predicate. This is roughly measured in the number of run-time checks required.
Declared at: llvm/include/llvm/Analysis/ScalarEvolution.h:221
¶virtual const llvm::SCEV* getExpr() const
virtual const llvm::SCEV* getExpr() const
Description
Returns the SCEV to which this predicate applies, or nullptr if this is a SCEVUnionPredicate.
Declared at: llvm/include/llvm/Analysis/ScalarEvolution.h:236
¶llvm::SCEVPredicate::SCEVPredicateKind getKind()
const
llvm::SCEVPredicate::SCEVPredicateKind getKind()
const
Declared at: llvm/include/llvm/Analysis/ScalarEvolution.h:217
¶virtual bool implies(
const llvm::SCEVPredicate* N) const
virtual bool implies(
const llvm::SCEVPredicate* N) const
Description
Returns true if this predicate implies \p N.
Declared at: llvm/include/llvm/Analysis/ScalarEvolution.h:228
Parameters
- const llvm::SCEVPredicate* N
¶virtual bool isAlwaysTrue() const
virtual bool isAlwaysTrue() const
Description
Returns true if the predicate is always true. This means that no assumptions were made and nothing needs to be checked at run-time.
Declared at: llvm/include/llvm/Analysis/ScalarEvolution.h:225
¶virtual void print(llvm::raw_ostream& OS,
unsigned int Depth = 0) const
virtual void print(llvm::raw_ostream& OS,
unsigned int Depth = 0) const
Description
Prints a textual representation of this predicate with an indentation of\p Depth.
Declared at: llvm/include/llvm/Analysis/ScalarEvolution.h:232
Parameters
- llvm::raw_ostream& OS
- unsigned int Depth = 0
¶~SCEVPredicate()
~SCEVPredicate()
Declared at: llvm/include/llvm/Analysis/ScalarEvolution.h:210