1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 03:53:04 +02:00
llvm-mirror/lib/CodeGen/AsmPrinter
Adrian Prantl 431b172354 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
..
AddressPool.cpp Move helpers into anonymous namespaces. NFC. 2016-08-06 11:13:10 +00:00
AddressPool.h One more batch of self-containing headers. 2016-01-27 19:29:56 +00:00
ARMException.cpp Move Object format code to lib/BinaryFormat. 2017-06-07 03:48:56 +00:00
AsmPrinter.cpp [AsmPrinter] Constify needsCFIMoves. NFC 2017-07-19 23:47:33 +00:00
AsmPrinterDwarf.cpp Move Object format code to lib/BinaryFormat. 2017-06-07 03:48:56 +00:00
AsmPrinterHandler.h Extract the method to begin and end a fragment in AsmPrinterHandler in their own method. NFC 2016-02-26 20:30:37 +00:00
AsmPrinterInlineAsm.cpp Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
ByteStreamer.h [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
CMakeLists.txt [CMake] NFC. Updating CMake dependency specifications 2016-11-17 04:36:50 +00:00
CodeViewDebug.cpp Remove PrologEpilogInserter's usage of DBG_VALUE's offset field 2017-08-01 21:45:24 +00:00
CodeViewDebug.h [codeview] Use the first valid source location at the top of every MBB 2017-06-30 21:33:44 +00:00
DbgValueHistoryCalculator.cpp DbgValueHistoryCalculator: Ignore call instructions that claim to clobber SP. 2017-06-01 21:14:58 +00:00
DbgValueHistoryCalculator.h One more batch of self-containing headers. 2016-01-27 19:29:56 +00:00
DebugHandlerBase.cpp Make helper functions static. NFC. 2017-05-26 20:09:00 +00:00
DebugHandlerBase.h Refactor DebugHandlerBase a bit to common non-debug-having-function filtering 2017-02-16 18:48:33 +00:00
DebugLocEntry.h Use print() instead of dump() in code 2017-01-28 06:53:55 +00:00
DebugLocStream.cpp
DebugLocStream.h Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
DIE.cpp Mark dump() methods as const. NFC 2017-06-21 22:19:17 +00:00
DIEHash.cpp Move Object format code to lib/BinaryFormat. 2017-06-07 03:48:56 +00:00
DIEHash.h DebugInfo: Include .dwo file name when hashing multiple CUs in a single file 2017-05-29 06:32:34 +00:00
DIEHashAttributes.def Fix DIEHash refactoring that dropped the DW_AT_name from the hash 2017-05-23 18:36:07 +00:00
DwarfAccelTable.cpp This change removes the dependency on DwarfDebug that was used for DW_FORM_ref_addr by making a new DIEUnit class in DIE.cpp. 2016-12-01 18:56:29 +00:00
DwarfAccelTable.h Move Object format code to lib/BinaryFormat. 2017-06-07 03:48:56 +00:00
DwarfCFIException.cpp Move Object format code to lib/BinaryFormat. 2017-06-07 03:48:56 +00:00
DwarfCompileUnit.cpp DebugInfo: Ensure imported entities at the top level of an inlined function don't cause degenerate concrete definitions 2017-07-27 00:06:53 +00:00
DwarfCompileUnit.h DebugInfo: Ensure imported entities at the top level of an inlined function don't cause degenerate concrete definitions 2017-07-27 00:06:53 +00:00
DwarfDebug.cpp DebugInfo: Update flag description that'd been copypasted from another 2017-08-01 14:50:50 +00:00
DwarfDebug.h Fix an assertion failure when duplicate dbg.declares are present. 2017-06-12 22:41:06 +00:00
DwarfException.h Emit .cfi_sections before the first .cfi_startproc 2017-01-02 18:05:27 +00:00
DwarfExpression.cpp Align definition of DW_OP_plus with DWARF spec [3/3] 2017-06-14 13:14:38 +00:00
DwarfExpression.h Align definition of DW_OP_plus with DWARF spec [3/3] 2017-06-14 13:14:38 +00:00
DwarfFile.cpp Make a DWARF generator so we can unit test DWARF APIs with gtest. 2016-12-08 01:03:48 +00:00
DwarfFile.h DWARF: Avoid cross-CU references under Fission 2017-05-12 01:13:45 +00:00
DwarfStringPool.cpp
DwarfStringPool.h
DwarfUnit.cpp [DWARF] Move a couple of member functions to the DWARFUnit baseclass. NFC. 2017-06-30 00:27:45 +00:00
DwarfUnit.h [DWARF] Move a couple of member functions to the DWARFUnit baseclass. NFC. 2017-06-30 00:27:45 +00:00
EHStreamer.cpp [EH] Fix the LSDA that we emit for unknown EH personalities 2017-05-31 22:18:49 +00:00
EHStreamer.h Extract the method to begin and end a fragment in AsmPrinterHandler in their own method. NFC 2016-02-26 20:30:37 +00:00
ErlangGCPrinter.cpp Move Object format code to lib/BinaryFormat. 2017-06-07 03:48:56 +00:00
LLVMBuild.txt Update libdeps to add BinaryFormat, introduced in r304864. 2017-06-07 04:48:49 +00:00
OcamlGCPrinter.cpp [CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-07 23:53:32 +00:00
WinException.cpp Move Object format code to lib/BinaryFormat. 2017-06-07 03:48:56 +00:00
WinException.h [WinEH] Don't assume endFunction is called while in .text 2016-12-28 19:05:12 +00:00