1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-23 21:13:02 +02:00
llvm-mirror/lib/DebugInfo/DWARF
Reid Kleckner 96e8543691 [dwarfdump] Pretty print location expressions and location lists
Summary:
Based on Fred's patch here: https://reviews.llvm.org/D6771

I can't seem to commandeer the old review, so I'm creating a new one.

With that change the locations exrpessions are pretty printed inline in the
DIE tree. The output looks like this for debug_loc entries:

    DW_AT_location [DW_FORM_data4]        (0x00000000
       0x0000000000000001 - 0x000000000000000b: DW_OP_consts +3
       0x000000000000000b - 0x0000000000000012: DW_OP_consts +7
       0x0000000000000012 - 0x000000000000001b: DW_OP_reg0 RAX, DW_OP_piece 0x4
       0x000000000000001b - 0x0000000000000024: DW_OP_breg5 RDI+0)

And like this for debug_loc.dwo entries:
    DW_AT_location [DW_FORM_sec_offset]   (0x00000000
      Addr idx 2 (w/ length 190): DW_OP_consts +0, DW_OP_stack_value
      Addr idx 3 (w/ length 23): DW_OP_reg0 RAX, DW_OP_piece 0x4)

Simple locations without ranges are printed inline:

   DW_AT_location [DW_FORM_block1]       (DW_OP_reg4 RSI, DW_OP_piece 0x4, DW_OP_bit_piece 0x20 0x0)

The debug_loc(.dwo) dumping in changed accordingly to factor the code.

Reviewers: dblaikie, aprantl, friss

Subscribers: mgorny, javed.absar, hiraditya, llvm-commits, JDevlieghere

Differential Revision: https://reviews.llvm.org/D37123

llvm-svn: 312042
2017-08-29 21:41:21 +00:00
..
CMakeLists.txt [dwarfdump] Pretty print location expressions and location lists 2017-08-29 21:41:21 +00:00
DWARFAbbreviationDeclaration.cpp [DWARF] NFC: Collect info used by DWARFFormValue into a helper. 2017-06-26 18:43:01 +00:00
DWARFAcceleratorTable.cpp [DWARF] Added verification check for tags in accelerator tables. This patch verifies that the atom tag is actually the same with the tag of the DIE that we retrieve from the table. 2017-07-31 18:01:16 +00:00
DWARFCompileUnit.cpp Introduce -brief command line option to llvm-dwarfdump 2017-06-06 23:28:45 +00:00
DWARFContext.cpp [dwarfdump] Pretty print location expressions and location lists 2017-08-29 21:41:21 +00:00
DWARFDataExtractor.cpp Use delegation instead of inheritance. 2017-07-19 22:27:28 +00:00
DWARFDebugAbbrev.cpp [DebugInfo] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-02-27 23:43:14 +00:00
DWARFDebugAranges.cpp [DebugInfo] Use shrink_to_fit to simplify code. NFCI. 2017-08-01 14:38:08 +00:00
DWARFDebugArangeSet.cpp [DebugInfo] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-02-27 23:43:14 +00:00
DWARFDebugFrame.cpp [DebugInfo] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-23 21:57:40 +00:00
DWARFDebugInfoEntry.cpp [DWARF] NFC: DWARFDataExtractor combines relocs with DataExtractor. 2017-06-29 16:52:08 +00:00
DWARFDebugLine.cpp [DWARF] NFC: DWARFDataExtractor combines relocs with DataExtractor. 2017-06-29 16:52:08 +00:00
DWARFDebugLoc.cpp [dwarfdump] Pretty print location expressions and location lists 2017-08-29 21:41:21 +00:00
DWARFDebugMacro.cpp Move Object format code to lib/BinaryFormat. 2017-06-07 03:48:56 +00:00
DWARFDebugPubTable.cpp Move Object format code to lib/BinaryFormat. 2017-06-07 03:48:56 +00:00
DWARFDebugRangeList.cpp [llvm-dwarfdump] - Print section name and index when dumping .debug_info ranges 2017-08-15 12:32:54 +00:00
DWARFDie.cpp [dwarfdump] Pretty print location expressions and location lists 2017-08-29 21:41:21 +00:00
DWARFExpression.cpp [dwarfdump] Pretty print location expressions and location lists 2017-08-29 21:41:21 +00:00
DWARFFormValue.cpp [llvm-dwarfdump] Hide .debug_str and DIE reference offsets in brief mode 2017-08-18 21:35:44 +00:00
DWARFGdbIndex.cpp Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
DWARFTypeUnit.cpp Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
DWARFUnit.cpp DebugInfo: Test & handle (differently) non-zero DW_AT_ranges_base 2017-08-02 20:16:22 +00:00
DWARFUnitIndex.cpp DebugInfo: Use DWP cu_index to speed up symbolizing (as intended) 2017-07-30 08:12:07 +00:00
DWARFVerifier.cpp [DebugInfo][DWARF] Correct some usages of PRIx32 to PRIx64 2017-08-07 15:37:57 +00:00
LLVMBuild.txt [dwarfdump] Pretty print location expressions and location lists 2017-08-29 21:41:21 +00:00
SyntaxHighlighting.cpp [DebugInfo] Fix some Include What You Use warnings; other minor fixes (NFC). 2017-03-01 01:14:23 +00:00
SyntaxHighlighting.h [DebugInfo] Fix some Include What You Use warnings; other minor fixes (NFC). 2017-03-01 01:14:23 +00:00