LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Public Member Functions | List of all members
llvm::FixedStackPseudoSourceValue Class Reference

#include <PseudoSourceValue.h>

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

Public Member Functions

 FixedStackPseudoSourceValue (int fi)
 
virtual bool isConstant (const MachineFrameInfo *MFI) const
 
virtual bool isAliased (const MachineFrameInfo *MFI) const
 
virtual bool mayAlias (const MachineFrameInfo *) const
 
virtual void printCustom (raw_ostream &OS) const
 
int getFrameIndex () const
 
- Public Member Functions inherited from llvm::PseudoSourceValue
 PseudoSourceValue (enum ValueTy Subclass=PseudoSourceValueVal)
 
- Public Member Functions inherited from llvm::Value
virtual ~Value ()
 
void dump () const
 dump - Support for debugging, callable in GDB: V->dump() More...
 
void print (raw_ostream &O, AssemblyAnnotationWriter *AAW=0) const
 
TypegetType () const
 
LLVMContextgetContext () const
 All values hold a context through their type. More...
 
bool hasName () const
 
ValueNamegetValueName () const
 
void setValueName (ValueName *VN)
 
StringRef getName () const
 
void setName (const Twine &Name)
 
void takeName (Value *V)
 
void replaceAllUsesWith (Value *V)
 
bool use_empty () const
 
use_iterator use_begin ()
 
const_use_iterator use_begin () const
 
use_iterator use_end ()
 
const_use_iterator use_end () const
 
Useruse_back ()
 
const Useruse_back () const
 
bool hasOneUse () const
 
bool hasNUses (unsigned N) const
 
bool hasNUsesOrMore (unsigned N) const
 
bool isUsedInBasicBlock (const BasicBlock *BB) const
 
unsigned getNumUses () const
 
void addUse (Use &U)
 
unsigned getValueID () const
 
unsigned getRawSubclassOptionalData () const
 
void clearSubclassOptionalData ()
 
bool hasSameSubclassOptionalData (const Value *V) const
 
void intersectOptionalDataWith (const Value *V)
 
bool hasValueHandle () const
 
ValuestripPointerCasts ()
 Strips off any unneeded pointer casts, all-zero GEPs and aliases from the specified value, returning the original uncasted value. More...
 
const ValuestripPointerCasts () const
 
ValuestripPointerCastsNoFollowAliases ()
 Strips off any unneeded pointer casts and all-zero GEPs from the specified value, returning the original uncasted value. More...
 
const ValuestripPointerCastsNoFollowAliases () const
 
ValuestripInBoundsConstantOffsets ()
 Strips off unneeded pointer casts and all-constant GEPs from the specified value, returning the original pointer value. More...
 
const ValuestripInBoundsConstantOffsets () const
 
ValuestripAndAccumulateInBoundsConstantOffsets (const DataLayout &DL, APInt &Offset)
 Strips like stripInBoundsConstantOffsets but also accumulates the constant offset stripped. More...
 
const ValuestripAndAccumulateInBoundsConstantOffsets (const DataLayout &DL, APInt &Offset) const
 
ValuestripInBoundsOffsets ()
 Strips off unneeded pointer casts and any in-bounds offsets from the specified value, returning the original pointer value. More...
 
const ValuestripInBoundsOffsets () const
 
bool isDereferenceablePointer () const
 
ValueDoPHITranslation (const BasicBlock *CurBB, const BasicBlock *PredBB)
 
const ValueDoPHITranslation (const BasicBlock *CurBB, const BasicBlock *PredBB) const
 
void mutateType (Type *Ty)
 

Static Public Member Functions

static bool classof (const Value *V)
 
- Static Public Member Functions inherited from llvm::PseudoSourceValue
static bool classof (const Value *V)
 
static const PseudoSourceValuegetFixedStack (int FI)
 
static const PseudoSourceValuegetStack ()
 
static const PseudoSourceValuegetGOT ()
 
static const PseudoSourceValuegetConstantPool ()
 
static const PseudoSourceValuegetJumpTable ()
 

Additional Inherited Members

- Public Types inherited from llvm::Value
enum  ValueTy {
  ArgumentVal, BasicBlockVal, FunctionVal, GlobalAliasVal,
  GlobalVariableVal, UndefValueVal, BlockAddressVal, ConstantExprVal,
  ConstantAggregateZeroVal, ConstantDataArrayVal, ConstantDataVectorVal, ConstantIntVal,
  ConstantFPVal, ConstantArrayVal, ConstantStructVal, ConstantVectorVal,
  ConstantPointerNullVal, MDNodeVal, MDStringVal, InlineAsmVal,
  PseudoSourceValueVal, FixedStackPseudoSourceValueVal, InstructionVal, ConstantFirstVal = FunctionVal,
  ConstantLastVal = ConstantPointerNullVal
}
 
typedef value_use_iterator< Useruse_iterator
 
typedef value_use_iterator
< const User
const_use_iterator
 
- Static Public Attributes inherited from llvm::Value
static const unsigned MaximumAlignment = 1u << 29
 
- Protected Member Functions inherited from llvm::Value
 Value (Type *Ty, unsigned scid)
 
unsigned short getSubclassDataFromValue () const
 
void setValueSubclassData (unsigned short D)
 
- Protected Attributes inherited from llvm::Value
unsigned char SubclassOptionalData: 7
 

Detailed Description

FixedStackPseudoSourceValue - A specialized PseudoSourceValue for holding FixedStack values, which must include a frame index.

Definition at line 83 of file PseudoSourceValue.h.

Constructor & Destructor Documentation

llvm::FixedStackPseudoSourceValue::FixedStackPseudoSourceValue ( int  fi)
inlineexplicit

Definition at line 86 of file PseudoSourceValue.h.

Member Function Documentation

static bool llvm::FixedStackPseudoSourceValue::classof ( const Value V)
inlinestatic

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

Definition at line 92 of file PseudoSourceValue.h.

References llvm::Value::FixedStackPseudoSourceValueVal, and llvm::Value::getValueID().

int llvm::FixedStackPseudoSourceValue::getFrameIndex ( ) const
inline

Definition at line 104 of file PseudoSourceValue.h.

bool FixedStackPseudoSourceValue::isAliased ( const MachineFrameInfo MFI) const
virtual

isAliased - Test whether the memory pointed to by this PseudoSourceValue may also be pointed to by an LLVM IR Value.

Reimplemented from llvm::PseudoSourceValue.

Definition at line 113 of file PseudoSourceValue.cpp.

References llvm::MachineFrameInfo::isFixedObjectIndex(), and llvm::MachineFrameInfo::isSpillSlotObjectIndex().

bool FixedStackPseudoSourceValue::isConstant ( const MachineFrameInfo ) const
virtual

isConstant - Test whether the memory pointed to by this PseudoSourceValue has a constant value.

Reimplemented from llvm::PseudoSourceValue.

Definition at line 109 of file PseudoSourceValue.cpp.

References llvm::MachineFrameInfo::isImmutableObjectIndex().

bool FixedStackPseudoSourceValue::mayAlias ( const MachineFrameInfo MFI) const
virtual

mayAlias - Return true if the memory pointed to by this PseudoSourceValue can ever alias an LLVM IR Value.

Reimplemented from llvm::PseudoSourceValue.

Definition at line 123 of file PseudoSourceValue.cpp.

References llvm::MachineFrameInfo::isSpillSlotObjectIndex().

void FixedStackPseudoSourceValue::printCustom ( raw_ostream O) const
virtual

printCustom - Implement printing for PseudoSourceValue. This is called from Value::print or Value's operator<<.

Reimplemented from llvm::PseudoSourceValue.

Definition at line 130 of file PseudoSourceValue.cpp.


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