LLVM  3.7.0
Public Member Functions | Static Public Member Functions | Friends | List of all members
llvm::SCEVUnknown Class Reference

SCEVUnknown - This means that we are dealing with an entirely unknown SCEV value, and only represent it as its LLVM Value. More...

#include <ScalarEvolutionExpressions.h>

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

Public Member Functions

ValuegetValue () const
 
bool isSizeOf (Type *&AllocTy) const
 isSizeOf, isAlignOf, isOffsetOf - Test whether this is a special constant representing a type size, alignment, or field offset in a target-independent manner, and hasn't happened to have been folded with other operations into something unrecognizable. More...
 
bool isAlignOf (Type *&AllocTy) const
 
bool isOffsetOf (Type *&STy, Constant *&FieldNo) const
 
TypegetType () const
 
- Public Member Functions inherited from llvm::SCEV
 SCEV (const FoldingSetNodeIDRef ID, unsigned SCEVTy)
 
unsigned getSCEVType () const
 
TypegetType () const
 getType - Return the LLVM type of this SCEV expression. More...
 
bool isZero () const
 isZero - Return true if the expression is a constant zero. More...
 
bool isOne () const
 isOne - Return true if the expression is a constant one. More...
 
bool isAllOnesValue () const
 isAllOnesValue - Return true if the expression is a constant all-ones value. More...
 
bool isNonConstantNegative () const
 isNonConstantNegative - Return true if the specified scev is negated, but not a constant. More...
 
void print (raw_ostream &OS) const
 print - Print out the internal representation of this scalar to the specified stream. More...
 
void dump () const
 dump - This method is used for debugging. More...
 
- Public Member Functions inherited from llvm::FoldingSetImpl::Node
 Node ()
 
void * getNextInBucket () const
 
void SetNextInBucket (void *N)
 

Static Public Member Functions

static bool classof (const SCEV *S)
 Methods for support type inquiry through isa, cast, and dyn_cast: More...
 

Friends

class ScalarEvolution
 

Additional Inherited Members

- Public Types inherited from llvm::SCEV
enum  NoWrapFlags {
  FlagAnyWrap = 0, FlagNW = (1 << 0), FlagNUW = (1 << 1), FlagNSW = (1 << 2),
  NoWrapMask = (1 << 3) -1
}
 NoWrapFlags are bitfield indices into SubclassData. More...
 
- Protected Attributes inherited from llvm::SCEV
unsigned short SubclassData
 SubclassData - This field is initialized to zero and may be used in subclasses to store miscellaneous information. More...
 

Detailed Description

SCEVUnknown - This means that we are dealing with an entirely unknown SCEV value, and only represent it as its LLVM Value.

This is the "bottom" value for the analysis.

Definition at line 407 of file ScalarEvolutionExpressions.h.

Member Function Documentation

static bool llvm::SCEVUnknown::classof ( const SCEV S)
inlinestatic

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

Definition at line 443 of file ScalarEvolutionExpressions.h.

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

Type* llvm::SCEVUnknown::getType ( ) const
inline
Value* llvm::SCEVUnknown::getValue ( ) const
inline
bool SCEVUnknown::isAlignOf ( Type *&  AllocTy) const

Definition at line 406 of file ScalarEvolution.cpp.

References getValue().

Referenced by llvm::SCEV::print().

bool SCEVUnknown::isOffsetOf ( Type *&  STy,
Constant *&  FieldNo 
) const

Definition at line 431 of file ScalarEvolution.cpp.

References getValue(), llvm::Type::isArrayTy(), and llvm::Type::isStructTy().

Referenced by llvm::SCEV::print().

bool SCEVUnknown::isSizeOf ( Type *&  AllocTy) const

isSizeOf, isAlignOf, isOffsetOf - Test whether this is a special constant representing a type size, alignment, or field offset in a target-independent manner, and hasn't happened to have been folded with other operations into something unrecognizable.

This is mainly only useful for pretty-printing and other situations where it isn't absolutely required for these to succeed.

Definition at line 389 of file ScalarEvolution.cpp.

References getValue().

Referenced by llvm::SCEV::print().

Friends And Related Function Documentation

friend class ScalarEvolution
friend

Definition at line 408 of file ScalarEvolutionExpressions.h.


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