Debug Info: LiveDebugVarible can remove DBG_VALUEs, make sure we emit them back.
authorManman Ren <mren@apple.com>
Wed, 13 Feb 2013 01:14:49 +0000 (01:14 +0000)
committerManman Ren <mren@apple.com>
Wed, 13 Feb 2013 01:14:49 +0000 (01:14 +0000)
commitf019cd62da1834c166324a28b1a8d69e4cb47e87
tree3d67b9e633037484e3b75167f3781a8522a03a72
parent8356d091bf5fc0cba384d33d7d37c6389b3f6efe
Debug Info: LiveDebugVarible can remove DBG_VALUEs, make sure we emit them back.

RegisterCoalescer used to depend on LiveDebugVariable. LDV removes DBG_VALUEs
without emitting them at the end.

We fix this by removing LDV from RegisterCoalescer. Also add an assertion to
make sure we call emitDebugValues if DBG_VALUEs are removed at
runOnMachineFunction.

rdar://problem/13183203
Reviewed by Andy & Jakob

llvm-svn: 175023
llvm/lib/CodeGen/LiveDebugVariables.cpp
llvm/lib/CodeGen/LiveDebugVariables.h
llvm/lib/CodeGen/RegisterCoalescer.cpp
llvm/test/DebugInfo/X86/misched-dbg-value.ll [new file with mode: 0644]