Renato Golin via llvm-dev
2020-Sep-09 17:28 UTC
[llvm-dev] [RFC] New Feature Proposal: De-Optimizing Cold Functions using PGO Info
On Wed, 9 Sep 2020 at 18:15, Min-Yih Hsu via llvm-dev < 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/20200909/e397f06d/attachment.html>
Tobias Hieta via llvm-dev
2020-Sep-09 17:58 UTC
[llvm-dev] [RFC] New Feature Proposal: De-Optimizing Cold Functions using PGO Info
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> wrote:> On Wed, 9 Sep 2020 at 18:15, Min-Yih Hsu via llvm-dev < > 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/20200909/37ccd617/attachment.html>
Modi Mo via llvm-dev
2020-Sep-10 00:55 UTC
[llvm-dev] [RFC] New Feature Proposal: De-Optimizing Cold Functions using PGO Info
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>
Possibly Parallel Threads
- [RFC] New Feature Proposal: De-Optimizing Cold Functions using PGO Info
- [RFC] New Feature Proposal: De-Optimizing Cold Functions using PGO Info
- [RFC] New Feature Proposal: De-Optimizing Cold Functions using PGO Info
- [LLVMdev] [cfe-dev] [RFC] add Function Attribute to disable optimization
- [LLVMdev] [RFC] add Function Attribute to disable optimization