24 XCoreFTAOElim() : MachineFunctionPass(ID) {}
26 bool runOnMachineFunction(MachineFunction &Fn)
override;
27 MachineFunctionProperties getRequiredProperties()
const override {
28 return MachineFunctionProperties().setNoVRegs();
31 StringRef getPassName()
const override {
32 return "XCore FRAME_TO_ARGS_OFFSET Elimination";
35 char XCoreFTAOElim::ID = 0;
41 return new XCoreFTAOElim();
51 if (
MBBI->getOpcode() == XCore::FRAME_TO_ARGS_OFFSET) {
MachineBasicBlock MachineBasicBlock::iterator MBBI
const HexagonInstrInfo * TII
FunctionPass class - This class is used to implement most global optimizations.
MachineInstrBundleIterator< MachineInstr > iterator
uint64_t getStackSize() const
Return the number of bytes that must be allocated to hold all of the fixed size frame objects.
MachineFunctionPass - This class adapts the FunctionPass interface to allow convenient creation of pa...
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.
Representation of each machine instruction.
LLVM_ABI void eraseFromParent()
Unlink 'this' from the containing basic block and delete it.
const MachineOperand & getOperand(unsigned i) const
Register getReg() const
getReg - Returns the register number.
Wrapper class representing virtual and physical registers.
This is an optimization pass for GlobalISel generic memory operations.
FunctionPass * createXCoreFrameToArgsOffsetEliminationPass()
createXCoreFrameToArgsOffsetEliminationPass - returns an instance of the Frame to args offset elimina...