[PATCH] D28040: Don't store the NULL DIEs in the DIE array in the DWARFUnit.

Greg Clayton via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 21 16:47:51 PST 2016


clayborg created this revision.
clayborg added reviewers: dblaikie, aprantl, echristo, probinson, llvm-commits.
Herald added subscribers: jgosnell, mehdi_amini.

Storing a DWARFDebugInfoEntry for each NULL DIE that terminates a sibling chain takes up memory. We can get away with not storing the NULL DIEs as long as we still can dump the DWARF correctly and also get the sibling DIEs correctly. This patch implements this and removes the "bool DWARFDie::IsNULL()" function as it is no longer needed.

llvm-dsymutil performance improved very slightly when making a dSYM file for a debug version of clang with over 1200 .o files.


https://reviews.llvm.org/D28040

Files:
  include/llvm/DebugInfo/DWARF/DWARFDebugInfoEntry.h
  include/llvm/DebugInfo/DWARF/DWARFDie.h
  lib/DebugInfo/DWARF/DWARFDie.cpp
  lib/DebugInfo/DWARF/DWARFUnit.cpp
  tools/dsymutil/DwarfLinker.cpp
  unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D28040.82290.patch
Type: text/x-patch
Size: 12753 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161222/a1088657/attachment.bin>


More information about the llvm-commits mailing list