class SCEVEqualPredicate

Declaration

class SCEVEqualPredicate : public SCEVPredicate { /* full declaration omitted */ };

Description

This class represents an assumption that two SCEV expressions are equal, and this can be checked at run-time.

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

Inherits from: SCEVPredicate

Member Variables

Inherited from SCEVPredicate:

protected Kind

Method Overview

  • public SCEVEqualPredicate(const llvm::FoldingSetNodeIDRef ID, const llvm::SCEV * LHS, const llvm::SCEV * RHS)
  • public static bool classof(const llvm::SCEVPredicate * P)
  • public const llvm::SCEV * getExpr() const
  • public const llvm::SCEV * getLHS() const
  • public const llvm::SCEV * getRHS() const
  • public bool implies(const llvm::SCEVPredicate * N) const
  • public bool isAlwaysTrue() const
  • public void print(llvm::raw_ostream & OS, unsigned int Depth = 0) const

Inherited from SCEVPredicate:

Inherited from FoldingSetBase::Node:

Methods

SCEVEqualPredicate(
    const llvm::FoldingSetNodeIDRef ID,
    const llvm::SCEV* LHS,
    const llvm::SCEV* RHS)

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

Parameters

const llvm::FoldingSetNodeIDRef ID
const llvm::SCEV* LHS
const llvm::SCEV* RHS

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:287

Parameters

const llvm::SCEVPredicate* P

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:278

const llvm::SCEV* getLHS() const

Description

Returns the left hand side of the equality.

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

const llvm::SCEV* getRHS() const

Description

Returns the right hand side of the equality.

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

bool implies(const llvm::SCEVPredicate* N) const

Description

Implementation of the SCEVPredicate interface

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

Parameters

const llvm::SCEVPredicate* N

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:277

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:276

Parameters

llvm::raw_ostream& OS
unsigned int Depth = 0