History log of /external/llvm/lib/CodeGen/LiveDebugVariables.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
f42b66169d75301346e3685fd2b3e45e47806367 06-May-2011 Jakob Stoklund Olesen <stoklund@2pi.dk> Update LiveDebugVariables after live range splitting.

After a virtual register is split, update any debug user variables that resided
in the old register. This ensures that the LiveDebugVariables are still correct
after register allocation.

This may create DBG_VALUE instructions that place a user variable in a register
in parts of the function and in a stack slot in other parts. DwarfDebug
currently doesn't support that.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130998 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/LiveDebugVariables.h
42acf069c9e46395a2fa230ed6b89b402828e3d5 03-Dec-2010 Jakob Stoklund Olesen <stoklund@2pi.dk> Emit DBG_VALUE instructions from LiveDebugVariables.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120842 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/LiveDebugVariables.h
30e2128a731e5a0bcac45a6a79a03bdedce68a0a 02-Dec-2010 Jakob Stoklund Olesen <stoklund@2pi.dk> Update LiveDebugVariables during coalescing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120720 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/LiveDebugVariables.h
0613516b16466a92c68d60734801221506c85e86 02-Dec-2010 Jakob Stoklund Olesen <stoklund@2pi.dk> Implement the first half of LiveDebugVariables.

Scan the MachineFunction for DBG_VALUE instructions, and replace them with a
data structure similar to LiveIntervals. The live range of a DBG_VALUE is
determined by propagating it down the dominator tree until a new DBG_VALUE is
found. When a DBG_VALUE lives in a register, its live range is confined to the
live range of the register's value.

LiveDebugVariables runs before coalescing, so DBG_VALUEs are not artificially
extended when registers are joined.

The missing half will recreate DBG_VALUE instructions from the intervals when
register allocation is complete.

The pass is disabled by default. It can be enabled with the temporary command
line option -live-debug-variables.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120636 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/LiveDebugVariables.h
bb7b23f5b79a7ca2aa62faa1a6078428af597234 30-Nov-2010 Jakob Stoklund Olesen <stoklund@2pi.dk> Stub out a new LiveDebugVariables pass.

This analysis is going to run immediately after LiveIntervals. It will stay
alive during register allocation and keep track of user variables mentioned in
DBG_VALUE instructions.

When the register allocator is moving values between registers and the stack, it
is very hard to keep track of DBG_VALUE instructions. We usually get it wrong.
This analysis maintains a data structure that makes it easy to update DBG_VALUE
instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120385 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/LiveDebugVariables.h