LLVM API Documentation
#include <PseudoSourceValue.h>
Public Member Functions | |
PseudoSourceValue (enum ValueTy Subclass=PseudoSourceValueVal) | |
virtual bool | isConstant (const MachineFrameInfo *) const |
virtual bool | isAliased (const MachineFrameInfo *) const |
virtual bool | mayAlias (const MachineFrameInfo *) const |
![]() | |
virtual | ~Value () |
void | dump () const |
dump - Support for debugging, callable in GDB: V->dump() More... | |
void | print (raw_ostream &O, AssemblyAnnotationWriter *AAW=0) const |
Type * | getType () const |
LLVMContext & | getContext () const |
All values hold a context through their type. More... | |
bool | hasName () const |
ValueName * | getValueName () 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 |
User * | use_back () |
const User * | use_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 |
Value * | stripPointerCasts () |
Strips off any unneeded pointer casts, all-zero GEPs and aliases from the specified value, returning the original uncasted value. More... | |
const Value * | stripPointerCasts () const |
Value * | stripPointerCastsNoFollowAliases () |
Strips off any unneeded pointer casts and all-zero GEPs from the specified value, returning the original uncasted value. More... | |
const Value * | stripPointerCastsNoFollowAliases () const |
Value * | stripInBoundsConstantOffsets () |
Strips off unneeded pointer casts and all-constant GEPs from the specified value, returning the original pointer value. More... | |
const Value * | stripInBoundsConstantOffsets () const |
Value * | stripAndAccumulateInBoundsConstantOffsets (const DataLayout &DL, APInt &Offset) |
Strips like stripInBoundsConstantOffsets but also accumulates the constant offset stripped. More... | |
const Value * | stripAndAccumulateInBoundsConstantOffsets (const DataLayout &DL, APInt &Offset) const |
Value * | stripInBoundsOffsets () |
Strips off unneeded pointer casts and any in-bounds offsets from the specified value, returning the original pointer value. More... | |
const Value * | stripInBoundsOffsets () const |
bool | isDereferenceablePointer () const |
Value * | DoPHITranslation (const BasicBlock *CurBB, const BasicBlock *PredBB) |
const Value * | DoPHITranslation (const BasicBlock *CurBB, const BasicBlock *PredBB) const |
void | mutateType (Type *Ty) |
Static Public Member Functions | |
static bool | classof (const Value *V) |
static const PseudoSourceValue * | getFixedStack (int FI) |
static const PseudoSourceValue * | getStack () |
static const PseudoSourceValue * | getGOT () |
static const PseudoSourceValue * | getConstantPool () |
static const PseudoSourceValue * | getJumpTable () |
PseudoSourceValue - Special value supplied for machine level alias analysis. It indicates that a memory access references the functions stack frame (e.g., a spill slot), below the stack frame (e.g., argument space), or constant pool.
Definition at line 27 of file PseudoSourceValue.h.
|
explicit |
Definition at line 65 of file PseudoSourceValue.cpp.
classof - Methods for support type inquiry through isa, cast, and dyn_cast:
Definition at line 53 of file PseudoSourceValue.h.
References llvm::Value::FixedStackPseudoSourceValueVal, llvm::Value::getValueID(), and llvm::Value::PseudoSourceValueVal.
|
static |
A pseudo source value referencing the constant pool. Since constant pools are constant, this doesn't need to identify a specific constant pool entry.
Definition at line 51 of file PseudoSourceValue.cpp.
Referenced by isAliased(), isConstant(), and mayAlias().
|
static |
A pseudo source value referencing a fixed stack frame entry, e.g., a spill slot.
Definition at line 73 of file PseudoSourceValue.cpp.
Referenced by llvm::addFrameReference(), llvm::HexagonInstrInfo::loadRegFromStackSlot(), and llvm::HexagonInstrInfo::storeRegToStackSlot().
|
static |
A pseudo source value referencing the global offset table (or something the like).
Definition at line 47 of file PseudoSourceValue.cpp.
Referenced by isAliased(), isConstant(), and mayAlias().
|
static |
A pseudo source value referencing a jump table. Since jump tables are constant, this doesn't need to identify a specific jump table.
Definition at line 49 of file PseudoSourceValue.cpp.
Referenced by isAliased(), isConstant(), and mayAlias().
|
static |
A pseudo source value referencing the area below the stack frame of a function, e.g., the argument space.
Definition at line 45 of file PseudoSourceValue.cpp.
Referenced by isAliased(), and isConstant().
|
virtual |
isAliased - Test whether the memory pointed to by this PseudoSourceValue may also be pointed to by an LLVM IR Value.
Reimplemented in llvm::FixedStackPseudoSourceValue, and llvm::MipsCallEntry.
Definition at line 92 of file PseudoSourceValue.cpp.
References getConstantPool(), getGOT(), getJumpTable(), getStack(), and llvm_unreachable.
|
virtual |
isConstant - Test whether the memory pointed to by this PseudoSourceValue has a constant value.
Reimplemented in llvm::FixedStackPseudoSourceValue, and llvm::MipsCallEntry.
Definition at line 82 of file PseudoSourceValue.cpp.
References getConstantPool(), getGOT(), getJumpTable(), getStack(), and llvm_unreachable.
|
virtual |
mayAlias - Return true if the memory pointed to by this PseudoSourceValue can ever alias an LLVM IR Value.
Reimplemented in llvm::FixedStackPseudoSourceValue, and llvm::MipsCallEntry.
Definition at line 101 of file PseudoSourceValue.cpp.
References getConstantPool(), getGOT(), and getJumpTable().