LLVM API Documentation
#include <MipsFrameLowering.h>
Public Member Functions | |
MipsFrameLowering (const MipsSubtarget &sti, unsigned Alignment) | |
bool | hasFP (const MachineFunction &MF) const override |
Static Public Member Functions | |
static const MipsFrameLowering * | create (const MipsSubtarget &ST) |
Protected Member Functions | |
uint64_t | estimateStackSize (const MachineFunction &MF) const |
Protected Attributes | |
const MipsSubtarget & | STI |
Definition at line 23 of file MipsFrameLowering.h.
llvm::MipsFrameLowering::MipsFrameLowering | ( | const MipsSubtarget & | sti, |
unsigned | Alignment | ||
) | [inline, explicit] |
Definition at line 28 of file MipsFrameLowering.h.
const MipsFrameLowering * MipsFrameLowering::create | ( | const MipsSubtarget & | ST | ) | [static] |
Definition at line 85 of file MipsFrameLowering.cpp.
References llvm::createMips16FrameLowering(), llvm::createMipsSEFrameLowering(), and llvm::MipsSubtarget::inMips16Mode().
uint64_t MipsFrameLowering::estimateStackSize | ( | const MachineFunction & | MF | ) | const [protected] |
Definition at line 101 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::TargetSubtargetInfo::getRegisterInfo(), llvm::TargetRegisterClass::getSize(), llvm::TargetFrameLowering::getStackAlignment(), llvm::MachineFunction::getSubtarget(), llvm::TargetFrameLowering::hasReservedCallFrame(), I, and llvm::RoundUpToAlignment().
Referenced by llvm::MipsSEFrameLowering::processFunctionBeforeCalleeSavedScan().
bool MipsFrameLowering::hasFP | ( | const MachineFunction & | MF | ) | const [override, 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 95 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(), llvm::MipsSEFrameLowering::processFunctionBeforeCalleeSavedScan(), and llvm::Mips16FrameLowering::processFunctionBeforeCalleeSavedScan().
const MipsSubtarget& llvm::MipsFrameLowering::STI [protected] |
Definition at line 25 of file MipsFrameLowering.h.
Referenced by llvm::MipsSEFrameLowering::ehDataReg(), llvm::MipsSEFrameLowering::eliminateCallFramePseudoInstr(), llvm::MipsSEFrameLowering::emitEpilogue(), llvm::MipsSEFrameLowering::emitPrologue(), and llvm::MipsSEFrameLowering::processFunctionBeforeCalleeSavedScan().