OSDN Git Service

There doesn't seem to be a reason to move the save FP stuff.
authorBill Wendling <isanbard@gmail.com>
Tue, 16 Jun 2009 04:12:45 +0000 (04:12 +0000)
committerBill Wendling <isanbard@gmail.com>
Tue, 16 Jun 2009 04:12:45 +0000 (04:12 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73468 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86RegisterInfo.cpp

index a9bbf3d..b461b8a 100644 (file)
@@ -662,13 +662,6 @@ void X86RegisterInfo::emitFrameMoves(MachineFunction &MF,
      TargetFrameInfo::StackGrowsUp ?
      TD->getPointerSize() : -TD->getPointerSize());
 
-  if (hasFP(MF)) {
-    // Save FP
-    MachineLocation FPDst(MachineLocation::VirtualFP, 2*stackGrowth);
-    MachineLocation FPSrc(FramePtr);
-    Moves.push_back(MachineMove(ReadyLabelId, FPDst, FPSrc));
-  }
-
   MachineLocation FPDst(hasFP(MF) ? FramePtr : StackPtr);
   MachineLocation FPSrc(MachineLocation::VirtualFP);
   Moves.push_back(MachineMove(ReadyLabelId, FPDst, FPSrc));
@@ -715,6 +708,13 @@ void X86RegisterInfo::emitFrameMoves(MachineFunction &MF,
     MachineLocation CSSrc(Reg);
     Moves.push_back(MachineMove(FrameLabelId, CSDst, CSSrc));
   }
+
+  if (hasFP(MF)) {
+    // Save FP
+    MachineLocation FPDst(MachineLocation::VirtualFP, 2*stackGrowth);
+    MachineLocation FPSrc(FramePtr);
+    Moves.push_back(MachineMove(ReadyLabelId, FPDst, FPSrc));
+  }
 }