mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-25 13:24:46 +00:00
Move more PEI-related hooks to TFI
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120229 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -24,6 +24,7 @@ namespace llvm {
|
||||
class MachineFunction;
|
||||
class MachineBasicBlock;
|
||||
class MachineMove;
|
||||
class RegScavenger;
|
||||
|
||||
/// Information about stack frame layout on the target. It holds the direction
|
||||
/// of stack growth, the known stack alignment on entry to each function, and
|
||||
@@ -172,6 +173,22 @@ public:
|
||||
/// returned directly, and the base register is returned via FrameReg.
|
||||
virtual int getFrameIndexReference(const MachineFunction &MF, int FI,
|
||||
unsigned &FrameReg) const;
|
||||
|
||||
/// processFunctionBeforeCalleeSavedScan - This method is called immediately
|
||||
/// before PrologEpilogInserter scans the physical registers used to determine
|
||||
/// what callee saved registers should be spilled. This method is optional.
|
||||
virtual void processFunctionBeforeCalleeSavedScan(MachineFunction &MF,
|
||||
RegScavenger *RS = NULL) const {
|
||||
|
||||
}
|
||||
|
||||
/// processFunctionBeforeFrameFinalized - This method is called immediately
|
||||
/// before the specified function's frame layout (MF.getFrameInfo()) is
|
||||
/// finalized. Once the frame is finalized, MO_FrameIndex operands are
|
||||
/// replaced with direct constants. This method is optional.
|
||||
///
|
||||
virtual void processFunctionBeforeFrameFinalized(MachineFunction &MF) const {
|
||||
}
|
||||
};
|
||||
|
||||
} // End llvm namespace
|
||||
|
@@ -678,21 +678,6 @@ public:
|
||||
assert(0 && "Call Frame Pseudo Instructions do not exist on this target!");
|
||||
}
|
||||
|
||||
/// processFunctionBeforeCalleeSavedScan - This method is called immediately
|
||||
/// before PrologEpilogInserter scans the physical registers used to determine
|
||||
/// what callee saved registers should be spilled. This method is optional.
|
||||
virtual void processFunctionBeforeCalleeSavedScan(MachineFunction &MF,
|
||||
RegScavenger *RS = NULL) const {
|
||||
|
||||
}
|
||||
|
||||
/// processFunctionBeforeFrameFinalized - This method is called immediately
|
||||
/// before the specified function's frame layout (MF.getFrameInfo()) is
|
||||
/// finalized. Once the frame is finalized, MO_FrameIndex operands are
|
||||
/// replaced with direct constants. This method is optional.
|
||||
///
|
||||
virtual void processFunctionBeforeFrameFinalized(MachineFunction &MF) const {
|
||||
}
|
||||
|
||||
/// saveScavengerRegister - Spill the register so it can be used by the
|
||||
/// register scavenger. Return true if the register was spilled, false
|
||||
|
Reference in New Issue
Block a user