Go to the documentation of this file.
25 #define DEBUG_TYPE "loongarch-frame-lowering"
const LoongArchRegisterInfo * getRegisterInfo() const override
bool hasVarSizedObjects() const
This method may be called any time after instruction selection is complete to determine if the stack ...
This is an optimization pass for GlobalISel generic memory operations.
virtual const TargetRegisterInfo * getRegisterInfo() const
getRegisterInfo - If register information is available, return it.
void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override
emitProlog/emitEpilog - These methods insert prolog and epilog code into the function.
TargetRegisterInfo base class - We assume that the target defines a static array of TargetRegisterDes...
unsigned const TargetRegisterInfo * TRI
bool DisableFramePointerElim(const MachineFunction &MF) const
DisableFramePointerElim - This returns true if frame pointer elimination optimization should be disab...
const TargetSubtargetInfo & getSubtarget() const
getSubtarget - Return the subtarget for which this machine code is being compiled.
MachineFrameInfo & getFrameInfo()
getFrameInfo - Return the frame info object for the current function.
bool hasBP(const MachineFunction &MF) const
bool isFrameAddressTaken() const
This method may be called any time after instruction selection is complete to determine if there is a...
void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override
const LLVMTargetMachine & getTarget() const
getTarget - Return the target machine this machine code is compiled with
bool hasStackRealignment(const MachineFunction &MF) const
True if stack realignment is required and still possible.
The MachineFrameInfo class represents an abstract stack frame until prolog/epilog code is inserted.
bool hasFP(const MachineFunction &MF) const override
hasFP - Return true if the specified function should have a dedicated frame pointer register.