diff options
author | Jim Grosbach <grosbach@apple.com> | 2010-05-04 00:11:37 +0000 |
---|---|---|
committer | Jim Grosbach <grosbach@apple.com> | 2010-05-04 00:11:37 +0000 |
commit | 30e637c9bc1653988cf5479808b8f37dcdf4dcb2 (patch) | |
tree | ba9766a0e28d6faac6a09e7c2295ba5e4366eed7 /llvm/lib | |
parent | 3b763f4ba0529b82bd0fec1b82b74b6c5f50c103 (diff) | |
download | bcm5719-llvm-30e637c9bc1653988cf5479808b8f37dcdf4dcb2.tar.gz bcm5719-llvm-30e637c9bc1653988cf5479808b8f37dcdf4dcb2.zip |
rdar://7937137 - dbg values not being handled in thumb1 version of
eliminateFrameIndex(), leading to llvm_unreachable() assertion failure.
llvm-svn: 102980
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/ARM/Thumb1RegisterInfo.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/Thumb1RegisterInfo.cpp b/llvm/lib/Target/ARM/Thumb1RegisterInfo.cpp index 624168c0537..2f635fe50ad 100644 --- a/llvm/lib/Target/ARM/Thumb1RegisterInfo.cpp +++ b/llvm/lib/Target/ARM/Thumb1RegisterInfo.cpp @@ -464,6 +464,13 @@ Thumb1RegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II, Offset -= AFI->getFramePtrSpillOffset(); } + // Special handling of dbg_value instructions. + if (MI.isDebugValue()) { + MI.getOperand(i). ChangeToRegister(FrameReg, false /*isDef*/); + MI.getOperand(i+1).ChangeToImmediate(Offset); + return 0; + } + unsigned Opcode = MI.getOpcode(); const TargetInstrDesc &Desc = MI.getDesc(); unsigned AddrMode = (Desc.TSFlags & ARMII::AddrModeMask); |