OSDN Git Service

add the immediate to the Offset in eliminateFrameIndex
authorRafael Espindola <rafael.espindola@gmail.com>
Tue, 17 Oct 2006 14:34:02 +0000 (14:34 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Tue, 17 Oct 2006 14:34:02 +0000 (14:34 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30998 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMRegisterInfo.cpp
test/CodeGen/ARM/long.ll

index 7039523..b313d54 100644 (file)
@@ -106,8 +106,8 @@ ARMRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II) const {
 
   int FrameIndex = MI.getOperand(FrameIdx).getFrameIndex();
 
-  int Offset = MF.getFrameInfo()->getObjectOffset(FrameIndex);
-  assert (MI.getOperand(OffIdx).getImmedValue() == 0);
+  int Offset = MF.getFrameInfo()->getObjectOffset(FrameIndex) +
+               MI.getOperand(OffIdx).getImmedValue();
 
   unsigned StackSize = MF.getFrameInfo()->getStackSize();
 
index 834f068..b310bc0 100644 (file)
@@ -70,3 +70,10 @@ entry:
        %tmp2 = mul ulong %tmp1, %tmp
        ret ulong %tmp2
 }
+
+ulong %f10() {
+entry:
+       %a = alloca ulong, align 8
+       %retval = load ulong* %a
+       ret ulong %retval
+}