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&)

Declared at: llvm/include/llvm/Analysis/ScalarEvolution.h:211

Parameters

const llvm::SCEVPredicate&

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

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

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

Declared at: llvm/include/llvm/Analysis/ScalarEvolution.h:217

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

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

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()

Declared at: llvm/include/llvm/Analysis/ScalarEvolution.h:210