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

Modi Mo via llvm-dev
Thu, 10 Sep 2020 00:55:30 -0000

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>