Page MenuHomePhabricator

ikulagin (Ivan Kulagin)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 5 2018, 9:40 AM (46 w, 11 h)

Recent Activity

Mar 21 2019

ikulagin abandoned D50239: [X86] Add the custom ABS expanding and change the SAD pattern recognizer..
Mar 21 2019, 10:34 PM · Restricted Project
ikulagin added a comment to D50239: [X86] Add the custom ABS expanding and change the SAD pattern recognizer..

@ikulagin I think this can be abandoned now?

Mar 21 2019, 10:33 PM · Restricted Project
ikulagin updated the diff for D59577: [SelectionDAG] Add scalarization of ABS node..
Mar 21 2019, 2:34 AM · Restricted Project
ikulagin added inline comments to D59577: [SelectionDAG] Add scalarization of ABS node..
Mar 21 2019, 2:34 AM · Restricted Project

Mar 20 2019

ikulagin updated the diff for D59577: [SelectionDAG] Add scalarization of ABS node..

Add test case for PR41149

Mar 20 2019, 11:13 PM · Restricted Project
ikulagin added a comment to D49837: [SelectionDAG] Handle unary SelectPatternFlavor for ABS case in SelectionDAGBuilder::visitSelect..

This commit also broke compilation of some files for me, for ARM, where compilation now doesn't finish (files that normally compile within a second now doesn't finish after half an hour. See https://bugs.llvm.org/show_bug.cgi?id=41160 for details and a reproduction sample.

Mar 20 2019, 2:33 PM · Restricted Project
ikulagin added a comment to D59577: [SelectionDAG] Add scalarization of ABS node..

Needs vector tests, to show that the issue is fixed.

Mar 20 2019, 1:02 AM · Restricted Project
ikulagin created D59577: [SelectionDAG] Add scalarization of ABS node..
Mar 20 2019, 12:00 AM · Restricted Project

Mar 19 2019

ikulagin added a comment to D49837: [SelectionDAG] Handle unary SelectPatternFlavor for ABS case in SelectionDAGBuilder::visitSelect..

No I don't. Could you commit it, please?

Mar 19 2019, 7:54 AM · Restricted Project

Mar 15 2019

ikulagin updated the diff for D49837: [SelectionDAG] Handle unary SelectPatternFlavor for ABS case in SelectionDAGBuilder::visitSelect..

Reverted legalization of ABS for i64 for AArch64.

Mar 15 2019, 12:05 AM · Restricted Project
ikulagin added inline comments to D49837: [SelectionDAG] Handle unary SelectPatternFlavor for ABS case in SelectionDAGBuilder::visitSelect..
Mar 15 2019, 12:03 AM · Restricted Project

Mar 13 2019

ikulagin updated the diff for D49837: [SelectionDAG] Handle unary SelectPatternFlavor for ABS case in SelectionDAGBuilder::visitSelect..

Applied @nemanjai's fixes and rebased.

Mar 13 2019, 2:29 PM · Restricted Project

Feb 28 2019

ikulagin added a comment to D52138: [Thumb] Add some integer abs testcases for different typesizes..

No I don't. Could you commit it, please?

Feb 28 2019, 2:08 PM · Restricted Project
ikulagin removed a reviewer for D52138: [Thumb] Add some integer abs testcases for different typesizes.: t.p.northover. ikulagin added 1 blocking reviewer(s) for D52138: [Thumb] Add some integer abs testcases for different typesizes.: RKSimon.
Feb 28 2019, 2:08 PM · Restricted Project
ikulagin updated the diff for D52138: [Thumb] Add some integer abs testcases for different typesizes..

Update by update_llc_test_checks.py.

Feb 28 2019, 1:51 PM · Restricted Project

Feb 27 2019

ikulagin updated the diff for D49837: [SelectionDAG] Handle unary SelectPatternFlavor for ABS case in SelectionDAGBuilder::visitSelect..

Rebase and separate testcases for Thumb arch from this patch to D52138.

Feb 27 2019, 10:54 PM · Restricted Project
ikulagin updated the diff for D52138: [Thumb] Add some integer abs testcases for different typesizes..

Ping

Feb 27 2019, 10:42 PM · Restricted Project

Feb 4 2019

ikulagin updated the diff for D49837: [SelectionDAG] Handle unary SelectPatternFlavor for ABS case in SelectionDAGBuilder::visitSelect..

Rebase and several changes in Thumb test iabs.ll.

Feb 4 2019, 11:21 PM · Restricted Project
ikulagin added a comment to D49837: [SelectionDAG] Handle unary SelectPatternFlavor for ABS case in SelectionDAGBuilder::visitSelect..

@RKSimon I forgot to clarify, the PPC tests crashed on ppc64-P9-vabsd.ll: lsub_absv_16_ext and pre-inc-disable.ll: test_pre_inc_disable_1, because now the PPC uses custom lowering the ISD::ABS node for vector types,

for (MVT VT : MVT::vector_valuetypes()) {
  // add/sub are legal for all supported vector VT's.
  setOperationAction(ISD::ADD, VT, Legal);
  setOperationAction(ISD::SUB, VT, Legal);
  setOperationAction(ISD::ABS, VT, Custom);

but the custom lowering for this architecture is not specified.

Feb 4 2019, 11:14 PM · Restricted Project
ikulagin added a comment to D52138: [Thumb] Add some integer abs testcases for different typesizes..

What's happening with this? I'm keen to get D49837 in soon

Feb 4 2019, 1:41 PM · Restricted Project

Feb 2 2019

ikulagin updated the diff for D49837: [SelectionDAG] Handle unary SelectPatternFlavor for ABS case in SelectionDAGBuilder::visitSelect..

Rebase and some fixes.

Feb 2 2019, 12:11 PM · Restricted Project

Jan 30 2019

ikulagin added a comment to D49837: [SelectionDAG] Handle unary SelectPatternFlavor for ABS case in SelectionDAGBuilder::visitSelect..

@ikulagin I'm keen to get this finished - do you have time to look at this or can I commandeer please?

Jan 30 2019, 11:57 PM · Restricted Project

Jan 9 2019

ikulagin added a comment to D49837: [SelectionDAG] Handle unary SelectPatternFlavor for ABS case in SelectionDAGBuilder::visitSelect..
@ikulagin are you still looking at this?
Jan 9 2019, 11:37 PM · Restricted Project
ikulagin added a comment to D56270: [DAGCombiner] Allow target to control combine with illegal types..

D49837 is a generic patch to handle SPF_ABS/SPF_NABS in SelectionDAGBuilder::visitSelect - @ikulagin are you still looking at this?

Jan 9 2019, 11:36 PM

Oct 30 2018

ikulagin added inline comments to D49837: [SelectionDAG] Handle unary SelectPatternFlavor for ABS case in SelectionDAGBuilder::visitSelect..
Oct 30 2018, 1:30 PM · Restricted Project
ikulagin added inline comments to D49837: [SelectionDAG] Handle unary SelectPatternFlavor for ABS case in SelectionDAGBuilder::visitSelect..
Oct 30 2018, 12:44 PM · Restricted Project

Oct 29 2018

ikulagin updated the diff for D49837: [SelectionDAG] Handle unary SelectPatternFlavor for ABS case in SelectionDAGBuilder::visitSelect..

Extend 'matchSelectPattern' to recognize the ABS patterns with ICMP_SGE condition.

Oct 29 2018, 8:33 PM · Restricted Project

Oct 28 2018

ikulagin updated the diff for D49837: [SelectionDAG] Handle unary SelectPatternFlavor for ABS case in SelectionDAGBuilder::visitSelect..

Rebase and merge changes to one patch.

Oct 28 2018, 1:47 PM · Restricted Project

Oct 27 2018

ikulagin added a comment to D49837: [SelectionDAG] Handle unary SelectPatternFlavor for ABS case in SelectionDAGBuilder::visitSelect..

Changes in this patch require the changes in target specific parts (AArch64, X86, etc), otherwise
some tests will fail. Should I include these target specific changes into the current differential or into a separate one?
Now they are in separate differential.

Oct 27 2018, 4:49 AM · Restricted Project

Oct 25 2018

ikulagin added a comment to D49837: [SelectionDAG] Handle unary SelectPatternFlavor for ABS case in SelectionDAGBuilder::visitSelect..

Are you still working on this?

Oct 25 2018, 2:40 PM · Restricted Project

Sep 15 2018

ikulagin added inline comments to D52138: [Thumb] Add some integer abs testcases for different typesizes..
Sep 15 2018, 12:07 PM · Restricted Project
ikulagin created D52138: [Thumb] Add some integer abs testcases for different typesizes..
Sep 15 2018, 12:07 PM · Restricted Project

Sep 13 2018

ikulagin updated the diff for D51873: [AArch64] Add support for the ABS dag node and testcases for integer abs..

Please rebase after rL342156

Sep 13 2018, 2:40 PM
ikulagin added a comment to D51873: [AArch64] Add support for the ABS dag node and testcases for integer abs..

Commit this file with current codegen and update the patch to show the codegen diff?

I have updated this patch.

Just commit the test file with trunk's current codegen and then update this phab with the codegen changes - no need for a second phab.

Sep 13 2018, 9:52 AM

Sep 12 2018

ikulagin updated the diff for D51873: [AArch64] Add support for the ABS dag node and testcases for integer abs..

Commit this file with current codegen and update the patch to show the codegen diff?

Sep 12 2018, 1:00 PM

Sep 10 2018

ikulagin added a child revision for D49837: [SelectionDAG] Handle unary SelectPatternFlavor for ABS case in SelectionDAGBuilder::visitSelect.: D51873: [AArch64] Add support for the ABS dag node and testcases for integer abs..
Sep 10 2018, 11:43 AM · Restricted Project
ikulagin added a parent revision for D51873: [AArch64] Add support for the ABS dag node and testcases for integer abs.: D49837: [SelectionDAG] Handle unary SelectPatternFlavor for ABS case in SelectionDAGBuilder::visitSelect..
Sep 10 2018, 11:43 AM
ikulagin created D51873: [AArch64] Add support for the ABS dag node and testcases for integer abs..
Sep 10 2018, 11:41 AM

Sep 5 2018

ikulagin updated the diff for D50239: [X86] Add the custom ABS expanding and change the SAD pattern recognizer..

Rebase and fix the SAD pattern recognizer.

Sep 5 2018, 1:57 AM · Restricted Project
ikulagin updated the diff for D49837: [SelectionDAG] Handle unary SelectPatternFlavor for ABS case in SelectionDAGBuilder::visitSelect..

Rebase and fix expand-based legalization of integer result for the ABS nodes.

Sep 5 2018, 1:51 AM · Restricted Project

Sep 4 2018

ikulagin added a comment to D49837: [SelectionDAG] Handle unary SelectPatternFlavor for ABS case in SelectionDAGBuilder::visitSelect..

@ikulagin You might want to look at https://reviews.llvm.org/D26357 which was my old attempt to add an Intrinsic::abs IR intrinsic - you might be able to reuse some of the legalizers from that?

Sep 4 2018, 1:32 AM · Restricted Project

Aug 3 2018

ikulagin added a child revision for D49837: [SelectionDAG] Handle unary SelectPatternFlavor for ABS case in SelectionDAGBuilder::visitSelect.: D50239: [X86] Add the custom ABS expanding and change the SAD pattern recognizer..
Aug 3 2018, 3:47 AM · Restricted Project
ikulagin added a parent revision for D50239: [X86] Add the custom ABS expanding and change the SAD pattern recognizer.: D49837: [SelectionDAG] Handle unary SelectPatternFlavor for ABS case in SelectionDAGBuilder::visitSelect..
Aug 3 2018, 3:47 AM · Restricted Project
ikulagin created D50239: [X86] Add the custom ABS expanding and change the SAD pattern recognizer..
Aug 3 2018, 3:46 AM · Restricted Project
ikulagin updated the diff for D49837: [SelectionDAG] Handle unary SelectPatternFlavor for ABS case in SelectionDAGBuilder::visitSelect..

Rebase the patch

Aug 3 2018, 3:36 AM · Restricted Project

Aug 1 2018

ikulagin updated the diff for D49837: [SelectionDAG] Handle unary SelectPatternFlavor for ABS case in SelectionDAGBuilder::visitSelect..

I have excluded the X86 SAD pattern recognizer from this patch. It will be in another diff.
Now, I am implementing the target-depended ABS handling and the test cases for it.
I will create a new diff for the target-depended handling + test cases over this patch.

Aug 1 2018, 7:01 AM · Restricted Project

Jul 30 2018

ikulagin added inline comments to D49837: [SelectionDAG] Handle unary SelectPatternFlavor for ABS case in SelectionDAGBuilder::visitSelect..
Jul 30 2018, 10:38 AM · Restricted Project

Jul 28 2018

ikulagin added a comment to D49837: [SelectionDAG] Handle unary SelectPatternFlavor for ABS case in SelectionDAGBuilder::visitSelect..

And I have another comment, maybe you can split this patch into two parts:
Patch 1: contain first three parts in your description

SelectionDAGBuilder::visitSelect handles the unary SelectPatternFlavor::SPF_ABS case to build ABS node.
Expand-based legalization of integer result for the ABS nodes.
Expand-based legalization of ABS vector operations.
Patch 2: handle X86 specific

What do you think?

Jul 28 2018, 11:29 PM · Restricted Project
ikulagin added inline comments to D49958: [MISC]Fix wrong usage of std::equal().
Jul 28 2018, 9:38 PM

Jul 27 2018

ikulagin added a comment to D49837: [SelectionDAG] Handle unary SelectPatternFlavor for ABS case in SelectionDAGBuilder::visitSelect..

Please merge your code with the patch in D48754 and run related tests to check there is no failure.

Jul 27 2018, 6:10 AM · Restricted Project

Jul 26 2018

ikulagin added a comment to D49837: [SelectionDAG] Handle unary SelectPatternFlavor for ABS case in SelectionDAGBuilder::visitSelect..

The IR pattern produced by D48754 is already matched into ISD::ABS? Or is there a third differential?

This patch produces ISD::ABS when ValueTracking recognizes the pattern from D48754.

Jul 26 2018, 10:16 AM · Restricted Project
ikulagin created D49837: [SelectionDAG] Handle unary SelectPatternFlavor for ABS case in SelectionDAGBuilder::visitSelect..
Jul 26 2018, 12:40 AM · Restricted Project

Jul 10 2018

ikulagin added a comment to D48765: [X86] The TEST instruction is eliminated when BSF/TZCNT is used.

Could you commit it, please? I have no rights to do it.

Jul 10 2018, 1:20 AM

Jul 9 2018

ikulagin updated the diff for D48765: [X86] The TEST instruction is eliminated when BSF/TZCNT is used.

Or you should just check the CC in the first if, then select your Add and your possible constant. And check that it is an Add and a constant.

DONE.

Jul 9 2018, 1:39 AM
ikulagin added a comment to D48765: [X86] The TEST instruction is eliminated when BSF/TZCNT is used.

What happens with cttz when -mattr=bmi which enables the tzcnt instruction

Jul 9 2018, 1:12 AM
ikulagin added a comment to D48765: [X86] The TEST instruction is eliminated when BSF/TZCNT is used.

The test cases only cover the CTTZ_ZERO_UNDEF version right?

Jul 9 2018, 12:17 AM
ikulagin added a comment to D48765: [X86] The TEST instruction is eliminated when BSF/TZCNT is used.
Jul 9 2018, 12:05 AM

Jul 7 2018

ikulagin updated the diff for D48765: [X86] The TEST instruction is eliminated when BSF/TZCNT is used.

I have fixed this pattern as a DAG combining on the CMOV node before instruction selection.
The following DAG combinations are performed:
(CMOV (ADD (CTTZ X), C), C-1, (X != 0)) -> (ADD (CMOV (CTTZ X), -1, (X != 0)), C)
(CMOV C-1, (ADD (CTTZ X), C), (X == 0)) -> (ADD (CMOV C-1, (CTTZ X), (X == 0)), C)

Jul 7 2018, 3:30 AM

Jun 30 2018

ikulagin added a comment to D48765: [X86] The TEST instruction is eliminated when BSF/TZCNT is used.

I figured out that the fixing this pattern while dag combining is possible indeed. I'll try to do it and see what happens.

Jun 30 2018, 9:41 AM

Jun 29 2018

ikulagin created D48765: [X86] The TEST instruction is eliminated when BSF/TZCNT is used.
Jun 29 2018, 4:29 AM