llvm-project/llvm/test/DebugInfo/ARM
Adrian Prantl 032d2381bf Remove PrologEpilogInserter's usage of DBG_VALUE's offset field
In the last half-dozen commits to LLVM I removed code that became dead
after removing the offset parameter from llvm.dbg.value gradually
proceeding from IR towards the backend. Before I can move on to
DwarfDebug and friends there is one last side-called offset I need to
remove:  This patch modifies PrologEpilogInserter's use of the
DBG_VALUE's offset argument to use a DIExpression instead. Because the
PrologEpilogInserter runs at the Machine level I had to play a little
trick with a named llvm.dbg.mir node to get the DIExpressions to print
in MIR dumps (which print the llvm::Module followed by the
MachineFunction dump).

I also had to add rudimentary DwarfExpression support to CodeView and
as a side-effect also fixed a bug (CodeViewDebug::collectVariableInfo
was supposed to give up on variables with complex DIExpressions, but
would fail to do so for fragments, which are also modeled as
DIExpressions).

With this last holdover removed we will have only one canonical way of
representing offsets to debug locations which will simplify the code
in DwarfDebug (and future versions of CodeViewDebug once it starts
handling more complex expressions) and make it easier to reason about.

This patch is NFC-ish: All test case changes are for assembler
comments and the binary output does not change.

rdar://problem/33580047
Differential Revision: https://reviews.llvm.org/D36125

llvm-svn: 309751
2017-08-01 21:45:24 +00:00
..
PR16736.ll Remove PrologEpilogInserter's usage of DBG_VALUE's offset field 2017-08-01 21:45:24 +00:00
PR26163.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
big-endian-bitfield.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
big-endian-dump.ll
bitfield.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
cfi-eof-prologue.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
constant-dbgloc.ll
float-args.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
header.ll [ARM] Add ".code 32" to functions in the ARM instruction set 2016-09-13 12:18:15 +00:00
line.test
lit.local.cfg
little-endian-dump.ll
lowerbdgdeclare_vla.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
multiple-constant-uses-drops-dbgloc.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
partial-subreg.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
processes-relocations.ll
prologue_end.ll
s-super-register.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
selectiondag-deadcode.ll PR32382: Fix emitting complex DWARF expressions. 2017-04-18 01:21:53 +00:00
single-constant-use-preserves-dbgloc.ll Fixup failing debuginfo test for change in SimplifyCFG. 2016-09-11 09:13:32 +00:00
split-complex.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
sroa-complex.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
tls.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00