diff options
author | Bob Wilson <bob.wilson@apple.com> | 2009-05-19 18:33:02 +0000 |
---|---|---|
committer | Bob Wilson <bob.wilson@apple.com> | 2009-05-19 18:33:02 +0000 |
commit | 840e3281fff148d86c1850f398d4c5543e62a049 (patch) | |
tree | dbe96958d687b46baa939b238435ad9a25b04578 /llvm/lib/Target/ARM/ARMRegisterInfo.cpp | |
parent | 670da9a22a290ea0360fcdbf352c61e51d8ec26f (diff) | |
download | llvm-840e3281fff148d86c1850f398d4c5543e62a049.zip llvm-840e3281fff148d86c1850f398d4c5543e62a049.tar.gz llvm-840e3281fff148d86c1850f398d4c5543e62a049.tar.bz2 |
Follow up on new support for memory operands in ARM inline assembly.
This fixes pr4233.
llvm-svn: 72115
Diffstat (limited to 'llvm/lib/Target/ARM/ARMRegisterInfo.cpp')
-rw-r--r-- | llvm/lib/Target/ARM/ARMRegisterInfo.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMRegisterInfo.cpp b/llvm/lib/Target/ARM/ARMRegisterInfo.cpp index 693d12e..964f50a2 100644 --- a/llvm/lib/Target/ARM/ARMRegisterInfo.cpp +++ b/llvm/lib/Target/ARM/ARMRegisterInfo.cpp @@ -688,6 +688,10 @@ void ARMRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II, unsigned AddrMode = (Desc.TSFlags & ARMII::AddrModeMask); bool isSub = false; + // Memory operands in inline assembly always use AddrMode2. + if (Opcode == ARM::INLINEASM) + AddrMode = ARMII::AddrMode2; + if (Opcode == ARM::ADDri) { Offset += MI.getOperand(i+1).getImm(); if (Offset == 0) { |