dynamic stack realignment necessitates scanning the floating point callee-
authorJim Grosbach <grosbach@apple.com>
Wed, 4 Nov 2009 22:41:00 +0000 (22:41 +0000)
committerJim Grosbach <grosbach@apple.com>
Wed, 4 Nov 2009 22:41:00 +0000 (22:41 +0000)
saved instructions even if no stack adjustment for those saves is needed.

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

lib/Target/ARM/ARMBaseRegisterInfo.cpp

index c1c531c9376bb7e56c0f01b8f3b376fffd61af13..7dd21ecb045acd57b94a237803a52b0802eb8726 100644 (file)
@@ -1339,10 +1339,10 @@ emitPrologue(MachineFunction &MF) const {
   AFI->setGPRCalleeSavedArea2Offset(GPRCS2Offset);
   AFI->setDPRCalleeSavedAreaOffset(DPRCSOffset);
 
+  movePastCSLoadStoreOps(MBB, MBBI, ARM::FSTD, 0, 3, STI);
   NumBytes = DPRCSOffset;
   if (NumBytes) {
-    // Insert it after all the callee-save spills.
-    movePastCSLoadStoreOps(MBB, MBBI, ARM::FSTD, 0, 3, STI);
+    // Adjust SP after all the callee-save spills.
     emitSPUpdate(isARM, MBB, MBBI, dl, TII, -NumBytes);
   }