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)
commit3517640443f0b5224e2a6414c246ac60016ee9d4
tree011ad059026ee96743b0327cd32e41679c4f4021
parent7d185e4e5b1da7e07e1c3b9539e2c9bc8e983e62
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185966 91177308-0d34-0410-b5e6-96231b3b80d8
14 files changed:
include/llvm/CodeGen/MachineInstrBuilder.h
lib/CodeGen/AsmPrinter/AsmPrinter.cpp
lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
lib/CodeGen/AsmPrinter/DwarfDebug.cpp
lib/CodeGen/LiveDebugVariables.cpp
lib/CodeGen/RegAllocFast.cpp
lib/CodeGen/SelectionDAG/FastISel.cpp
lib/CodeGen/SelectionDAG/InstrEmitter.cpp
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
test/CodeGen/X86/dbg-value-range.ll
test/DebugInfo/X86/op_deref.ll
test/DebugInfo/X86/parameters.ll
test/DebugInfo/X86/vla.ll [new file with mode: 0644]