[llvm-commits] CVS: llvm/lib/Target/X86/X86RegisterInfo.cpp

Evan Cheng evan.cheng at apple.com
Sat Jan 20 02:18:08 PST 2007



Changes in directory llvm/lib/Target/X86:

X86RegisterInfo.cpp updated: 1.191 -> 1.192
---
Log message:

One more try...

---
Diffs of the changes:  (+3 -2)

 X86RegisterInfo.cpp |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)


Index: llvm/lib/Target/X86/X86RegisterInfo.cpp
diff -u llvm/lib/Target/X86/X86RegisterInfo.cpp:1.191 llvm/lib/Target/X86/X86RegisterInfo.cpp:1.192
--- llvm/lib/Target/X86/X86RegisterInfo.cpp:1.191	Sat Jan 20 04:11:56 2007
+++ llvm/lib/Target/X86/X86RegisterInfo.cpp	Sat Jan 20 04:17:53 2007
@@ -998,12 +998,13 @@
   
   // Get the number of bytes to allocate from the FrameInfo
   unsigned NumBytes = MFI->getStackSize();
-  if (MFI->hasCalls() && !hasFP(MF))
+  if (MFI->hasCalls() || MF.getFrameInfo()->hasVarSizedObjects()) {
     // When we have no frame pointer, we reserve argument space for call sites
     // in the function immediately on entry to the current function.  This
     // eliminates the need for add/sub ESP brackets around call sites.
     //
-    NumBytes += MFI->getMaxCallFrameSize();
+    if (!hasFP(MF))
+      NumBytes += MFI->getMaxCallFrameSize();
 
     // Round the size to a multiple of the alignment (don't forget the 4/8 byte
     // offset pushed by the caller though). No need to align the stack if this






More information about the llvm-commits mailing list