[llvm-commits] CVS: llvm/include/llvm/Target/MRegisterInfo.h
Evan Cheng
evan.cheng at apple.com
Mon Apr 30 17:48:03 PDT 2007
Changes in directory llvm/include/llvm/Target:
MRegisterInfo.h updated: 1.107 -> 1.108
---
Log message:
Added hook hasReservedCallFrame(). It returns true if the call frame is
included as part of the stack frame.
---
Diffs of the changes: (+9 -0)
MRegisterInfo.h | 9 +++++++++
1 files changed, 9 insertions(+)
Index: llvm/include/llvm/Target/MRegisterInfo.h
diff -u llvm/include/llvm/Target/MRegisterInfo.h:1.107 llvm/include/llvm/Target/MRegisterInfo.h:1.108
--- llvm/include/llvm/Target/MRegisterInfo.h:1.107 Wed Apr 25 02:24:50 2007
+++ llvm/include/llvm/Target/MRegisterInfo.h Mon Apr 30 19:47:46 2007
@@ -451,6 +451,15 @@
/// variable sized allocas or if frame pointer elimination is disabled.
virtual bool hasFP(const MachineFunction &MF) const = 0;
+ // hasReservedCallFrame - Under normal circumstances, when a frame pointer is
+ // not required, we reserve argument space for call sites in the function
+ // immediately on entry to the current function. This eliminates the need for
+ // add/sub sp brackets around call sites. Returns true if the call frame is
+ // included as part of the stack frame.
+ virtual bool hasReservedCallFrame(MachineFunction &MF) const {
+ return !hasFP(MF);
+ }
+
/// getCallFrameSetup/DestroyOpcode - These methods return the opcode of the
/// frame setup/destroy instructions if they exist (-1 otherwise). Some
/// targets use pseudo instructions in order to abstract away the difference
More information about the llvm-commits
mailing list