eraman (Easwaran Raman)
User

Projects

User does not belong to any projects.

User Details

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

Recent Activity

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

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