30 std::map<int, const PseudoSourceValue *> FSValues;
32 PSVGlobalsTy() : PSVs() {}
34 for (std::map<int, const PseudoSourceValue *>::iterator
35 I = FSValues.begin(), E = FSValues.end();
I != E; ++
I) {
46 {
return &PSVGlobals->PSVs[0]; }
48 {
return &PSVGlobals->PSVs[1]; }
50 {
return &PSVGlobals->PSVs[2]; }
52 {
return &PSVGlobals->PSVs[3]; }
65 void PseudoSourceValue::printCustom(
raw_ostream &O)
const {
66 O <<
PSVNames[
this - PSVGlobals->PSVs];
70 PSVGlobalsTy &PG = *PSVGlobals;
123 OS <<
"FixedStack" << FI;
virtual ~PseudoSourceValue()
static const PseudoSourceValue * getConstantPool()
A pseudo source value referencing the constant pool.
static const PseudoSourceValue * getJumpTable()
A pseudo source value referencing a jump table.
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
The MachineFrameInfo class represents an abstract stack frame until prolog/epilog code is inserted...
static const PseudoSourceValue * getFixedStack(int FI)
A pseudo source value referencing a fixed stack frame entry, e.g., a spill slot.
bool isImmutableObjectIndex(int ObjectIdx) const
isImmutableObjectIndex - Returns true if the specified index corresponds to an immutable object...
bool isConstant(const MachineFrameInfo *MFI) const override
isConstant - Test whether the memory pointed to by this PseudoSourceValue has a constant value...
bool mayAlias(const MachineFrameInfo *) const override
mayAlias - Return true if the memory pointed to by this PseudoSourceValue can ever alias an LLVM IR V...
bool isSpillSlotObjectIndex(int ObjectIdx) const
Returns true if the specified index corresponds to a spill slot.
virtual bool mayAlias(const MachineFrameInfo *) const
mayAlias - Return true if the memory pointed to by this PseudoSourceValue can ever alias an LLVM IR V...
bool isAliasedObjectIndex(int ObjectIdx) const
Returns true if the specified index corresponds to an object that might be pointed to by an LLVM IR v...
virtual bool isConstant(const MachineFrameInfo *) const
isConstant - Test whether the memory pointed to by this PseudoSourceValue has a constant value...
static const PseudoSourceValue * getGOT()
A pseudo source value referencing the global offset table (or something the like).
static const PseudoSourceValue * getStack()
A pseudo source value referencing the area below the stack frame of a function, e.g., the argument space.
PseudoSourceValue - Special value supplied for machine level alias analysis.
static const char *const PSVNames[]
bool isAliased(const MachineFrameInfo *MFI) const override
isAliased - Test whether the memory pointed to by this PseudoSourceValue may also be pointed to by an...
void printCustom(raw_ostream &OS) const override
printCustom - Implement printing for PseudoSourceValue.
This class implements an extremely fast bulk output stream that can only output to a stream...
ManagedStatic - This transparently changes the behavior of global statics to be lazily constructed on...
FixedStackPseudoSourceValue - A specialized PseudoSourceValue for holding FixedStack values...
PseudoSourceValue(bool isFixed=false)
virtual bool isAliased(const MachineFrameInfo *) const
isAliased - Test whether the memory pointed to by this PseudoSourceValue may also be pointed to by an...