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

Tobias Hieta via llvm-dev
Wed, 09 Sep 2020 10:25:39 -0000

Hello,

We use PGO to optimize clang itself. I can see if I have time to give this
patch some testing. Anything special to look out for except compile
benchmark and time to build clang, do you expect any changes in code size?

On Wed, Sep 9, 2020, 10:03 Renato Golin via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> 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
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20200909/5535c2bc/attachment.html>