LLVM API Documentation
#include <TargetFrameInfo.h>
Inheritance diagram for llvm::TargetFrameInfo:
Public Types | |
StackGrowsUp | |
StackGrowsDown | |
enum | StackDirection { StackGrowsUp, StackGrowsDown } |
Public Member Functions | |
TargetFrameInfo (StackDirection D, unsigned StackAl, int LAO) | |
virtual | ~TargetFrameInfo () |
StackDirection | getStackGrowthDirection () const |
unsigned | getStackAlignment () const |
int | getOffsetOfLocalArea () const |
virtual const std::pair< unsigned, int > * | getCalleeSaveSpillSlots (unsigned &NumEntries) const |
virtual int | adjustAlignment (int unalignedOffset, bool growUp, unsigned align) const |
virtual int | getIncomingArgOffset (MachineFunction &mcInfo, unsigned argNum) const |
virtual int | getOutgoingArgOffset (MachineFunction &mcInfo, unsigned argNum) const |
virtual int | getFirstAutomaticVarOffset (MachineFunction &mcInfo, bool &growUp) const |
virtual int | getRegSpillAreaOffset (MachineFunction &mcInfo, bool &growUp) const |
virtual int | getTmpAreaOffset (MachineFunction &mcInfo, bool &growUp) const |
virtual int | getDynamicAreaOffset (MachineFunction &mcInfo, bool &growUp) const |
The offset to the local area is the offset from the stack pointer on function entry to the first location where function data (local variables, spill locations) can be stored.
Definition at line 30 of file TargetFrameInfo.h.
llvm::TargetFrameInfo::TargetFrameInfo | ( | StackDirection | D, | |
unsigned | StackAl, | |||
int | LAO | |||
) | [inline] |
Definition at line 41 of file TargetFrameInfo.h.
TargetFrameInfo::~TargetFrameInfo | ( | ) | [virtual] |
Definition at line 19 of file TargetFrameInfo.cpp.
int TargetFrameInfo::adjustAlignment | ( | int | unalignedOffset, | |
bool | growUp, | |||
unsigned | align | |||
) | const [virtual] |
Definition at line 30 of file TargetFrameInfo.cpp.
References abort().
Referenced by llvm::SparcV9FunctionInfo::allocateSpilledValue(), llvm::SparcV9FunctionInfo::computeOffsetforLocalVar(), and llvm::SparcV9FunctionInfo::pushTempValue().
virtual const std::pair<unsigned, int>* llvm::TargetFrameInfo::getCalleeSaveSpillSlots | ( | unsigned & | NumEntries | ) | const [inline, virtual] |
getCalleeSaveSpillSlots - This method returns a pointer to an array of pairs, that contains an entry for each callee save register that must be spilled to a particular stack location if it is spilled.
Each entry in this array contains a <register,offset> pair, indicating the fixed offset from the incoming stack pointer that each register should be spilled at. If a register is not listed here, the code generator is allowed to spill it anywhere it chooses.
Reimplemented in llvm::PPCFrameInfo.
Definition at line 74 of file TargetFrameInfo.h.
int TargetFrameInfo::getDynamicAreaOffset | ( | MachineFunction & | mcInfo, | |
bool & | growUp | |||
) | const [virtual] |
Reimplemented in llvm::SparcV9FrameInfo.
Definition at line 76 of file TargetFrameInfo.cpp.
References abort().
int TargetFrameInfo::getFirstAutomaticVarOffset | ( | MachineFunction & | mcInfo, | |
bool & | growUp | |||
) | const [virtual] |
Reimplemented in llvm::SparcV9FrameInfo.
Definition at line 56 of file TargetFrameInfo.cpp.
References abort().
Referenced by llvm::SparcV9FunctionInfo::computeOffsetforLocalVar().
int TargetFrameInfo::getIncomingArgOffset | ( | MachineFunction & | mcInfo, | |
unsigned | argNum | |||
) | const [virtual] |
Reimplemented in llvm::SparcV9FrameInfo.
Definition at line 42 of file TargetFrameInfo.cpp.
References abort().
Referenced by llvm::SparcV9RegInfo::colorMethodArgs().
int llvm::TargetFrameInfo::getOffsetOfLocalArea | ( | ) | const [inline] |
getOffsetOfLocalArea - This method returns the offset of the local area from the stack pointer on entrance to a function.
Definition at line 62 of file TargetFrameInfo.h.
Referenced by llvm::MachineFrameInfo::print().
int TargetFrameInfo::getOutgoingArgOffset | ( | MachineFunction & | mcInfo, | |
unsigned | argNum | |||
) | const [virtual] |
Reimplemented in llvm::SparcV9FrameInfo.
Definition at line 49 of file TargetFrameInfo.cpp.
References abort().
int TargetFrameInfo::getRegSpillAreaOffset | ( | MachineFunction & | mcInfo, | |
bool & | growUp | |||
) | const [virtual] |
Reimplemented in llvm::SparcV9FrameInfo.
Definition at line 63 of file TargetFrameInfo.cpp.
References abort().
Referenced by llvm::SparcV9FunctionInfo::allocateSpilledValue().
unsigned llvm::TargetFrameInfo::getStackAlignment | ( | ) | const [inline] |
getStackAlignment - This method returns the number of bytes that the stack pointer must be aligned to. Typically, this is the largest alignment for any data object in the target.
Definition at line 57 of file TargetFrameInfo.h.
Referenced by llvm::X86RegisterInfo::eliminateCallFramePseudoInstr(), llvm::PPCRegisterInfo::eliminateCallFramePseudoInstr(), llvm::IA64RegisterInfo::eliminateCallFramePseudoInstr(), llvm::AlphaRegisterInfo::eliminateCallFramePseudoInstr(), llvm::PPCRegisterInfo::emitEpilogue(), llvm::X86RegisterInfo::emitPrologue(), llvm::PPCRegisterInfo::emitPrologue(), llvm::IA64RegisterInfo::emitPrologue(), llvm::AlphaRegisterInfo::emitPrologue(), hasFP(), and llvm::SelectionDAGLowering::visitAlloca().
StackDirection llvm::TargetFrameInfo::getStackGrowthDirection | ( | ) | const [inline] |
getStackGrowthDirection - Return the direction the stack grows
Definition at line 51 of file TargetFrameInfo.h.
int TargetFrameInfo::getTmpAreaOffset | ( | MachineFunction & | mcInfo, | |
bool & | growUp | |||
) | const [virtual] |
Reimplemented in llvm::SparcV9FrameInfo.
Definition at line 70 of file TargetFrameInfo.cpp.
References abort().
Referenced by llvm::SparcV9FunctionInfo::pushTempValue().