Reapply an improved version of r180816/180817.
authorAdrian Prantl <aprantl@apple.com>
Tue, 9 Jul 2013 20:28:37 +0000 (20:28 +0000)
committerAdrian Prantl <aprantl@apple.com>
Tue, 9 Jul 2013 20:28:37 +0000 (20:28 +0000)
commit418d1d1ea912eadd5c119a98ec5735c36a9e0221
tree4052bf6e4f7945cd08f4b4fdcf21a056767c1e46
parenteff81a471acdf888e3cf5bc6550bd62b465d4e06
Reapply an improved version of r180816/180817.

Change the informal convention of DBG_VALUE machine instructions so that
we can express a register-indirect address with an offset of 0.
The old convention was that a DBG_VALUE is a register-indirect value if
the offset (operand 1) is nonzero. The new convention is that a DBG_VALUE
is register-indirect if the first operand is a register and the second
operand is an immediate. For plain register values the combination reg,
reg is used. MachineInstrBuilder::BuildMI knows how to build the new
DBG_VALUES.

rdar://problem/13658587

llvm-svn: 185966
14 files changed:
llvm/include/llvm/CodeGen/MachineInstrBuilder.h
llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
llvm/lib/CodeGen/LiveDebugVariables.cpp
llvm/lib/CodeGen/RegAllocFast.cpp
llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
llvm/test/CodeGen/X86/dbg-value-range.ll
llvm/test/DebugInfo/X86/op_deref.ll
llvm/test/DebugInfo/X86/parameters.ll
llvm/test/DebugInfo/X86/vla.ll [new file with mode: 0644]