- User Since
- Apr 3 2019, 5:55 PM (93 w, 6 d)
Address Wei's feedback. Clean up ICPCallee from InlineCandidate now that we don't check InlineCost before ICP.
Thu, Jan 14
Wed, Jan 13
Thanks for refactoring. We had internal change to add IsFullLTOPreLink alongside with IsThinLTOPreLink for a few places. And we always wanted clean it up too. :)
Tue, Jan 12
Thanks for the change.
retitle, rename inlineCandidate.
Fri, Jan 8
Tue, Jan 5
Mon, Jan 4
Sun, Jan 3
Fix test and linter.
Dec 16 2020
Thanks for the refactoring and clean up, looks great!
Dec 14 2020
To reduce the profile loading time during postlink phase when ThinLTO is enabled, we are going to split profile into two parts. One part contains profiles with inline instance and another part contains flattened profiles without inline instance in them.
Dec 7 2020
Thanks for quick fix!
Dec 6 2020
I believe it's not worth doing just to be able to use one constant string in one place.
If we move them into Attributes.td, we would be adding 3 new attributes to EnumAttr, just to support this, which I think is an overkill.
We find that after this change, the elapsed time to build a large application distributively is reduced by 5% and the accumulative cpu time used for building is also reduced by 5%.
Dec 3 2020
This looks great. Thanks for working on this and making all the changes!
Dec 2 2020
Dec 1 2020
Address Wei's feedback.
Nov 20 2020
Thanks for reviewing and the feedbacks. I think I've addressed all of the current ones. Please take a look, thanks!
Nov 19 2020
Nov 18 2020
We record function entry count and branch weights and use them to compute the count when needed. This mechanism works well in a perfect world, but often breaks in real programs
Nov 13 2020
This change covers non-LTO cases. For LTO, I think we would need to pass it from driver to LTO. Something like this: tools::addLTOOptions -> lld -> lto::Config (Config->TargetOptions->MCTargetOptions) ->LTO Backend.
Nov 11 2020
Nov 10 2020
Nov 9 2020
Nov 5 2020
Nov 4 2020
Nov 3 2020
If CSSPGO has the priority based inliner, does it mean it will do most inliner work and CGSCC inliner will mostly be used as an iterative clean up pass?
Nov 2 2020
Fix typo and linter, add getCanonicalFnName.
Thanks for quick review! I've update the patch, also see replies inline.
address feedback from Wei and David
Oct 30 2020
If it's not too much work, I'd suggest squash the refactoring of your later patch (RVA->Offset etc from https://reviews.llvm.org/D89715) into this one. Upstream patch does not have to map 1:1 to internal patch - squashing, minimizing code churn and grouping by functionality helps make it easier for other reviewers. Thanks.
Oct 29 2020
Oct 28 2020
Oct 25 2020
format, separate change in ControlHeightReduction, remove remaining internal markers.
Oct 23 2020
Thanks for tracking down the assertion. The context profile adjustment and merging for AutoFDO today is a best effort approximation. Given the case we ran into, which is hard to handle perfectly and also very rare, removing the assertion makes sense to me.
Oct 21 2020
Oct 20 2020
Thanks for the context! So the intention is to use subclass to hide extra complexity of uncommon sections/variants and its reader/writer into subclass. Then this refactoring makes sense.
Oct 18 2020
Thanks for the refactoring. I'm wondering what is most flexible way for us to take advantage of extended binary format. I thought being able to mix and use different section is really flexible, but if we tie non-common section to specific new format/sub class, it may restrict the way we use this format. E.g. if ExtFormatA has SecProfileSymbolList, and ExtFormatB has something like SecFuncMetadata (which is what have for CSSPGO internally), then consider if there's a need for a profile to have both SecProfileSymbolList and SecFuncMetadata - implementing that through inheritance could be a bit cumbersome.
Oct 13 2020
Would be good to share benchmark/performance numbers you have for this change too. Thanks.
Oct 12 2020
LGTM. I think we can get this in first to address the fall out from https://reviews.llvm.org/D87470, while investigating ASAN failure.
Oct 5 2020
Sep 20 2020
Landed the change on behalf of @wlei.
Sep 16 2020
LGTM except a minor comment.
LGTM. A small nit: the code snippet in the description could be removed as it's indeed in the codebase already. :)
Sep 15 2020
Just saw this. Thanks @Alina Sbirlea for fixing the tests, much appreciated!
Committed on behalf of @ayermolo.
Committed on behalf of @modimo.