llvm::SCEVUnionPredicate

Logical AND of a set of SCEV predicates.

Synopsis

Declared in <llvm/Analysis/ScalarEvolution.h>

class SCEVUnionPredicate final
    : public SCEVPredicate

Description

This is equivalent to a logical "AND" of all the predicates in the union. This is the class that most clients will interact with.

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.

Base Classes

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

Enums

NameDescription
SCEVPredicateKind Kind of SCEVPredicate subclass.

Member Functions

NameDescription
SCEVUnionPredicate [constructor]Construct a union of Preds using SE.
getComplexity [virtual]We estimate the complexity of a union predicate as the size number of predicates in the union.
getKind Return the kind of this predicate.
getPredicates Return the predicates in this union.
getUnionWith Returns a new SCEVUnionPredicate that is the union of this predicate and the given predicate N.
implies [virtual]Return true if this union implies N.
isAlwaysTrue [virtual]Return true if every predicate in this union is always true.
print print overloads

Static Member Functions

NameDescription
classof Methods for support type inquiry through isa, cast, and dyn_cast:

Protected Member Functions

NameDescription
operator= Copy-assign this predicate.

Protected Data Members

NameDescription
Kind Discriminator for the predicate subclass.