diff options
author | David Goodwin <david_goodwin@apple.com> | 2009-07-13 21:43:08 +0000 |
---|---|---|
committer | David Goodwin <david_goodwin@apple.com> | 2009-07-13 21:43:08 +0000 |
commit | 160521095b3fc292e6a3f8ff1ff7c819721c7b41 (patch) | |
tree | d94dc1af995375d94f50056d3cacd807d90eb2fb /llvm/lib | |
parent | bf25a209dcab6c9ecbd04209c59df14ce777c496 (diff) | |
download | bcm5719-llvm-160521095b3fc292e6a3f8ff1ff7c819721c7b41.tar.gz bcm5719-llvm-160521095b3fc292e6a3f8ff1ff7c819721c7b41.zip |
Fix FP elimination code to work for Thumb-2 addrmode AddrModeT2_so. This fixes SingleSource/Benchmarks/Stanford/Queens (among others).
llvm-svn: 75513
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp b/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp index c93473d62e6..41b061a1237 100644 --- a/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp +++ b/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp @@ -1121,18 +1121,22 @@ eliminateFrameIndex(MachineBasicBlock::iterator II, break; } case ARMII::AddrModeT2_i12: { - ImmIdx = i+2; + ImmIdx = i+1; InstrOffs = MI.getOperand(ImmIdx).getImm(); NumBits = 12; break; } - case ARMII::AddrModeT2_so: case ARMII::AddrModeT2_i8: { - ImmIdx = i+2; + ImmIdx = i+1; InstrOffs = MI.getOperand(ImmIdx).getImm(); NumBits = 8; break; } + case ARMII::AddrModeT2_so: { + ImmIdx = i+2; + InstrOffs = MI.getOperand(ImmIdx).getImm(); + break; + } default: LLVM_UNREACHABLE("Unsupported addressing mode!"); break; |