[llvm-dev] [RFC] New Feature Proposal: De-Optimizing Cold Functions using PGO Info

Renato Golin via llvm-dev
Wed, 09 Sep 2020 08:03:20 -0000

On Wed, 9 Sep 2020 at 01:21, Min-Yih Hsu via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> From the above experiments we observed that compilation / link time
> improvement scaled linearly with the percentage of cold functions we
> skipped. Even if we only skipped functions that never got executed (i.e.
> had counter values equal to zero, which is effectively “0%”), we already
> had 5~10% of “free ride” on compilation / linking speed improvement and
> barely had any target performance penalty.
>

Hi Min (Paul, Edd),

This is great work! Small, clear patch, substantial impact, virtually no
downsides.

Just looking at your test-suite numbers, not optimising functions "never
used" during the profile run sounds like an obvious "default PGO
behaviour"
to me. The flag defining the percentage range is a good option for
development builds.

I imagine you guys have run this on internal programs and found beneficial,
too, not just the LLVM test-suite (which is very small and
non-representative). It would be nice if other groups that already use PGO
could try that locally and spot any issues.

cheers,
--renato
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20200909/f867cb41/attachment.html>