35 #define DEBUG_TYPE "wasm-frame-info"
void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override
These methods insert prolog and epilog code into the function.
bool hasFP(const MachineFunction &MF) const override
Return true if the specified function should have a dedicated frame pointer register.
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
This file declares the WebAssembly-specific subclass of TargetMachine.
void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override
bundle_iterator< MachineInstr, instr_iterator > iterator
void processFunctionBeforeCalleeSavedScan(MachineFunction &MF, RegScavenger *RS) const override
This file provides WebAssembly-specific target descriptions.
This file declares the WebAssembly-specific subclass of TargetSubtarget.
This file contains the WebAssembly implementation of the TargetInstrInfo class.
void eliminateCallFramePseudoInstr(MachineFunction &MF, MachineBasicBlock &MBB, MachineBasicBlock::iterator I) const override
eliminateCallFramePseudoInstr - This method is called during prolog/epilog code insertion to eliminat...
MachineFrameInfo * getFrameInfo()
getFrameInfo - Return the frame info object for the current function.
This class implements WebAssembly-specific bits of TargetFrameLowering class.
bool hasReservedCallFrame(const MachineFunction &MF) const override
Under normal circumstances, when a frame pointer is not required, we reserve argument space for call ...
This file declares WebAssembly-specific per-machine-function information.
bool hasVarSizedObjects() const
This method may be called any time after instruction selection is complete to determine if the stack ...