OSDN Git Service

Several tail call tests apparently rely upon this being "adjusts stack" instead
authorBill Wendling <isanbard@gmail.com>
Fri, 14 May 2010 21:58:35 +0000 (21:58 +0000)
committerBill Wendling <isanbard@gmail.com>
Fri, 14 May 2010 21:58:35 +0000 (21:58 +0000)
of "has calls". That's probably wrong, but it needs further
investigation. Revert to the original behavior until this is settled.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103824 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86RegisterInfo.cpp

index f24138a..2db3c70 100644 (file)
@@ -898,7 +898,7 @@ void X86RegisterInfo::emitPrologue(MachineFunction &MF) const {
   if (Is64Bit && !Fn->hasFnAttr(Attribute::NoRedZone) &&
       !needsStackRealignment(MF) &&
       !MFI->hasVarSizedObjects() &&                // No dynamic alloca.
-      !MFI->hasCalls() &&                          // No calls.
+      !MFI->adjustsStack() &&                      // No calls.
       !Subtarget->isTargetWin64()) {               // Win64 has no Red Zone
     uint64_t MinSize = X86FI->getCalleeSavedFrameSize();
     if (HasFP) MinSize += SlotSize;