[PATCH] D68620: DebugInfo: Use base address selection entries for debug_loc

Wolfgang Pieb via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 9 17:09:37 PDT 2020


wolfgangp added a comment.

In D68620#1995191 <https://reviews.llvm.org/D68620#1995191>, @dblaikie wrote:

> In D68620#1729184 <https://reviews.llvm.org/D68620#1729184>, @rupprecht wrote:
>
> > It looks like this caused a very large increase in binary size (627M->686M). Is that expected/has anyone else observed this?
>
>
> sorry I didn't see this (somehow ended up muting this thread) - which binary built with what flags? could you run bloaty or otherwise compare the objects before/after. I'd expect some growth in linked executable size of a non-split, optimized debug build, but that seems a bit more than I'd expect/seems to be observed elsewhere so far as I know.


FWIW, we're seeing about a 30-35% increase in the size of the .debug_loc sections across a variety of benchmarks (DWARF4, optimized build, non-split). Given that the majority of location lists seem to have 2 entries, and the base selection entry adds a third, this figure makes intuitive sense. The tradeoff is a reduced number of relocations against the .debug_loc sections, which does not seem to have all that much impact on link times.
Given that with DWARF v5 we can use the start_offset/end_offset LLE types with possibly small offset values, it seems that the tradeoff is more favorable towards base selection entries with DWARF5 than it is with DWARF4.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D68620/new/

https://reviews.llvm.org/D68620





More information about the llvm-commits mailing list