LLVM API Documentation

llvm::SCEVConstant Class Reference

#include <ScalarEvolutionExpressions.h>

Inheritance diagram for llvm::SCEVConstant:

Inheritance graph
[legend]
Collaboration diagram for llvm::SCEVConstant:

Collaboration graph
[legend]
List of all members.

Public Member Functions

ConstantIntgetValue () const
virtual ConstantRange getValueRange () const
virtual bool isLoopInvariant (const Loop *L) const
virtual bool hasComputableLoopEvolution (const Loop *L) const
virtual const TypegetType () const
SCEVHandle replaceSymbolicValuesWithConcrete (const SCEVHandle &Sym, const SCEVHandle &Conc) const
virtual void print (std::ostream &OS) const

Static Public Member Functions

static SCEVHandle get (ConstantInt *V)
static bool classof (const SCEVConstant *S)
 Methods for support type inquiry through isa, cast, and dyn_cast:.
static bool classof (const SCEV *S)

Detailed Description

SCEVConstant - This class represents a constant integer value.

Definition at line 33 of file ScalarEvolutionExpressions.h.


Member Function Documentation

static bool llvm::SCEVConstant::classof ( const SCEV S  )  [inline, static]

Definition at line 68 of file ScalarEvolutionExpressions.h.

References llvm::SCEV::getSCEVType(), and llvm::scConstant.

static bool llvm::SCEVConstant::classof ( const SCEVConstant S  )  [inline, static]

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

Definition at line 67 of file ScalarEvolutionExpressions.h.

SCEVHandle SCEVConstant::get ( ConstantInt V  )  [static]

get method - This just gets and returns a new SCEVConstant object.

Definition at line 174 of file ScalarEvolution.cpp.

References llvm::ConstantExpr::getCast(), llvm::Value::getType(), llvm::Type::getUnsignedVersion(), llvm::Type::isSigned(), and R.

Referenced by llvm::SCEVUnknown::get(), llvm::SCEVMulExpr::get(), llvm::SCEVAddExpr::get(), and llvm::SCEVAddRecExpr::getNumIterationsInRange().

const Type * SCEVConstant::getType (  )  const [virtual]

getType - Return the LLVM type of this SCEV expression.

Implements llvm::SCEV.

Definition at line 190 of file ScalarEvolution.cpp.

References llvm::Value::getType().

Referenced by llvm::SCEVAddRecExpr::getNumIterationsInRange().

ConstantInt* llvm::SCEVConstant::getValue (  )  const [inline]

Definition at line 43 of file ScalarEvolutionExpressions.h.

Referenced by llvm::SCEVAddRecExpr::getNumIterationsInRange(), and llvm::SCEVExpander::visitConstant().

ConstantRange SCEVConstant::getValueRange (  )  const [virtual]

getValueRange - Return the tightest constant bounds that this value is known to have. This method is only valid on integer SCEV objects.

Reimplemented from llvm::SCEV.

Definition at line 186 of file ScalarEvolution.cpp.

virtual bool llvm::SCEVConstant::hasComputableLoopEvolution ( const Loop L  )  const [inline, virtual]

hasComputableLoopEvolution - Return true if this SCEV changes value in a known way in the specified loop. This property being true implies that the value is variant in the loop AND that we can emit an expression to compute the value of the expression at any particular loop iteration.

Implements llvm::SCEV.

Definition at line 53 of file ScalarEvolutionExpressions.h.

virtual bool llvm::SCEVConstant::isLoopInvariant ( const Loop L  )  const [inline, virtual]

isLoopInvariant - Return true if the value of this SCEV is unchanging in the specified loop.

Implements llvm::SCEV.

Definition at line 49 of file ScalarEvolutionExpressions.h.

void SCEVConstant::print ( std::ostream &  OS  )  const [virtual]

print - Print out the internal representation of this scalar to the specified stream. This should really only be used for debugging purposes.

Implements llvm::SCEV.

Definition at line 192 of file ScalarEvolution.cpp.

References llvm::WriteAsOperand().

SCEVHandle llvm::SCEVConstant::replaceSymbolicValuesWithConcrete ( const SCEVHandle Sym,
const SCEVHandle Conc 
) const [inline, virtual]

replaceSymbolicValuesWithConcrete - If this SCEV internally references the symbolic value "Sym", construct and return a new SCEV that produces the same value, but which uses the concrete value Conc instead of the symbolic value. If this SCEV does not use the symbolic value, it returns itself.

Implements llvm::SCEV.

Definition at line 59 of file ScalarEvolutionExpressions.h.


The documentation for this class was generated from the following files: