diff options
Diffstat (limited to 'lib/Target/ARM/ARMLoadStoreOptimizer.cpp')
| -rw-r--r-- | lib/Target/ARM/ARMLoadStoreOptimizer.cpp | 3 | 
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/Target/ARM/ARMLoadStoreOptimizer.cpp b/lib/Target/ARM/ARMLoadStoreOptimizer.cpp index b78b95b22ebf..4e2d1815dc67 100644 --- a/lib/Target/ARM/ARMLoadStoreOptimizer.cpp +++ b/lib/Target/ARM/ARMLoadStoreOptimizer.cpp @@ -350,7 +350,8 @@ ARMLoadStoreOpt::MergeLDR_STR(MachineBasicBlock &MBB, unsigned SIndex,        : ARMRegisterInfo::getRegisterNumbering(Reg);      // AM4 - register numbers in ascending order.      // AM5 - consecutive register numbers in ascending order. -    if (NewOffset == Offset + (int)Size && +    if (Reg != ARM::SP && +        NewOffset == Offset + (int)Size &&          ((isAM4 && RegNum > PRegNum) || RegNum == PRegNum+1)) {        Offset += Size;        PRegNum = RegNum;  | 
