eraman (Easwaran Raman)
User

Projects

User does not belong to any projects.

User Details

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

Recent Activity

Wed, Jul 11

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

Address review comments.

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

Mon, Jul 9

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

Thu, Jul 5

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

Rebase after r336404

Thu, Jul 5, 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.
Thu, Jul 5, 5:36 PM

Tue, Jul 3

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.
Tue, Jul 3, 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

Tue, Jul 3, 6:16 PM

Fri, Jun 22

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.

Fri, Jun 22, 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

Fri, Jun 22, 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?

Fri, Jun 22, 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
Fri, Jun 22, 10:05 AM
eraman updated the diff for D48467: [X86] Recognize a splat of negate in isFNEG.

Rebase after r335342

Fri, Jun 22, 7:26 AM

Thu, Jun 21

eraman created D48467: [X86] Recognize a splat of negate in isFNEG.
Thu, Jun 21, 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

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
eraman committed rL323990: [GraphTraits] Add support for iterating over children edges..
[GraphTraits] Add support for iterating over children edges.
Feb 1 2018, 10:56 AM
eraman closed D42698: [GraphTraits] Add support for iterating over children edges..
Feb 1 2018, 10:55 AM

Jan 30 2018

eraman added inline comments to D36311: [ThinLTO] Add GraphTraits for FunctionSummaries.
Jan 30 2018, 3:41 PM
eraman added a dependency for D42703: Remove CallGraphTraits and use equivalent methods in GraphTraits: D42698: [GraphTraits] Add support for iterating over children edges..
Jan 30 2018, 12:35 PM
eraman added a dependent revision for D42698: [GraphTraits] Add support for iterating over children edges.: D42703: Remove CallGraphTraits and use equivalent methods in GraphTraits.
Jan 30 2018, 12:35 PM
eraman created D42703: Remove CallGraphTraits and use equivalent methods in GraphTraits.
Jan 30 2018, 12:34 PM
eraman created D42698: [GraphTraits] Add support for iterating over children edges..
Jan 30 2018, 11:34 AM

Jan 26 2018

eraman added inline comments to D36311: [ThinLTO] Add GraphTraits for FunctionSummaries.
Jan 26 2018, 4:07 PM

Jan 25 2018

eraman committed rL323478: Add testcase accidentally left out from r323460..
Add testcase accidentally left out from r323460.
Jan 25 2018, 2:26 PM
eraman committed rL323475: [SyntheticCounts] Rewrite the code using only graph traits..
[SyntheticCounts] Rewrite the code using only graph traits.
Jan 25 2018, 2:04 PM
eraman closed D42311: [SyntheticCounts] Rewrite the code using only graph traits..
Jan 25 2018, 2:04 PM
eraman committed rL323460: Re-land "[ThinLTO] Add call edges' relative block frequency to per-module….
Re-land "[ThinLTO] Add call edges' relative block frequency to per-module…
Jan 25 2018, 11:30 AM

Jan 24 2018

eraman updated the diff for D42212: [ThinLTO] Add call edges' relative block frequency to per-module summary..

Fix buildbot errors and warnings.

Jan 24 2018, 3:17 PM
eraman reopened D42212: [ThinLTO] Add call edges' relative block frequency to per-module summary..

The patch caused two issues

  • I used CI (of type CallInst*) to get the parent BB, but CI could be null. The fix is to use &BB directly.
  • Use of HotnessType Hotness : 3 gave warnings. The fix is to make it uint32_t Hotness : 3 and use static_cast to convert back and forth from enum.
Jan 24 2018, 3:17 PM
eraman committed rL323358: Revert "[ThinLTO] Add call edges' relative block frequency to per-module….
Revert "[ThinLTO] Add call edges' relative block frequency to per-module…
Jan 24 2018, 10:17 AM
eraman committed rL323349: [ThinLTO] Add call edges' relative block frequency to per-module summary..
[ThinLTO] Add call edges' relative block frequency to per-module summary.
Jan 24 2018, 9:53 AM
eraman closed D42212: [ThinLTO] Add call edges' relative block frequency to per-module summary..
Jan 24 2018, 9:52 AM

Jan 23 2018

eraman updated the diff for D42311: [SyntheticCounts] Rewrite the code using only graph traits..

Remove has_function_def from CallGraphTraits and fixup counts propagation code.

Jan 23 2018, 2:56 PM
eraman added inline comments to D42212: [ThinLTO] Add call edges' relative block frequency to per-module summary..
Jan 23 2018, 11:31 AM
eraman updated the diff for D42212: [ThinLTO] Add call edges' relative block frequency to per-module summary..

Address Teresa's comments.

Jan 23 2018, 11:31 AM

Jan 22 2018

eraman updated the diff for D42212: [ThinLTO] Add call edges' relative block frequency to per-module summary..

Address Teresa's comments

Jan 22 2018, 4:46 PM
eraman added inline comments to D42212: [ThinLTO] Add call edges' relative block frequency to per-module summary..
Jan 22 2018, 4:43 PM
eraman added inline comments to D42311: [SyntheticCounts] Rewrite the code using only graph traits..
Jan 22 2018, 11:37 AM

Jan 19 2018

eraman added inline comments to D42212: [ThinLTO] Add call edges' relative block frequency to per-module summary..
Jan 19 2018, 2:56 PM
eraman created D42311: [SyntheticCounts] Rewrite the code using only graph traits..
Jan 19 2018, 12:37 PM

Jan 17 2018

eraman created D42212: [ThinLTO] Add call edges' relative block frequency to per-module summary..
Jan 17 2018, 4:26 PM
eraman committed rL322771: Add a ProfileCount class to represent entry counts..
Add a ProfileCount class to represent entry counts.
Jan 17 2018, 2:28 PM
eraman closed D41883: Add a ProfileCount class to represent entry counts..
Jan 17 2018, 2:28 PM

Jan 10 2018

eraman updated the diff for D41883: Add a ProfileCount class to represent entry counts..

Address David's comments and support synthetic entry counts in getEntryCount

Jan 10 2018, 6:12 PM
eraman added a comment to D41883: Add a ProfileCount class to represent entry counts..

Also expanded getEntryCount to read synthetic_function_entry_count.

Jan 10 2018, 6:11 PM
eraman added inline comments to D41883: Add a ProfileCount class to represent entry counts..
Jan 10 2018, 3:32 PM

Jan 9 2018

eraman added a comment to D41719: [InlineCost] Prevent infinite recursion on function pointers.

There are two problems this patch is trying to address:
a. A call chain I1->I2->I3...Ik, where each of the I_i ->I_(i+1) are indirect calls that become direct (because we know the target through inline analysis). No recursion in the callgraph of the module being compiled.
b. The callgraph has recursion through a sequence of indirect calls. This is similar to the example in this patch description but could be a more broader cycle (not just self recursion).

Jan 9 2018, 5:07 PM
eraman created D41883: Add a ProfileCount class to represent entry counts..
Jan 9 2018, 2:45 PM
eraman committed rL322110: Add a pass to generate synthetic function entry counts..
Add a pass to generate synthetic function entry counts.
Jan 9 2018, 11:41 AM
eraman closed D41604: Add a pass to generate synthetic function entry counts..
Jan 9 2018, 11:40 AM

Jan 8 2018

eraman committed rL322057: [ELF] Explicit template instantiations for addFile.
[ELF] Explicit template instantiations for addFile
Jan 8 2018, 9:36 PM
eraman committed rLLD322057: [ELF] Explicit template instantiations for addFile.
[ELF] Explicit template instantiations for addFile
Jan 8 2018, 9:36 PM
eraman closed D41847: [ELF] Explicit template instantiations for addFile.
Jan 8 2018, 9:36 PM
eraman created D41847: [ELF] Explicit template instantiations for addFile.
Jan 8 2018, 6:13 PM
eraman added inline comments to D41604: Add a pass to generate synthetic function entry counts..
Jan 8 2018, 11:01 AM

Jan 4 2018

eraman updated the diff for D41604: Add a pass to generate synthetic function entry counts..

Address David's comments.

Jan 4 2018, 4:59 PM
eraman added inline comments to D41604: Add a pass to generate synthetic function entry counts..
Jan 4 2018, 4:58 PM

Jan 3 2018

eraman updated the diff for D41604: Add a pass to generate synthetic function entry counts..

Address review comments.

Jan 3 2018, 5:39 PM
eraman added inline comments to D41604: Add a pass to generate synthetic function entry counts..
Jan 3 2018, 5:38 PM

Dec 27 2017

eraman created D41604: Add a pass to generate synthetic function entry counts..
Dec 27 2017, 5:03 PM

Dec 21 2017

eraman committed rL321331: Add hasProfileData() to check if a function has profile data. NFC..
Add hasProfileData() to check if a function has profile data. NFC.
Dec 21 2017, 5:34 PM
eraman closed D41461: Add hasProfileData() to check if a function has profile data. NFC..
Dec 21 2017, 5:34 PM
eraman added a comment to D41461: Add hasProfileData() to check if a function has profile data. NFC..

LGTM

Perhaps change the new interface documentation slightly to reflect that it is for real profile data.

Dec 21 2017, 5:16 PM

Dec 20 2017

eraman created D41461: Add hasProfileData() to check if a function has profile data. NFC..
Dec 20 2017, 12:43 PM

Dec 11 2017

eraman accepted D38594: [InlineCost] Tracking Values through PHI Nodes.

LGTM

Dec 11 2017, 6:29 PM

Nov 14 2017

eraman committed rL318179: [CodeGenPrepare] Disable div bypass when working set size is huge..
[CodeGenPrepare] Disable div bypass when working set size is huge.
Nov 14 2017, 11:32 AM
eraman closed D39992: [CodeGenPrepare] Disable div bypass when working set size is huge. by committing rL318179: [CodeGenPrepare] Disable div bypass when working set size is huge..
Nov 14 2017, 11:32 AM

Nov 13 2017

eraman created D39992: [CodeGenPrepare] Disable div bypass when working set size is huge..
Nov 13 2017, 5:18 PM

Nov 11 2017

eraman added inline comments to D38594: [InlineCost] Tracking Values through PHI Nodes.
Nov 11 2017, 7:21 PM

Nov 9 2017

eraman committed rL317848: [SimplifyCFG] Fix a test case..
[SimplifyCFG] Fix a test case.
Nov 9 2017, 3:18 PM
eraman committed rL317845: Add a wrapper function to set branch weights metadata..
Add a wrapper function to set branch weights metadata.
Nov 9 2017, 2:52 PM
eraman closed D39872: Add a wrapper function to set branch weights metadata. by committing rL317845: Add a wrapper function to set branch weights metadata..
Nov 9 2017, 2:52 PM
eraman created D39872: Add a wrapper function to set branch weights metadata..
Nov 9 2017, 2:40 PM

Oct 18 2017

eraman added a comment to D38594: [InlineCost] Tracking Values through PHI Nodes.

Thanks for working on this!

Oct 18 2017, 5:18 PM

Sep 26 2017

eraman added a comment to D37198: [InlineCost] add visitSelectInst().

LGTM

Sep 26 2017, 5:47 PM

Sep 19 2017

eraman added inline comments to D37198: [InlineCost] add visitSelectInst().
Sep 19 2017, 5:48 PM

Sep 13 2017

eraman added inline comments to D37198: [InlineCost] add visitSelectInst().
Sep 13 2017, 3:51 PM
eraman accepted D37779: Invoke GetInlineCost for legality check before inline functions in SampleProfileLoader..

LGTM

Sep 13 2017, 2:21 PM
eraman committed rL313185: [Inliner] Add another way to compute full inline cost..
[Inliner] Add another way to compute full inline cost.
Sep 13 2017, 1:17 PM
eraman closed D37819: [Inliner] Add another way to compute full inline cost. by committing rL313185: [Inliner] Add another way to compute full inline cost..
Sep 13 2017, 1:17 PM
eraman created D37819: [Inliner] Add another way to compute full inline cost..
Sep 13 2017, 12:01 PM
eraman added a comment to D37779: Invoke GetInlineCost for legality check before inline functions in SampleProfileLoader..

Discussed this offline with Dehao. Instead of using an arbitrary threshold of 100000, it is better to piggyback on the the option in InlineCost to compute cost analysis in full. That way, if the analysis returns NeverInlineCost, Sample loader shouldn't inline. Anything else (doesn't matter if the cost >= threshold), it can do the inlining. I will refactor InlineCost.cpp to enable the feature to be used without requiring an option and Dehao will base this patch on top of that.

Sep 13 2017, 11:07 AM