LLVM
8.0.1
|
XCoreFunctionInfo - This class is derived from MachineFunction private XCore target-specific information for each MachineFunction. More...
#include "Target/XCore/XCoreMachineFunctionInfo.h"
Public Member Functions | |
XCoreFunctionInfo ()=default | |
XCoreFunctionInfo (MachineFunction &MF) | |
~XCoreFunctionInfo () override=default | |
void | setVarArgsFrameIndex (int off) |
int | getVarArgsFrameIndex () const |
int | createLRSpillSlot (MachineFunction &MF) |
bool | hasLRSpillSlot () |
int | getLRSpillSlot () const |
int | createFPSpillSlot (MachineFunction &MF) |
bool | hasFPSpillSlot () |
int | getFPSpillSlot () const |
const int * | createEHSpillSlot (MachineFunction &MF) |
bool | hasEHSpillSlot () |
const int * | getEHSpillSlot () const |
void | setReturnStackOffset (unsigned value) |
unsigned | getReturnStackOffset () const |
bool | isLargeFrame (const MachineFunction &MF) const |
std::vector< std::pair< MachineBasicBlock::iterator, CalleeSavedInfo > > & | getSpillLabels () |
Public Member Functions inherited from llvm::MachineFunctionInfo | |
virtual | ~MachineFunctionInfo () |
Additional Inherited Members | |
Static Public Member Functions inherited from llvm::MachineFunctionInfo | |
template<typename Ty > | |
static Ty * | create (BumpPtrAllocator &Allocator, MachineFunction &MF) |
Factory function: default behavior is to call new using the supplied allocator. More... | |
XCoreFunctionInfo - This class is derived from MachineFunction private XCore target-specific information for each MachineFunction.
Definition at line 28 of file XCoreMachineFunctionInfo.h.
|
default |
|
inlineexplicit |
Definition at line 47 of file XCoreMachineFunctionInfo.h.
References ~XCoreFunctionInfo().
|
overridedefault |
Referenced by XCoreFunctionInfo().
const int * XCoreFunctionInfo::createEHSpillSlot | ( | MachineFunction & | MF | ) |
Definition at line 66 of file XCoreMachineFunctionInfo.cpp.
References llvm::AMDGPU::HSAMD::Kernel::Arg::Key::Align, llvm::MachineFrameInfo::CreateStackObject(), llvm::MachineFunction::getFrameInfo(), llvm::TargetSubtargetInfo::getRegisterInfo(), llvm::TargetRegisterInfo::getSpillAlignment(), llvm::TargetRegisterInfo::getSpillSize(), llvm::MachineFunction::getSubtarget(), Size, and TRI.
Referenced by llvm::XCoreFrameLowering::determineCalleeSaves(), and getFPSpillSlot().
int XCoreFunctionInfo::createFPSpillSlot | ( | MachineFunction & | MF | ) |
Definition at line 53 of file XCoreMachineFunctionInfo.cpp.
References llvm::MachineFrameInfo::CreateStackObject(), llvm::MachineFunction::getFrameInfo(), llvm::TargetSubtargetInfo::getRegisterInfo(), llvm::TargetRegisterInfo::getSpillAlignment(), llvm::TargetRegisterInfo::getSpillSize(), llvm::MachineFunction::getSubtarget(), and TRI.
Referenced by llvm::XCoreFrameLowering::determineCalleeSaves(), and getLRSpillSlot().
int XCoreFunctionInfo::createLRSpillSlot | ( | MachineFunction & | MF | ) |
Definition at line 35 of file XCoreMachineFunctionInfo.cpp.
References llvm::MachineFrameInfo::CreateFixedObject(), llvm::MachineFrameInfo::CreateStackObject(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getFunction(), llvm::TargetSubtargetInfo::getRegisterInfo(), llvm::TargetRegisterInfo::getSpillAlignment(), llvm::TargetRegisterInfo::getSpillSize(), llvm::MachineFunction::getSubtarget(), llvm::Function::isVarArg(), and TRI.
Referenced by llvm::XCoreFrameLowering::determineCalleeSaves(), and getVarArgsFrameIndex().
|
inline |
Definition at line 70 of file XCoreMachineFunctionInfo.h.
References assert().
Referenced by GetEHSpillList().
|
inline |
Definition at line 63 of file XCoreMachineFunctionInfo.h.
References assert(), and createEHSpillSlot().
Referenced by GetSpillList().
|
inline |
Definition at line 56 of file XCoreMachineFunctionInfo.h.
References assert(), and createFPSpillSlot().
Referenced by llvm::XCoreFrameLowering::emitEpilogue(), llvm::XCoreFrameLowering::emitPrologue(), and GetSpillList().
|
inline |
Definition at line 81 of file XCoreMachineFunctionInfo.h.
References assert(), and isLargeFrame().
Referenced by LowerCallResult().
|
inline |
Definition at line 89 of file XCoreMachineFunctionInfo.h.
Referenced by llvm::XCoreFrameLowering::emitPrologue(), and llvm::XCoreFrameLowering::spillCalleeSavedRegisters().
|
inline |
Definition at line 52 of file XCoreMachineFunctionInfo.h.
References createLRSpillSlot().
|
inline |
Definition at line 69 of file XCoreMachineFunctionInfo.h.
Referenced by llvm::XCoreFrameLowering::emitPrologue(), and GetEHSpillList().
|
inline |
Definition at line 62 of file XCoreMachineFunctionInfo.h.
|
inline |
Definition at line 55 of file XCoreMachineFunctionInfo.h.
Referenced by llvm::XCoreFrameLowering::emitEpilogue(), and llvm::XCoreFrameLowering::emitPrologue().
bool XCoreFunctionInfo::isLargeFrame | ( | const MachineFunction & | MF | ) | const |
Definition at line 19 of file XCoreMachineFunctionInfo.cpp.
References llvm::MachineFrameInfo::estimateStackSize(), and llvm::MachineFunction::getFrameInfo().
Referenced by getReturnStackOffset(), and llvm::XCoreFrameLowering::processFunctionBeforeFrameFinalized().
|
inline |
Definition at line 75 of file XCoreMachineFunctionInfo.h.
References assert().
Referenced by LowerCallResult().
|
inline |
Definition at line 51 of file XCoreMachineFunctionInfo.h.
Referenced by LowerCallResult().