LLVM API Documentation
#include <PseudoSourceValue.h>
Public Member Functions | |
PseudoSourceValue (bool isFixed=false) | |
virtual | ~PseudoSourceValue () |
virtual bool | isConstant (const MachineFrameInfo *) const |
virtual bool | isAliased (const MachineFrameInfo *) const |
virtual bool | mayAlias (const MachineFrameInfo *) const |
Static Public Member Functions | |
static const PseudoSourceValue * | getFixedStack (int FI) |
static const PseudoSourceValue * | getStack () |
static const PseudoSourceValue * | getGOT () |
static const PseudoSourceValue * | getConstantPool () |
static const PseudoSourceValue * | getJumpTable () |
Public Attributes | |
bool | isFixed |
isFixed - Whether this is a FixedStackPseudoSourceValue. | |
Friends | |
raw_ostream & | llvm::operator<< (raw_ostream &OS, const MachineMemOperand &MMO) |
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 30 of file PseudoSourceValue.h.
PseudoSourceValue::PseudoSourceValue | ( | bool | isFixed = false | ) | [explicit] |
Definition at line 61 of file PseudoSourceValue.cpp.
PseudoSourceValue::~PseudoSourceValue | ( | ) | [virtual] |
Definition at line 63 of file PseudoSourceValue.cpp.
const PseudoSourceValue * PseudoSourceValue::getConstantPool | ( | ) | [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().
const PseudoSourceValue * PseudoSourceValue::getFixedStack | ( | int | FI | ) | [static] |
A pseudo source value referencing a fixed stack frame entry, e.g., a spill slot.
Definition at line 69 of file PseudoSourceValue.cpp.
Referenced by llvm::addFrameReference(), llvm::HexagonInstrInfo::loadRegFromStackSlot(), llvm::AArch64InstrInfo::loadRegFromStackSlot(), llvm::HexagonInstrInfo::storeRegToStackSlot(), and llvm::AArch64InstrInfo::storeRegToStackSlot().
const PseudoSourceValue * PseudoSourceValue::getGOT | ( | ) | [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().
const PseudoSourceValue * PseudoSourceValue::getJumpTable | ( | ) | [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().
const PseudoSourceValue * PseudoSourceValue::getStack | ( | ) | [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().
bool PseudoSourceValue::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 in llvm::FixedStackPseudoSourceValue, and llvm::MipsCallEntry.
Definition at line 88 of file PseudoSourceValue.cpp.
References getConstantPool(), getGOT(), getJumpTable(), getStack(), and llvm_unreachable.
bool PseudoSourceValue::isConstant | ( | const MachineFrameInfo * | ) | const [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 78 of file PseudoSourceValue.cpp.
References getConstantPool(), getGOT(), getJumpTable(), getStack(), and llvm_unreachable.
bool PseudoSourceValue::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 in llvm::FixedStackPseudoSourceValue, and llvm::MipsCallEntry.
Definition at line 97 of file PseudoSourceValue.cpp.
References getConstantPool(), getGOT(), and getJumpTable().
raw_ostream& llvm::operator<< | ( | raw_ostream & | OS, |
const MachineMemOperand & | MMO | ||
) | [friend] |
isFixed - Whether this is a FixedStackPseudoSourceValue.
Definition at line 42 of file PseudoSourceValue.h.
Referenced by llvm::FixedStackPseudoSourceValue::classof().