User Details
- User Since
- Mar 11 2015, 10:49 AM (418 w, 5 d)
Feb 5 2020
DisallowAllBonuses is called only when the callsite or the callee entry is cold. The only reason to make it conditional on caller's inlinability would be for code size improvement. Among the 3 bonuses disabled in DisallowAllBonuses, only the LastCallToStaticBonus is useful to allow for code size reduction. You don't want to give a single BB bonus or a vector bonus for a cold callee (or a callee at a cold callsite) whose caller is unlikely to be inlined.
Feb 3 2020
Jan 10 2020
LGTM
Jan 8 2020
LGTM
Jan 7 2020
Oct 7 2019
Jul 16 2019
Jun 12 2019
The only case where not inlining results in a bigger caller size is when the cost of inlining a callsite is negative. But such callsites always get inlined as the threshold is always positive. Why do you require an additional bonus to get those callsites inlined?
Apr 23 2019
Instead of passing a boolean, would it be better to pass ProfileCountType enum? Right now it doesn't make a difference as there are only two valid profile count types, but if that set expands, we could make them like bitmasks and then get a subset match.
Apr 11 2019
LGTM after making the hasProfileSummary check consistent in both flavors of shouldOptimizeForSize
Apr 10 2019
Apr 2 2019
Mar 21 2019
Feb 19 2019
One option is to call DiagnosticHandler::isMissedOptRemarkEnabled in Inliner and pass the result (bool) when creating the CallAnalyzer object. This can be ORed with whether the missed opt remark is enabled for inline-cost.
Jan 9 2019
Jan 8 2019
Also defined AddCountTy to be function_ref<void(NodeRef, Scaled64)>
Address review comments
Jan 7 2019
Jan 4 2019
Fix variable naming.
Reviving this old patch as Wei recently noticed a case where a large function with many callees and many callers spent significant amount of time in shouldBeDeferred. This was triggered by change in profile causing many callees to be inlined into this large function.
Dec 13 2018
LGTM
Add a test case to check for HasSyntheticEntryCounts flag.
Add a test case to check for synthetic entry counts and rebase.
Could you add a test case or augment an existing test to check that the function entry count is 0 if -sample-profile and -profile-sample-accurate is specified?
Dec 12 2018
Address review comments
Dec 11 2018
Address Teresa's comments, rebase and fix test failures after rebasing.
I have to bump up the index version to 6 after rebasing and fix a few failing test cases.
Nov 30 2018
Rebase and address Teresa's comments.
Nov 27 2018
Nov 15 2018
Sorry for this very long delay in following up.
Nov 2 2018
Oct 10 2018
I also think checking for the change in worklist size better captures the splitting of the SCC than checking C != OldC
Aug 15 2018
Aug 14 2018
Aug 6 2018
Aug 3 2018
Address review comments.
Aug 2 2018
Updates to work with r338358.
Jul 26 2018
Jul 24 2018
LGTM with a change to the option description .
Jul 17 2018
Change cast_or_null to dyn_cast_or_null
Jul 16 2018
Address Simon's comments.
Jul 11 2018
Address review comments.
Jul 9 2018
Jul 5 2018
Rebase after r336404
Jul 3 2018
Implement this by expanding the patterns generated by isFNEG
Jun 22 2018
I am going to take the approach suggested by Sanjay and expand isFNEG to
handle splat of a negated scalar. Then, the current combineFMA should take
care of the rest. I got the isFNEG to work with shuffle (and work on the
current test case) but haven't yet handled the insertelement case. I am out
traveling for the next ten days and will send a revised patch after I am
back.
Rebase after adding the test case at r335367
No, this doesn't deal with this. Should I start from the negate and push it
down if it is transitively used by fma?
Rebase after r335342
Jun 21 2018
May 10 2018
Ping
LGTM
May 7 2018
LGTM
Apr 10 2018
This is looking good. Main comment I have is about the number of promotions+inlining that can take place is unbounded. One could argue that if there were many small direct calls, we would inline all of them, but still I feel it is better to limit the number of promotions.
Apr 9 2018
Address Teresa's comments and rebase.
Mar 30 2018
Mar 29 2018
Mar 20 2018
Mar 14 2018
Feb 22 2018
Feb 21 2018
Feb 20 2018
Address review comments.