Page MenuHomePhabricator

eraman (Easwaran Raman)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 11 2015, 10:49 AM (418 w, 5 d)

Recent Activity

Feb 5 2020

eraman added a comment to D73994: [InlineCost] Relax bonus restrictions on uninlinable functions.

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 5 2020, 11:24 AM · Restricted Project

Feb 3 2020

eraman accepted D73825: [llvm][NFC] Factor out cost-model independent inling decision.
Feb 3 2020, 10:11 AM · Restricted Project

Jan 10 2020

eraman added a comment to D71733: [NFC][InlineCost] Factor cost modeling out of CallAnalyzer traversal..

LGTM

Jan 10 2020, 4:27 PM · Restricted Project

Jan 8 2020

eraman added a comment to D71733: [NFC][InlineCost] Factor cost modeling out of CallAnalyzer traversal..

LGTM

Jan 8 2020, 4:05 PM · Restricted Project
eraman added inline comments to D71733: [NFC][InlineCost] Factor cost modeling out of CallAnalyzer traversal..
Jan 8 2020, 1:46 PM · Restricted Project

Jan 7 2020

eraman added inline comments to D71733: [NFC][InlineCost] Factor cost modeling out of CallAnalyzer traversal..
Jan 7 2020, 1:17 PM · Restricted Project

Oct 7 2019

eraman closed D42212: [ThinLTO] Add call edges' relative block frequency to per-module summary..
Oct 7 2019, 4:53 AM · Restricted Project

Jul 16 2019

eraman added inline comments to D64642: [AMDGPU] Tune inlining parameters for AMDGPU target.
Jul 16 2019, 9:27 PM · Restricted Project, Restricted Project

Jun 12 2019

eraman added a comment to D63034: Slightly increase LastCallToStaticBonus for cold callsites.

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?

Jun 12 2019, 10:07 PM · Restricted Project

Apr 23 2019

eraman accepted D61025: Add an optional arg to include/exclude synthetic profile when query hasProfileData.
Apr 23 2019, 5:20 PM · Restricted Project
eraman added a comment to D61025: Add an optional arg to include/exclude synthetic profile when query hasProfileData.

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 23 2019, 4:08 PM · Restricted Project
eraman accepted D61025: Add an optional arg to include/exclude synthetic profile when query hasProfileData.
Apr 23 2019, 11:35 AM · Restricted Project

Apr 11 2019

eraman accepted D59514: [PGO] Profile guided code size optimization..

LGTM after making the hasProfileSummary check consistent in both flavors of shouldOptimizeForSize

Apr 11 2019, 10:55 AM · Restricted Project

Apr 10 2019

eraman added inline comments to D59514: [PGO] Profile guided code size optimization..
Apr 10 2019, 12:34 PM · Restricted Project

Apr 2 2019

eraman added inline comments to D59514: [PGO] Profile guided code size optimization..
Apr 2 2019, 2:42 PM · Restricted Project

Mar 21 2019

eraman added inline comments to D59514: [PGO] Profile guided code size optimization..
Mar 21 2019, 4:38 PM · Restricted Project

Feb 19 2019

eraman added a comment to D58399: [Inliner] Don't initialize ComputeFullInlineCost to be always true because of ORE.

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.

Feb 19 2019, 1:01 PM · Restricted Project

Jan 9 2019

eraman committed rL350755: Refactor synthetic profile count computation. NFC..
Refactor synthetic profile count computation. NFC.
Jan 9 2019, 12:14 PM
eraman closed D56464: Refactor synthetic profile count computation. NFC..
Jan 9 2019, 12:14 PM
eraman committed rL350751: [Inliner] Assert that the computed inline threshold is non-negative..
[Inliner] Assert that the computed inline threshold is non-negative.
Jan 9 2019, 11:30 AM
eraman closed D56409: [Inliner] Assert that the computed inline threshold is non-negative..
Jan 9 2019, 11:30 AM

Jan 8 2019

eraman added a comment to D56464: Refactor synthetic profile count computation. NFC..

Also defined AddCountTy to be function_ref<void(NodeRef, Scaled64)>

Jan 8 2019, 5:25 PM
eraman updated the diff for D56464: Refactor synthetic profile count computation. NFC..

Address review comments

Jan 8 2019, 5:24 PM
eraman created D56464: Refactor synthetic profile count computation. NFC..
Jan 8 2019, 4:39 PM

Jan 7 2019

eraman created D56409: [Inliner] Assert that the computed inline threshold is non-negative..
Jan 7 2019, 1:20 PM

Jan 4 2019

eraman closed D34919: [Inliner] Optimize shouldBeDeferred.
Jan 4 2019, 6:33 PM
eraman committed rL350456: [Inliner] Optimize shouldBeDeferred.
[Inliner] Optimize shouldBeDeferred
Jan 4 2019, 6:31 PM
eraman added a comment to D34919: [Inliner] Optimize shouldBeDeferred.

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.

Jan 4 2019, 4:31 PM
eraman updated the diff for D34919: [Inliner] Optimize shouldBeDeferred.

Fix variable naming.

Jan 4 2019, 2:37 PM
eraman added a comment to D34919: [Inliner] Optimize shouldBeDeferred.

Nice, LGTM!

Does it make sense to add a (very early) assert that the thresholds are non-negative? I agree with you that it shouldn't be happening and it seems like a good invariant to enforce. Can of course be a follow-up patch.

Jan 4 2019, 2:33 PM
eraman added a comment to D34919: [Inliner] Optimize shouldBeDeferred.

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.

Jan 4 2019, 12:17 PM
eraman updated subscribers of D34919: [Inliner] Optimize shouldBeDeferred.
Jan 4 2019, 12:17 PM
eraman updated the diff for D34919: [Inliner] Optimize shouldBeDeferred.

Rebase.

Jan 4 2019, 12:13 PM

Dec 13 2018

eraman accepted D55660: [SampleFDO] handle ProfileSampleAccurate when initializing function entry count.

LGTM

Dec 13 2018, 1:12 PM
eraman committed rL349076: [ThinLTO] Compute synthetic function entry count.
[ThinLTO] Compute synthetic function entry count
Dec 13 2018, 11:57 AM
eraman closed D43521: [ThinLTO] Compute synthetic function entry count.
Dec 13 2018, 11:57 AM
eraman added a comment to D43521: [ThinLTO] Compute synthetic function entry count.

Add a test case to check for HasSyntheticEntryCounts flag.

Dec 13 2018, 11:45 AM
eraman updated the diff for D43521: [ThinLTO] Compute synthetic function entry count.

Add a test case to check for synthetic entry counts and rebase.

Dec 13 2018, 11:44 AM
eraman added a comment to D55660: [SampleFDO] handle ProfileSampleAccurate when initializing function entry count.

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 13 2018, 10:31 AM

Dec 12 2018

eraman updated the diff for D43521: [ThinLTO] Compute synthetic function entry count.

Address review comments

Dec 12 2018, 2:28 PM
eraman added inline comments to D43521: [ThinLTO] Compute synthetic function entry count.
Dec 12 2018, 2:28 PM

Dec 11 2018

eraman updated the diff for D43521: [ThinLTO] Compute synthetic function entry count.

Address Teresa's comments, rebase and fix test failures after rebasing.

Dec 11 2018, 5:37 PM
eraman added a comment to D43521: [ThinLTO] Compute synthetic function entry count.

I have to bump up the index version to 6 after rebasing and fix a few failing test cases.

Dec 11 2018, 5:36 PM

Nov 30 2018

eraman updated the diff for D43521: [ThinLTO] Compute synthetic function entry count.

Rebase and address Teresa's comments.

Nov 30 2018, 11:22 AM
eraman added inline comments to D43521: [ThinLTO] Compute synthetic function entry count.
Nov 30 2018, 11:18 AM

Nov 27 2018

eraman added inline comments to D43521: [ThinLTO] Compute synthetic function entry count.
Nov 27 2018, 5:21 PM

Nov 15 2018

eraman added a comment to D43521: [ThinLTO] Compute synthetic function entry count.

Sorry for this very long delay in following up.

Nov 15 2018, 5:55 PM

Nov 2 2018

eraman committed rL346005: [ProfileSummary] Add options to override hot and cold count thresholds..
[ProfileSummary] Add options to override hot and cold count thresholds.
Nov 2 2018, 10:42 AM
eraman closed D54040: [ProfileSummary] Add options to override hot and cold count thresholds..
Nov 2 2018, 10:42 AM
eraman created D54040: [ProfileSummary] Add options to override hot and cold count thresholds..
Nov 2 2018, 10:31 AM

Oct 10 2018

eraman added a comment to D52915: [PM] keeping history when original SCC split and then merge into itself in the same round of SCC update ..

I also think checking for the change in worklist size better captures the splitting of the SCC than checking C != OldC

Oct 10 2018, 12:08 PM

Aug 15 2018

eraman committed rL339835: [BFI] Use rounding while computing profile counts..
[BFI] Use rounding while computing profile counts.
Aug 15 2018, 5:27 PM
eraman closed D50822: [BFI] Use rounding while computing profile counts..
Aug 15 2018, 5:27 PM
eraman created D50822: [BFI] Use rounding while computing profile counts..
Aug 15 2018, 5:10 PM

Aug 14 2018

eraman added inline comments to D50704: [Inline-cost] Teach cost function to account for accumulative code-size growth.
Aug 14 2018, 2:22 PM

Aug 6 2018

eraman committed rL339043: [X86] Recognize a splat of negate in isFNEG.
[X86] Recognize a splat of negate in isFNEG
Aug 6 2018, 12:24 PM
eraman closed D48467: [X86] Recognize a splat of negate in isFNEG.
Aug 6 2018, 12:24 PM

Aug 3 2018

eraman updated the diff for D48467: [X86] Recognize a splat of negate in isFNEG.

Address review comments.

Aug 3 2018, 10:25 AM
eraman added inline comments to D48467: [X86] Recognize a splat of negate in isFNEG.
Aug 3 2018, 10:24 AM

Aug 2 2018

eraman added a comment to D48467: [X86] Recognize a splat of negate in isFNEG.

@eraman Please can you take a look at rL338358 - this shows how to use getTargetConstantBitsFromNode to avoid a lot of extra checks you need from using getTargetConstantFromNode directly

Aug 2 2018, 11:10 AM
eraman updated the diff for D48467: [X86] Recognize a splat of negate in isFNEG.

Updates to work with r338358.

Aug 2 2018, 11:08 AM

Jul 26 2018

eraman added inline comments to D48467: [X86] Recognize a splat of negate in isFNEG.
Jul 26 2018, 11:06 AM

Jul 24 2018

eraman accepted D49447: Add an option to specify function name when view/print CFG.

LGTM with a change to the option description .

Jul 24 2018, 10:10 PM

Jul 17 2018

eraman added inline comments to D48467: [X86] Recognize a splat of negate in isFNEG.
Jul 17 2018, 1:58 PM
eraman updated the diff for D48467: [X86] Recognize a splat of negate in isFNEG.

Change cast_or_null to dyn_cast_or_null

Jul 17 2018, 1:58 PM

Jul 16 2018

eraman updated the diff for D48467: [X86] Recognize a splat of negate in isFNEG.

Address Simon's comments.

Jul 16 2018, 4:03 PM
eraman added inline comments to D48467: [X86] Recognize a splat of negate in isFNEG.
Jul 16 2018, 4:02 PM

Jul 11 2018

eraman updated the diff for D48467: [X86] Recognize a splat of negate in isFNEG.

Address review comments.

Jul 11 2018, 12:18 PM
eraman added inline comments to D48467: [X86] Recognize a splat of negate in isFNEG.
Jul 11 2018, 12:17 PM

Jul 9 2018

eraman added inline comments to D48467: [X86] Recognize a splat of negate in isFNEG.
Jul 9 2018, 4:16 PM

Jul 5 2018

eraman updated the diff for D48467: [X86] Recognize a splat of negate in isFNEG.

Rebase after r336404

Jul 5 2018, 6:00 PM
eraman committed rL336404: [x86]Add a test case to show missed vfnmadd generation..
[x86]Add a test case to show missed vfnmadd generation.
Jul 5 2018, 5:36 PM

Jul 3 2018

eraman retitled D48467: [X86] Recognize a splat of negate in isFNEG from [X86] Recognize an fnma in the presence of an intervening shuffle. to [X86] Recognize a splat of negate in isFNEG.
Jul 3 2018, 6:17 PM
eraman updated the diff for D48467: [X86] Recognize a splat of negate in isFNEG.

Implement this by expanding the patterns generated by isFNEG

Jul 3 2018, 6:16 PM

Jun 22 2018

eraman added a comment to D48467: [X86] Recognize a splat of negate in isFNEG.

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.

Jun 22 2018, 2:10 PM
eraman updated the diff for D48467: [X86] Recognize a splat of negate in isFNEG.

Rebase after adding the test case at r335367

Jun 22 2018, 10:38 AM
eraman updated subscribers of D48467: [X86] Recognize a splat of negate in isFNEG.

No, this doesn't deal with this. Should I start from the negate and push it
down if it is transitively used by fma?

Jun 22 2018, 10:36 AM
eraman committed rL335367: [X86] Add a test to show missed opportunity to generate vfnmadd.
[X86] Add a test to show missed opportunity to generate vfnmadd
Jun 22 2018, 10:05 AM
eraman updated the diff for D48467: [X86] Recognize a splat of negate in isFNEG.

Rebase after r335342

Jun 22 2018, 7:26 AM

Jun 21 2018

eraman created D48467: [X86] Recognize a splat of negate in isFNEG.
Jun 21 2018, 5:54 PM

May 10 2018

eraman added a comment to D43521: [ThinLTO] Compute synthetic function entry count.

Ping

May 10 2018, 4:14 PM
eraman accepted D39869: [Inliner] Inline through indirect call sites having !callees metadata.

LGTM

May 10 2018, 4:09 PM

May 7 2018

eraman accepted D46526: [NewPM] Emit inliner NoDefinition missed optimization remark.

LGTM

May 7 2018, 6:30 PM
eraman added inline comments to D46526: [NewPM] Emit inliner NoDefinition missed optimization remark.
May 7 2018, 11:17 AM

Apr 10 2018

eraman added a comment to D39869: [Inliner] Inline through indirect call sites having !callees metadata.

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 10 2018, 4:44 PM

Apr 9 2018

eraman added inline comments to D43521: [ThinLTO] Compute synthetic function entry count.
Apr 9 2018, 5:57 PM
eraman updated the diff for D43521: [ThinLTO] Compute synthetic function entry count.

Address Teresa's comments and rebase.

Apr 9 2018, 5:57 PM

Mar 30 2018

eraman accepted D45062: [ThinLTO] Add an option to force summary call edges cold for debugging.
Mar 30 2018, 1:36 PM

Mar 29 2018

eraman added inline comments to D45062: [ThinLTO] Add an option to force summary call edges cold for debugging.
Mar 29 2018, 5:44 PM

Mar 20 2018

eraman added inline comments to D39869: [Inliner] Inline through indirect call sites having !callees metadata.
Mar 20 2018, 6:07 PM

Mar 14 2018

eraman added inline comments to D44450: [InlineCost] Don't return early when allowSizeGrowth(CS) is false.
Mar 14 2018, 10:17 AM · Restricted Project

Feb 22 2018

eraman committed rL325823: [ThinLTO] Represent relative BF using a scaled representation ..
[ThinLTO] Represent relative BF using a scaled representation .
Feb 22 2018, 11:46 AM
eraman closed D43520: [ThinLTO] Represent relative BF using a scaled representation ..
Feb 22 2018, 11:46 AM

Feb 21 2018

eraman added inline comments to D43520: [ThinLTO] Represent relative BF using a scaled representation ..
Feb 21 2018, 12:35 PM

Feb 20 2018

eraman updated the diff for D43520: [ThinLTO] Represent relative BF using a scaled representation ..

Address review comments.

Feb 20 2018, 5:32 PM
eraman added inline comments to D43520: [ThinLTO] Represent relative BF using a scaled representation ..
Feb 20 2018, 5:31 PM
eraman created D43521: [ThinLTO] Compute synthetic function entry count.
Feb 20 2018, 11:55 AM
eraman created D43520: [ThinLTO] Represent relative BF using a scaled representation ..
Feb 20 2018, 11:35 AM

Feb 1 2018

eraman committed rL323994: Remove CallGraphTraits and use equivalent methods in GraphTraits.
Remove CallGraphTraits and use equivalent methods in GraphTraits
Feb 1 2018, 11:42 AM
eraman closed D42703: Remove CallGraphTraits and use equivalent methods in GraphTraits.
Feb 1 2018, 11:42 AM