class SCEVUnionPredicate
Declaration
class SCEVUnionPredicate : public SCEVPredicate { /* full declaration omitted */ };
Description
This class represents a composition of other SCEV predicates, and is the class that most clients will interact with. This is equivalent to a logical "AND" of all the predicates in the union. NB! Unlike other SCEVPredicate sub-classes this class does not live in the ScalarEvolution::Preds folding set. This is why the \c add function is sound.
Declared at: llvm/include/llvm/Analysis/ScalarEvolution.h:413
Inherits from: SCEVPredicate
Member Variables
- private SmallVector<const llvm::SCEVPredicate*, 16> Preds
- Vector with references to all predicates in this union.
Inherited from SCEVPredicate:
Method Overview
- public SCEVUnionPredicate(ArrayRef<const llvm::SCEVPredicate *> Preds)
- private void add(const llvm::SCEVPredicate * N)
- public static bool classof(const llvm::SCEVPredicate * P)
- public unsigned int getComplexity() const
- public const SmallVectorImpl<const llvm::SCEVPredicate *> & getPredicates() const
- public bool implies(const llvm::SCEVPredicate * N) const
- public bool isAlwaysTrue() const
- public void print(llvm::raw_ostream & OS, unsigned int Depth) const
Inherited from SCEVPredicate:
Inherited from FoldingSetBase::Node:
Methods
¶SCEVUnionPredicate(
ArrayRef<const llvm::SCEVPredicate*> Preds)
SCEVUnionPredicate(
ArrayRef<const llvm::SCEVPredicate*> Preds)
Declared at: llvm/include/llvm/Analysis/ScalarEvolution.h:425
Parameters
- ArrayRef<const llvm::SCEVPredicate*> Preds
¶void add(const llvm::SCEVPredicate* N)
void add(const llvm::SCEVPredicate* N)
Description
Adds a predicate to this union.
Declared at: llvm/include/llvm/Analysis/ScalarEvolution.h:422
Parameters
- const llvm::SCEVPredicate* N
¶static bool classof(const llvm::SCEVPredicate* P)
static bool classof(const llvm::SCEVPredicate* P)
Description
Methods for support type inquiry through isa, cast, and dyn_cast:
Declared at: llvm/include/llvm/Analysis/ScalarEvolution.h:441
Parameters
- const llvm::SCEVPredicate* P
¶unsigned int getComplexity() const
unsigned int getComplexity() const
Description
We estimate the complexity of a union predicate as the size number of predicates in the union.
Declared at: llvm/include/llvm/Analysis/ScalarEvolution.h:438
¶const SmallVectorImpl<const llvm::SCEVPredicate*>&
getPredicates() const
const SmallVectorImpl<const llvm::SCEVPredicate*>&
getPredicates() const
Declared at: llvm/include/llvm/Analysis/ScalarEvolution.h:427
¶bool implies(const llvm::SCEVPredicate* N) const
bool implies(const llvm::SCEVPredicate* N) const
Description
Returns true if this predicate implies \p N.
Declared at: llvm/include/llvm/Analysis/ScalarEvolution.h:433
Parameters
- const llvm::SCEVPredicate* N
¶bool isAlwaysTrue() const
bool isAlwaysTrue() const
Description
Implementation of the SCEVPredicate interface
Declared at: llvm/include/llvm/Analysis/ScalarEvolution.h:432
¶void print(llvm::raw_ostream& OS,
unsigned int Depth) const
void print(llvm::raw_ostream& OS,
unsigned int Depth) const
Description
Prints a textual representation of this predicate with an indentation of\p Depth.
Declared at: llvm/include/llvm/Analysis/ScalarEvolution.h:434
Parameters
- llvm::raw_ostream& OS
- unsigned int Depth