rdar://7937137 - dbg values not being handled in thumb1 version of
authorJim Grosbach <grosbach@apple.com>
Tue, 4 May 2010 00:11:37 +0000 (00:11 +0000)
committerJim Grosbach <grosbach@apple.com>
Tue, 4 May 2010 00:11:37 +0000 (00:11 +0000)
eliminateFrameIndex(), leading to llvm_unreachable() assertion failure.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102980 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/Thumb1RegisterInfo.cpp

index 624168c0537e2bdbd441a4df0301231fcfc56292..2f635fe50ad5fcd1e4812bfcc139efe08b7673db 100644 (file)
@@ -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);