[PATCH] D68620: DebugInfo: Use base address selection entries for debug_loc
David Blaikie via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Aug 28 15:13:23 PDT 2020
dblaikie added a comment.
Herald added a subscriber: danielkiss.
In D68620#2083696 <https://reviews.llvm.org/D68620#2083696>, @wolfgangp wrote:
> 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.
Sorry I haven't given this more attention - but it is on my list (though I guess you've worked around it in some manner/downstream patch for now?) - but out of curiosity, does the change in 57d8acac64b87cb4286b00485fb2da7521fc091e <https://reviews.llvm.org/rG57d8acac64b87cb4286b00485fb2da7521fc091e> help much? (I mean, it helps in general, so maybe you'd still want to disable the base address specifier use - even if it was offset by that change, because the change would still be a win in addition to disable the base address specifiers)
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