summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2010-05-04 00:11:37 +0000
committerJim Grosbach <grosbach@apple.com>2010-05-04 00:11:37 +0000
commit30e637c9bc1653988cf5479808b8f37dcdf4dcb2 (patch)
treeba9766a0e28d6faac6a09e7c2295ba5e4366eed7 /llvm/lib/Target/ARM
parent3b763f4ba0529b82bd0fec1b82b74b6c5f50c103 (diff)
downloadbcm5719-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/Target/ARM')
-rw-r--r--llvm/lib/Target/ARM/Thumb1RegisterInfo.cpp7
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);
OpenPOWER on IntegriCloud