LLVM API Documentation
#include <MipsFrameLowering.h>
Static Public Member Functions | |
static const MipsFrameLowering * | create (MipsTargetMachine &TM, const MipsSubtarget &ST) |
Protected Member Functions | |
uint64_t | estimateStackSize (const MachineFunction &MF) const |
Protected Attributes | |
const MipsSubtarget & | STI |
Additional Inherited Members | |
![]() | |
enum | StackDirection { StackGrowsUp, StackGrowsDown } |
Definition at line 24 of file MipsFrameLowering.h.
|
inlineexplicit |
Definition at line 29 of file MipsFrameLowering.h.
|
static |
Definition at line 85 of file MipsFrameLowering.cpp.
References llvm::createMips16FrameLowering(), llvm::createMipsSEFrameLowering(), llvm::MipsTargetMachine::getSubtargetImpl(), and llvm::MipsSubtarget::inMips16Mode().
Referenced by llvm::MipsTargetMachine::setHelperClassesMips16(), and llvm::MipsTargetMachine::setHelperClassesMipsSE().
|
protected |
Definition at line 102 of file MipsFrameLowering.cpp.
References llvm::MachineFrameInfo::adjustsStack(), llvm::TargetRegisterInfo::getCalleeSavedRegs(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFrameInfo::getMaxAlignment(), llvm::MachineFrameInfo::getMaxCallFrameSize(), llvm::TargetRegisterInfo::getMinimalPhysRegClass(), llvm::MachineFrameInfo::getObjectIndexBegin(), llvm::MachineFrameInfo::getObjectIndexEnd(), llvm::MachineFrameInfo::getObjectOffset(), llvm::MachineFrameInfo::getObjectSize(), llvm::TargetMachine::getRegisterInfo(), llvm::TargetRegisterClass::getSize(), llvm::TargetFrameLowering::getStackAlignment(), llvm::MachineFunction::getTarget(), llvm::TargetFrameLowering::hasReservedCallFrame(), I, and llvm::RoundUpToAlignment().
Referenced by llvm::MipsSEFrameLowering::processFunctionBeforeCalleeSavedScan().
|
virtual |
hasFP - Return true if the specified function should have a dedicated frame pointer register. For most targets this is true only if the function has variable sized allocas or if frame pointer elimination is disabled.
Implements llvm::TargetFrameLowering.
Definition at line 96 of file MipsFrameLowering.cpp.
References llvm::TargetOptions::DisableFramePointerElim(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getTarget(), llvm::MachineFrameInfo::hasVarSizedObjects(), llvm::MachineFrameInfo::isFrameAddressTaken(), and llvm::TargetMachine::Options.
Referenced by llvm::Mips16FrameLowering::emitEpilogue(), llvm::MipsSEFrameLowering::emitEpilogue(), llvm::Mips16FrameLowering::emitPrologue(), llvm::MipsSEFrameLowering::emitPrologue(), and llvm::MipsSEFrameLowering::processFunctionBeforeCalleeSavedScan().
|
protected |
Definition at line 26 of file MipsFrameLowering.h.
Referenced by llvm::MipsSEFrameLowering::ehDataReg(), llvm::MipsSEFrameLowering::eliminateCallFramePseudoInstr(), llvm::MipsSEFrameLowering::emitEpilogue(), llvm::MipsSEFrameLowering::emitPrologue(), and llvm::MipsSEFrameLowering::processFunctionBeforeCalleeSavedScan().