[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