Collect and coalesce DBG_VALUE instructions before emitting the function.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Sat, 26 Mar 2011 02:19:36 +0000 (02:19 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Sat, 26 Mar 2011 02:19:36 +0000 (02:19 +0000)
commitadb877d62e5ac88db037d91bcd2e9f7dc2c4cd7a
treefaf27fdac824ef293a98e063205152c8992b233a
parenteca915fb5242442756a80bad7f285cb54d7b8ea4
Collect and coalesce DBG_VALUE instructions before emitting the function.

Correctly terminate the range of register DBG_VALUEs when the register is
clobbered or when the basic block ends.

The code is now ready to deal with variables that are sometimes in a register
and sometimes on the stack. We just need to teach emitDebugLoc to say 'stack
slot'.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128327 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/MachineBasicBlock.h
lib/CodeGen/AsmPrinter/DwarfDebug.cpp
lib/CodeGen/AsmPrinter/DwarfDebug.h
test/CodeGen/X86/dbg-merge-loc-entry.ll