aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2006-10-17 14:34:02 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2006-10-17 14:34:02 +0000
commit0d479ecbb132e324da27b674fea5b232115fe964 (patch)
treeaa489ddd77f691b6db2577f395ad60e51cf6a501
parenta1a19f803c8fef05db627a8b73c909a50306e9d6 (diff)
add the immediate to the Offset in eliminateFrameIndex
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30998 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/ARM/ARMRegisterInfo.cpp4
-rw-r--r--test/CodeGen/ARM/long.ll7
2 files changed, 9 insertions, 2 deletions
diff --git a/lib/Target/ARM/ARMRegisterInfo.cpp b/lib/Target/ARM/ARMRegisterInfo.cpp
index 703952367f..b313d54857 100644
--- a/lib/Target/ARM/ARMRegisterInfo.cpp
+++ b/lib/Target/ARM/ARMRegisterInfo.cpp
@@ -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();
diff --git a/test/CodeGen/ARM/long.ll b/test/CodeGen/ARM/long.ll
index 834f068710..b310bc00c0 100644
--- a/test/CodeGen/ARM/long.ll
+++ b/test/CodeGen/ARM/long.ll
@@ -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
+}