class SCEVComparePredicate

Declaration

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

Description

This class represents an assumption that the expression LHS Pred RHS evaluates to true, and this can be checked at run-time.

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

Inherits from: SCEVPredicate

Member Variables

private const ICmpInst::Predicate Pred
We assume that LHS Pred RHS is true.
private const llvm::SCEV* LHS
private const llvm::SCEV* RHS

Inherited from SCEVPredicate:

protected Kind

Method Overview

  • public SCEVComparePredicate(const llvm::FoldingSetNodeIDRef ID, const ICmpInst::Predicate Pred, const llvm::SCEV * LHS, const llvm::SCEV * RHS)
  • public static bool classof(const llvm::SCEVPredicate * P)
  • public const llvm::SCEV * getLHS() const
  • public ICmpInst::Predicate getPredicate() 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

SCEVComparePredicate(
    const llvm::FoldingSetNodeIDRef ID,
    const ICmpInst::Predicate Pred,
    const llvm::SCEV* LHS,
    const llvm::SCEV* RHS)

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

Parameters

const llvm::FoldingSetNodeIDRef ID
const ICmpInst::Predicate Pred
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:303

Parameters

const llvm::SCEVPredicate* P

const llvm::SCEV* getLHS() const

Description

Returns the left hand side of the predicate.

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

ICmpInst::Predicate getPredicate() const

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

const llvm::SCEV* getRHS() const

Description

Returns the right hand side of the predicate.

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

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

Description

Implementation of the SCEVPredicate interface

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

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

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

Parameters

llvm::raw_ostream& OS
unsigned int Depth = 0