Make sure offset is 0 for load/store register to the stack call.
authorEric Christopher <echristo@apple.com>
Fri, 15 Oct 2010 23:07:10 +0000 (23:07 +0000)
committerEric Christopher <echristo@apple.com>
Fri, 15 Oct 2010 23:07:10 +0000 (23:07 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116640 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMFastISel.cpp

index 901cb579fb144abada520225ea1af52445727d88..cbfad2dace29163e8133f88e04f3a939d9084da4 100644 (file)
@@ -762,7 +762,7 @@ bool ARMFastISel::ARMEmitLoad(EVT VT, unsigned &ResultReg,
   assert((Base.Reg == ARM::SP || Offset == 0) &&
           "Offset not zero and not a stack load!");
 
-  if (Base.Reg == ARM::SP)
+  if (Base.Reg == ARM::SP && Offset == 0)
     TII.loadRegFromStackSlot(*FuncInfo.MBB, *FuncInfo.InsertPt,
                              ResultReg, Base.FrameIndex, RC,
                              TM.getRegisterInfo());
@@ -832,7 +832,7 @@ bool ARMFastISel::ARMEmitStore(EVT VT, unsigned SrcReg,
       break;
   }
 
-  if (Base.Reg == ARM::SP)
+  if (Base.Reg == ARM::SP && Offset == 0)
     TII.storeRegToStackSlot(*FuncInfo.MBB, *FuncInfo.InsertPt,
                             SrcReg, true /*isKill*/, Base.FrameIndex,
                             TLI.getRegClassFor(VT), TM.getRegisterInfo());