LLVM: llvm::SCEVUnionPredicate Class Reference (original) (raw)
This class represents a composition of other SCEV predicates, and is the class that most clients will interact with. More...
#include "[llvm/Analysis/ScalarEvolution.h](ScalarEvolution%5F8h%5Fsource.html)"
| Public Member Functions | |
|---|---|
| SCEVUnionPredicate (ArrayRef< const SCEVPredicate * > Preds, ScalarEvolution &SE) | |
| Union predicates don't get cached so create a dummy set ID for it. | |
| ArrayRef< const SCEVPredicate * > | getPredicates () const |
| SCEVUnionPredicate | getUnionWith (const SCEVPredicate *N, ScalarEvolution &SE) const |
| Returns a new SCEVUnionPredicate that is the union of this predicate and the given predicate N. | |
| bool | isAlwaysTrue () const override |
| Implementation of the SCEVPredicate interface. | |
| bool | implies (const SCEVPredicate *N, ScalarEvolution &SE) const override |
| Returns true if this predicate implies N. | |
| void | print (raw_ostream &OS, unsigned Depth) const override |
| Prints a textual representation of this predicate with an indentation of Depth. | |
| unsigned | getComplexity () const override |
| We estimate the complexity of a union predicate as the size number of predicates in the union. | |
| Public Member Functions inherited from llvm::SCEVPredicate | |
| LLVM_ABI | SCEVPredicate (const FoldingSetNodeIDRef ID, SCEVPredicateKind Kind) |
| SCEV predicates. | |
| SCEVPredicateKind | getKind () const |
| 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 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 add function is sound.
Definition at line 413 of file ScalarEvolution.h.
◆ classof()
◆ getComplexity()
| unsigned llvm::SCEVUnionPredicate::getComplexity ( ) const | inlineoverridevirtual |
|---|
◆ getPredicates()
◆ getUnionWith()
◆ implies()
◆ isAlwaysTrue()
| bool SCEVUnionPredicate::isAlwaysTrue ( ) const | overridevirtual |
|---|
◆ print()
The documentation for this class was generated from the following files:
- include/llvm/Analysis/ScalarEvolution.h
- lib/Analysis/ScalarEvolution.cpp