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

Modi Mo via llvm-dev llvm-dev at lists.llvm.org
Wed Sep 9 17:55:30 PDT 2020


FYI David is referring to PGSO (profile-guided size optimization) as it exists directly under that name, see: https://reviews.llvm.org/D67120. And yeah using PGSO is selecting optsize while this change is selecting optnone.

On 9/9/20, 10:58 AM, "llvm-dev on behalf of Tobias Hieta via llvm-dev" <llvm-dev-bounces at lists.llvm.org<mailto:llvm-dev-bounces at lists.llvm.org> on behalf of llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>> wrote:

Would it make sense to have a flag to select optnone or optsize? We would probably also do the tradeoff for a smaller binary.

On Wed, Sep 9, 2020, 19:28 Renato Golin <rengolin at gmail.com<mailto:rengolin at gmail.com>> wrote:
On Wed, 9 Sep 2020 at 18:15, Min-Yih Hsu via llvm-dev <llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>> wrote:
David mentioned in D87337 that LLVM has used similar techniques on code size (not sure what he was referencing, my guess will be something related to hot-cold code splitting).

IIUC, it's just using optsize instead of optnone. The idea is that, if the code really doesn't run often/at all, then the performance impact of reducing the size is negligible, but the size impact is considerable.

I'd wager that optsize could even be faster than optnone, as it would delete a lot of useless code... but not noticeable, as it wouldn't run much.

This is an idea that we (Verona Language) are interested in, too.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200910/ffc47f4d/attachment.html>


More information about the llvm-dev mailing list