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:215
Inherits from: FoldingSetBase::Node
Member Variables
- private llvm::FoldingSetNodeIDRef FastID
- A reference to an Interned FoldingSetNodeID for this node. The ScalarEvolution's BumpPtrAllocator holds the data.
- 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 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:228
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:232
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:238
¶llvm::SCEVPredicate::SCEVPredicateKind getKind()
const
llvm::SCEVPredicate::SCEVPredicateKind getKind()
const
Declared at: llvm/include/llvm/Analysis/ScalarEvolution.h:234
¶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:245
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:242
¶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:249
Parameters
- llvm::raw_ostream& OS
- unsigned int Depth = 0
¶~SCEVPredicate()
~SCEVPredicate()
Declared at: llvm/include/llvm/Analysis/ScalarEvolution.h:227