[llvm-dev] Call for testing -- new variable location tracking solution
Caroline Tice via llvm-dev
llvm-dev at lists.llvm.org
Thu Sep 2 08:29:45 PDT 2021
I ran some tests using this flag on a large set of tests inside Google
and saw only very slight degradations (~1%) in memory usage and wall clock
Focusing on optimized builds (-O3) with debug information on a
representative set of medium-to-large programs,
The ratio sum_all_params(#bytes in parent scope covered by
DW_AT_location)/#bytes in parent scope) improved (increased) by 6-8%.
The ratio of sum_all_variables(#bytes in parent scope covered by
DW_AT_location)/#bytes in parent scope *mostly* improved (increased) 3-4%.
One extremely large program had a 22% improvement. However another very
large program had a 30% regression.
The ratio of local_vars_bytes_with_locations:sum_all_local_vars(#bytes in
parent scope covered by DW_AT_location)/#bytes in parent scope also showed
regressions in those two large programs.
The ratio of sum_all_params(#bytes in parent scope covered by
DW_OP_entry_value)/#bytes in parent scope showed 2-4% improvements across
all the test programs.
Unsurprisingly, the size of debug_loclists increased 5-11%.
If you want more details, let me know.
-- Caroline Tice
cmtice at google.com
On Wed, Aug 18, 2021 at 1:31 PM Jeremy Morse via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> Hi Amy,
> On Wed, Aug 18, 2021 at 8:58 PM Amy Huang <akhuang at google.com> wrote:
> > Just wanted to say I've tried building Chrome with this (with -g2 -O2)
> on Linux and didn't see a noticeable difference in compile time.
> Excellent, that's really reassuring given how large chrome is, thanks
> for trying a build with the flag,
> > Unfortunately running llvm-locstats fails on the chrome binary, so no
> coverage stats.
> That's a shame; however I'm confident there won't be a coverage
> regression, detecting any performance cliff edges was my main aim
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev