1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 19:12:56 +02:00
llvm-mirror/include/llvm/DebugInfo
David Blaikie 01ab206194 [WIP][DebugInfo] Lazily parse debug_loclist offsets
Parsing DWARFv5 debug_loclist offsets when a CU is parsed is weighing
down memory usage of symbolizers that don't need to parse this data at
all. There's not much benefit to caching these anyway - since they are
O(1) lookup and reading once you know where the offset list starts (and
can do bounds checking with the offset list size too).

In general, I think it might be time to start paying down some of the
technical debt of loc/loclist/range/rnglist parsing to try to unify it a
bit more.

eg:

* Currently DWARFUnit has: RangeSection, RangeSectionBase, LocSection,
  LocSectionBase, LocTable, RngListTable, LoclistTableHeader (be nice if
  these were all wrapped up in two variables - one for loclists, one for
  rnglists)

* rnglists and loclists are handled differently (see:
  LoclistTableHeader, but no RnglistTableHeader)

* maybe all these types could be less stateful - lazily parse what they
  need to, even reparsing rather than caching because it doesn't seem
  too expensive, for instance. (though admittedly so long as it's
  constantcost/overead per compilatiton that's probably adequate)

* Maybe implementing and using a DWARFDataExtractor that can be
  sub-ranged (so we could slice it up to just the single contribution) -
  though maybe that's not so useful because loc/ranges need to refer to
  it by absolute, not contribution-relative mechanisms

Differential Revision: https://reviews.llvm.org/D86110
2020-08-18 10:49:39 -07:00
..
CodeView DebugSubsectionVisitor.h - remove unnecessary includes/forward declarations. NFC. 2020-07-22 14:19:41 +01:00
DWARF [WIP][DebugInfo] Lazily parse debug_loclist offsets 2020-08-18 10:49:39 -07:00
GSYM Correct 3 spelling errors in headers and doc strings. 2020-07-06 17:27:51 -07:00
MSF MappedBlockStream.h - remove unnecessary MSFLayout forward declaration. NFCI. 2020-07-22 14:19:40 +01:00
PDB PDBExtras.h - remove unnecessary raw_ostream forward declaration. NFCI. 2020-08-06 16:31:56 +01:00
Symbolize DIPrinter.h - reduce unnecessary includes to forward declarations. NFC. 2020-05-20 14:38:51 +01:00
DIContext.h [llvm-dwarfdump] Print [=<offset>] after --debug-* options in help output. 2020-06-02 11:06:11 -07:00