LLVM API Documentation

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

llvm::SCEVUnknown Class Reference

#include <ScalarEvolutionExpressions.h>

Inheritance diagram for llvm::SCEVUnknown:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

ValuegetValue () const
virtual bool isLoopInvariant (const Loop *L) const
virtual bool hasComputableLoopEvolution (const Loop *QL) const
virtual const TypegetType () const
virtual void print (std::ostream &OS) const

Static Public Member Functions

static SCEVHandle get (Value *V)
static SCEVHandle getIntegerSCEV (int Val, const Type *Ty)
static bool classof (const SCEVUnknown *S)
 Methods for support type inquiry through isa, cast, and dyn_cast:.
static bool classof (const SCEV *S)

Protected Member Functions

 ~SCEVUnknown ()

Detailed Description

SCEVUnknown - This means that we are dealing with an entirely unknown SCEV value, and only represent it as it's LLVM Value. This is the "bottom" value for the analysis.

Definition at line 401 of file ScalarEvolutionExpressions.h.


Constructor & Destructor Documentation

SCEVUnknown::~SCEVUnknown  )  [protected]
 

Definition at line 312 of file ScalarEvolution.cpp.


Member Function Documentation

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

Definition at line 429 of file ScalarEvolutionExpressions.h.

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

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

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

Definition at line 428 of file ScalarEvolutionExpressions.h.

SCEVHandle SCEVUnknown::get Value V  )  [static]
 

get method - For SCEVUnknown, this just gets and returns a new SCEVUnknown.

Definition at line 1007 of file ScalarEvolution.cpp.

References llvm::SCEVConstant::get().

Referenced by llvm::SCEVUDivExpr::get(), llvm::SCEVZeroExtendExpr::get(), llvm::SCEVTruncateExpr::get(), getIntegerSCEV(), getNegativeSCEV(), llvm::SCEVAddRecExpr::getNumIterationsInRange(), and PartialFact().

SCEVHandle SCEVUnknown::getIntegerSCEV int  Val,
const Type Ty
[static]
 

getIntegerSCEV - Given an integer or FP type, create a constant for the specified signed integer value and return a SCEV for the constant.

Definition at line 397 of file ScalarEvolution.cpp.

References C, get(), llvm::ConstantSInt::get(), llvm::ConstantFP::get(), llvm::ConstantExpr::getCast(), llvm::Constant::getNullValue(), llvm::Type::getSignedVersion(), llvm::Type::isFloatingPoint(), and llvm::Type::isSigned().

Referenced by llvm::SCEVAddRecExpr::evaluateAtIteration(), llvm::SCEVAddExpr::get(), getNegativeSCEV(), llvm::SCEVAddRecExpr::getNumIterationsInRange(), and PartialFact().

const Type * SCEVUnknown::getType  )  const [virtual]
 

getType - Return the LLVM type of this SCEV expression.

Implements llvm::SCEV.

Definition at line 322 of file ScalarEvolution.cpp.

References llvm::Value::getType().

Value* llvm::SCEVUnknown::getValue  )  const [inline]
 

Definition at line 416 of file ScalarEvolutionExpressions.h.

virtual bool llvm::SCEVUnknown::hasComputableLoopEvolution const Loop QL  )  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 419 of file ScalarEvolutionExpressions.h.

bool SCEVUnknown::isLoopInvariant const Loop L  )  const [virtual]
 

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

Implements llvm::SCEV.

Definition at line 314 of file ScalarEvolution.cpp.

References llvm::Loop::contains(), and I.

void SCEVUnknown::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 326 of file ScalarEvolution.cpp.

References llvm::WriteAsOperand().


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