Page MenuHomePhabricator

anton-afanasyev (Anton Afanasyev)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 30 2018, 2:53 PM (140 w, 5 d)

Recent Activity

Thu, Jun 10

anton-afanasyev accepted D104057: [SLP]Allow reordering of insertelements..

LGTM, thanks!

Thu, Jun 10, 1:52 PM · Restricted Project
anton-afanasyev accepted D104026: [SLP]Disable scheduling of insertelements..

LGTM

Thu, Jun 10, 6:31 AM · Restricted Project

Mon, May 24

anton-afanasyev committed rGb2cd89501164: [SLP] Fix "gathering" of insertelement instructions (authored by anton-afanasyev).
[SLP] Fix "gathering" of insertelement instructions
Mon, May 24, 3:36 PM
anton-afanasyev closed D102675: [SLP] Fix "gathering" of vector values.
Mon, May 24, 3:36 PM · Restricted Project
anton-afanasyev added inline comments to D102675: [SLP] Fix "gathering" of vector values.
Mon, May 24, 7:54 AM · Restricted Project
anton-afanasyev added inline comments to D102675: [SLP] Fix "gathering" of vector values.
Mon, May 24, 6:39 AM · Restricted Project
anton-afanasyev updated the diff for D102675: [SLP] Fix "gathering" of vector values.

Address comment

Mon, May 24, 6:38 AM · Restricted Project

Sat, May 22

anton-afanasyev updated the diff for D102675: [SLP] Fix "gathering" of vector values.

Address comments

Sat, May 22, 12:36 PM · Restricted Project
anton-afanasyev added inline comments to D102675: [SLP] Fix "gathering" of vector values.
Sat, May 22, 12:35 PM · Restricted Project

Wed, May 19

anton-afanasyev updated the diff for D102675: [SLP] Fix "gathering" of vector values.

Add testcase (command crashed before)

Wed, May 19, 3:44 AM · Restricted Project

Tue, May 18

anton-afanasyev added a comment to D57059: [SLP] Initial support for the vectorization of the non-power-of-2 vectors..

Hi Alexey! Is this patch ready for reviewing or will other patches be splitted from this one?

Tue, May 18, 10:58 AM · Restricted Project
anton-afanasyev added a comment to D98714: [SLP] Add insertelement instructions to vectorizable tree.

Hi, there is another issue that can be reproduced with existing test case:

$opt -S -slp-vectorizer -slp-threshold=-10000 test/Transforms/SLPVectorizer/X86/insert-element-build-vector.ll -slp-min-tree-size=0
opt: .../llvm-project/llvm/lib/IR/Type.cpp:648: static llvm::FixedVectorType* llvm::FixedVectorType::get(llvm::Type*, unsigned int): Assertion `isValidElementType(ElementType) && "Element type of a VectorType must " "be an integer, floating point, or " "pointer type."' failed.

Thanks,

Valery
Tue, May 18, 2:06 AM · Restricted Project
anton-afanasyev requested review of D102675: [SLP] Fix "gathering" of vector values.
Tue, May 18, 2:05 AM · Restricted Project

Fri, May 14

anton-afanasyev added a comment to D98714: [SLP] Add insertelement instructions to vectorizable tree.

This patch introduces an assertion error we believe may be contributing to a miscompile (along with some other recent SLP patches -- this patch fixes the reduced case in http://llvm.org/PR50323, but doesn't fix the full case it was reduced from):

Fri, May 14, 3:44 AM · Restricted Project
anton-afanasyev committed rG207cdd7ed9fc: [SLP] Fix spill cost computation for insertelement tree node (authored by anton-afanasyev).
[SLP] Fix spill cost computation for insertelement tree node
Fri, May 14, 3:16 AM

May 12 2021

anton-afanasyev committed rGab2c499d3a2e: [SLP] Add insertelement instructions to vectorizable tree (authored by anton-afanasyev).
[SLP] Add insertelement instructions to vectorizable tree
May 12 2021, 9:43 PM
anton-afanasyev committed rGcd9090031c83: [SLP][Test] Fix and precommit tests for D98714 (authored by anton-afanasyev).
[SLP][Test] Fix and precommit tests for D98714
May 12 2021, 9:43 PM
anton-afanasyev closed D98714: [SLP] Add insertelement instructions to vectorizable tree.
May 12 2021, 9:43 PM · Restricted Project
anton-afanasyev committed rG00a0595b253f: [SLP][Test] Fix and precommit tests for D98714 (authored by anton-afanasyev).
[SLP][Test] Fix and precommit tests for D98714
May 12 2021, 9:41 PM
anton-afanasyev updated the diff for D98714: [SLP] Add insertelement instructions to vectorizable tree.

Address a nit

May 12 2021, 4:57 AM · Restricted Project
anton-afanasyev added inline comments to D98714: [SLP] Add insertelement instructions to vectorizable tree.
May 12 2021, 4:55 AM · Restricted Project
anton-afanasyev added inline comments to D98714: [SLP] Add insertelement instructions to vectorizable tree.
May 12 2021, 4:33 AM · Restricted Project
anton-afanasyev updated the diff for D98714: [SLP] Add insertelement instructions to vectorizable tree.

@RKSimon, sure, rebased

May 12 2021, 2:29 AM · Restricted Project

May 11 2021

anton-afanasyev updated the diff for D98714: [SLP] Add insertelement instructions to vectorizable tree.

Add FIXME for non-consecutive insert case

May 11 2021, 11:34 AM · Restricted Project
anton-afanasyev added inline comments to D98714: [SLP] Add insertelement instructions to vectorizable tree.
May 11 2021, 11:33 AM · Restricted Project
anton-afanasyev added inline comments to D98714: [SLP] Add insertelement instructions to vectorizable tree.
May 11 2021, 11:10 AM · Restricted Project
anton-afanasyev added inline comments to D98714: [SLP] Add insertelement instructions to vectorizable tree.
May 11 2021, 10:00 AM · Restricted Project
anton-afanasyev added inline comments to D98714: [SLP] Add insertelement instructions to vectorizable tree.
May 11 2021, 9:43 AM · Restricted Project
anton-afanasyev updated the diff for D98714: [SLP] Add insertelement instructions to vectorizable tree.

Address comments

May 11 2021, 7:19 AM · Restricted Project
anton-afanasyev added inline comments to D98714: [SLP] Add insertelement instructions to vectorizable tree.
May 11 2021, 7:19 AM · Restricted Project

May 10 2021

anton-afanasyev added inline comments to D98714: [SLP] Add insertelement instructions to vectorizable tree.
May 10 2021, 11:00 PM · Restricted Project
anton-afanasyev updated the diff for D98714: [SLP] Add insertelement instructions to vectorizable tree.

Address comments (minor)

May 10 2021, 12:12 PM · Restricted Project
anton-afanasyev added inline comments to D98714: [SLP] Add insertelement instructions to vectorizable tree.
May 10 2021, 12:12 PM · Restricted Project
anton-afanasyev updated the diff for D98714: [SLP] Add insertelement instructions to vectorizable tree.

Address comments, refactor

May 10 2021, 5:22 AM · Restricted Project
anton-afanasyev added inline comments to D98714: [SLP] Add insertelement instructions to vectorizable tree.
May 10 2021, 5:21 AM · Restricted Project

May 7 2021

anton-afanasyev added a comment to D102023: [SLP]Do not count perfect diamond matches for gathers several times..

Please add reference to summary to previous patch related to this one: https://reviews.llvm.org/D100495. Other looks good.

May 7 2021, 10:36 PM · Restricted Project
anton-afanasyev added inline comments to D98714: [SLP] Add insertelement instructions to vectorizable tree.
May 7 2021, 5:06 AM · Restricted Project
anton-afanasyev updated the diff for D98714: [SLP] Add insertelement instructions to vectorizable tree.

Fixed comment

May 7 2021, 5:06 AM · Restricted Project
anton-afanasyev added inline comments to D98714: [SLP] Add insertelement instructions to vectorizable tree.
May 7 2021, 3:52 AM · Restricted Project
anton-afanasyev added inline comments to D98714: [SLP] Add insertelement instructions to vectorizable tree.
May 7 2021, 3:31 AM · Restricted Project
anton-afanasyev added inline comments to D98714: [SLP] Add insertelement instructions to vectorizable tree.
May 7 2021, 3:20 AM · Restricted Project
anton-afanasyev added inline comments to D98714: [SLP] Add insertelement instructions to vectorizable tree.
May 7 2021, 12:09 AM · Restricted Project

May 6 2021

anton-afanasyev updated the diff for D98714: [SLP] Add insertelement instructions to vectorizable tree.

Addressed new comments

May 6 2021, 9:15 AM · Restricted Project
anton-afanasyev added inline comments to D98714: [SLP] Add insertelement instructions to vectorizable tree.
May 6 2021, 9:14 AM · Restricted Project
anton-afanasyev updated the diff for D98714: [SLP] Add insertelement instructions to vectorizable tree.

Fix names, minors

May 6 2021, 3:25 AM · Restricted Project
anton-afanasyev updated the diff for D98714: [SLP] Add insertelement instructions to vectorizable tree.

Reused getOperandIndex() for InsertElement instructions

May 6 2021, 3:04 AM · Restricted Project

May 5 2021

anton-afanasyev updated the diff for D98714: [SLP] Add insertelement instructions to vectorizable tree.

Addressed comments

May 5 2021, 10:47 PM · Restricted Project
anton-afanasyev added inline comments to D98714: [SLP] Add insertelement instructions to vectorizable tree.
May 5 2021, 10:46 PM · Restricted Project
anton-afanasyev updated the diff for D98714: [SLP] Add insertelement instructions to vectorizable tree.

Addressed all comments

May 5 2021, 12:45 PM · Restricted Project
anton-afanasyev added inline comments to D98714: [SLP] Add insertelement instructions to vectorizable tree.
May 5 2021, 12:45 PM · Restricted Project

May 3 2021

anton-afanasyev accepted D101297: [SLP]Allow masked gathers only if allowed by target..

Ok, looks good.

May 3 2021, 5:51 AM · Restricted Project

Apr 27 2021

anton-afanasyev added inline comments to D101297: [SLP]Allow masked gathers only if allowed by target..
Apr 27 2021, 11:06 PM · Restricted Project
anton-afanasyev added a comment to D101297: [SLP]Allow masked gathers only if allowed by target..

Yes, I believe this will fix PR50015, though it doesn't fix the whole problem related to lowering.

No, I don't think it will fix PR50015, it may hide it in some cases, yes. My main goal is to improve vectorization in general. Ok, I will rework it and land it in in a cost model for masked gathers.

Apr 27 2021, 7:31 AM · Restricted Project
anton-afanasyev added a comment to D101297: [SLP]Allow masked gathers only if allowed by target..

I believe it will work correct after lowering fixes. I'm still investigating this case https://bugs.llvm.org/show_bug.cgi?id=50015, this is definitly lowering issue since llvm code looks correct.
Ok, I think this patch is good temp solution until miscompile issue isn't solved.

Maybe better to rework it and land it in X86TargetTransfromInfo.cpp for better cost modelling if it is not legal directly?

Yes, I believe this will fix PR50015, though it doesn't fix the whole problem related to lowering.

Apr 27 2021, 7:19 AM · Restricted Project
anton-afanasyev added a comment to D101297: [SLP]Allow masked gathers only if allowed by target..

Is there a bugreport with reproducer?

Apr 27 2021, 6:41 AM · Restricted Project
anton-afanasyev added a comment to D101297: [SLP]Allow masked gathers only if allowed by target..

Pure cost won't work here, we need to check if this is legal just to try to generate masked gather at all. Cost problem is different.

Can't we rely on cost model to deal with this? This can be profitable for futher vectorization, when we can start from such gather loads as seed. Yes, we have "unlegal" gathers for llvm ir, but they are lowered to legal code eventually. What is the motivation for this change?

The cost model must be tweaked to support this kind of lowering. I can rework the patch in terms of cost model improvement to handle the case with non-legal masked gather more correctly instead of direct legality checks in SLP. Will it work?

Apr 27 2021, 6:39 AM · Restricted Project
anton-afanasyev added a comment to D101297: [SLP]Allow masked gathers only if allowed by target..

Pure cost won't work here, we need to check if this is legal just to try to generate masked gather at all. Cost problem is different.

Apr 27 2021, 6:21 AM · Restricted Project

Apr 16 2021

anton-afanasyev updated the diff for D98714: [SLP] Add insertelement instructions to vectorizable tree.

Address some comments

Apr 16 2021, 3:45 AM · Restricted Project
anton-afanasyev added inline comments to D98714: [SLP] Add insertelement instructions to vectorizable tree.
Apr 16 2021, 3:45 AM · Restricted Project

Apr 14 2021

anton-afanasyev added inline comments to D98714: [SLP] Add insertelement instructions to vectorizable tree.
Apr 14 2021, 8:39 AM · Restricted Project
anton-afanasyev updated the diff for D98714: [SLP] Add insertelement instructions to vectorizable tree.

Remake. Get rid of inserts reordering.

Apr 14 2021, 8:39 AM · Restricted Project
anton-afanasyev added inline comments to D98714: [SLP] Add insertelement instructions to vectorizable tree.
Apr 14 2021, 4:24 AM · Restricted Project
anton-afanasyev updated the diff for D98714: [SLP] Add insertelement instructions to vectorizable tree.

Addressed comment

Apr 14 2021, 4:24 AM · Restricted Project

Apr 12 2021

anton-afanasyev updated the diff for D98714: [SLP] Add insertelement instructions to vectorizable tree.

Fix minors

Apr 12 2021, 11:05 AM · Restricted Project
anton-afanasyev added inline comments to D98714: [SLP] Add insertelement instructions to vectorizable tree.
Apr 12 2021, 11:04 AM · Restricted Project
anton-afanasyev added inline comments to D98714: [SLP] Add insertelement instructions to vectorizable tree.
Apr 12 2021, 9:43 AM · Restricted Project
anton-afanasyev updated the diff for D98714: [SLP] Add insertelement instructions to vectorizable tree.

Make use of ReorderIndices instead of sorting ScheduleData's

Apr 12 2021, 9:43 AM · Restricted Project

Apr 9 2021

anton-afanasyev added inline comments to D98714: [SLP] Add insertelement instructions to vectorizable tree.
Apr 9 2021, 10:19 AM · Restricted Project
anton-afanasyev added inline comments to D98714: [SLP] Add insertelement instructions to vectorizable tree.
Apr 9 2021, 10:07 AM · Restricted Project
anton-afanasyev added inline comments to D98714: [SLP] Add insertelement instructions to vectorizable tree.
Apr 9 2021, 9:49 AM · Restricted Project
anton-afanasyev added inline comments to D98714: [SLP] Add insertelement instructions to vectorizable tree.
Apr 9 2021, 9:09 AM · Restricted Project

Apr 7 2021

anton-afanasyev updated the summary of D98714: [SLP] Add insertelement instructions to vectorizable tree.
Apr 7 2021, 3:49 AM · Restricted Project
anton-afanasyev updated the diff for D98714: [SLP] Add insertelement instructions to vectorizable tree.

Refactored code, removed new TreeEntry::State. Make InsertElementInst passing through ordinary scheduling, allowing inner deps for bundle of insertelements.

Apr 7 2021, 3:48 AM · Restricted Project
anton-afanasyev added a comment to D98714: [SLP] Add insertelement instructions to vectorizable tree.

Refactored code, removed new TreeEntry::State. Make InsertElementInst passing through ordinary scheduling, allowing inner deps for bundle of insertelements.

Apr 7 2021, 3:47 AM · Restricted Project

Mar 17 2021

anton-afanasyev closed D98423: Fix the trunc instruction insertion problem in SLP pass.

Closed by commit: https://reviews.llvm.org/rG9abe50047330
(modified summary a bit to comply with changes)

Mar 17 2021, 4:26 AM · Restricted Project
anton-afanasyev committed rG9abe50047330: [SLP] Fix the trunc instruction insertion problem (authored by bule).
[SLP] Fix the trunc instruction insertion problem
Mar 17 2021, 3:52 AM
anton-afanasyev added a comment to D97691: [SLP] Honor min/max regsize and min/max VF in vectorizeStores.

LGTM except for the comment. I think MaxVecRegSize % EltSize != 0 check could be removed (together with comment).

Mar 17 2021, 3:49 AM · Restricted Project
anton-afanasyev added inline comments to D98423: Fix the trunc instruction insertion problem in SLP pass.
Mar 17 2021, 3:09 AM · Restricted Project
anton-afanasyev closed D98596: precommit for D98423.

Closed by commit https://reviews.llvm.org/rGdd90c36d601e

Mar 17 2021, 3:08 AM · Restricted Project
anton-afanasyev committed rGdd90c36d601e: [SLP][Test] Precommit test for D98423 (authored by bule).
[SLP][Test] Precommit test for D98423
Mar 17 2021, 2:12 AM
anton-afanasyev reopened D98596: precommit for D98423.

Sorry, prematurely closed this revision by mistake.

Mar 17 2021, 1:02 AM · Restricted Project
anton-afanasyev closed D98596: precommit for D98423.

Fix the duplicate element error that cause the failure in CI

Ok, is it working now? I could commit it on your behalf.

Thanks a lot, I am waiting for the build status. Does it still need anton @anton-afanasyev to review it first? since I have changed the code a lot.

Mar 17 2021, 1:00 AM · Restricted Project

Mar 16 2021

anton-afanasyev added inline comments to D98714: [SLP] Add insertelement instructions to vectorizable tree.
Mar 16 2021, 10:00 AM · Restricted Project
anton-afanasyev added a comment to D98596: precommit for D98423.

Fix the duplicate element error that cause the failure in CI

Mar 16 2021, 8:48 AM · Restricted Project
anton-afanasyev abandoned D72689: [SLP] Revectorize partially vectorized instructions.

The same work is resumed here: D98714, so abandoning this.

Mar 16 2021, 8:33 AM · Restricted Project
anton-afanasyev abandoned D96791: [SLP] Double UserCost compensation for vector store of aggregate.

Here is another fix approach: https://reviews.llvm.org/D98714

Mar 16 2021, 8:23 AM · Restricted Project
anton-afanasyev requested review of D98714: [SLP] Add insertelement instructions to vectorizable tree.
Mar 16 2021, 8:21 AM · Restricted Project

Mar 15 2021

anton-afanasyev committed rG3cec93b405f2: [SLP][Test] Precommit test for PR40522 (authored by anton-afanasyev).
[SLP][Test] Precommit test for PR40522
Mar 15 2021, 5:54 AM

Mar 14 2021

anton-afanasyev accepted D98423: Fix the trunc instruction insertion problem in SLP pass.

LGTM

Mar 14 2021, 10:41 AM · Restricted Project

Mar 13 2021

anton-afanasyev added inline comments to D98423: Fix the trunc instruction insertion problem in SLP pass.
Mar 13 2021, 9:15 PM · Restricted Project
anton-afanasyev accepted D98596: precommit for D98423.
Mar 13 2021, 9:07 PM · Restricted Project
anton-afanasyev added a comment to D96791: [SLP] Double UserCost compensation for vector store of aggregate.

I'm trying another approach here, so abandoned this for a while.

Mar 13 2021, 4:44 AM · Restricted Project

Mar 11 2021

anton-afanasyev added a comment to D98423: Fix the trunc instruction insertion problem in SLP pass.

Also could you please precommit test or just make diff against it (to see test changes before/after patch)?

Mar 11 2021, 9:15 AM · Restricted Project

Mar 3 2021

anton-afanasyev added inline comments to D97691: [SLP] Honor min/max regsize and min/max VF in vectorizeStores.
Mar 3 2021, 12:35 PM · Restricted Project

Feb 26 2021

anton-afanasyev accepted D94992: [SLP]Merge reorder and reuse shuffles..

LGTM

Feb 26 2021, 2:29 PM · Restricted Project

Feb 25 2021

anton-afanasyev added a comment to D94992: [SLP]Merge reorder and reuse shuffles..

LG after addressing all comments.

Feb 25 2021, 3:21 AM · Restricted Project

Feb 22 2021

anton-afanasyev committed rG5207151cf652: [SLP][Test] Add test for PR49081.ll (authored by anton-afanasyev).
[SLP][Test] Add test for PR49081.ll
Feb 22 2021, 10:38 PM
anton-afanasyev added a comment to D57059: [SLP] Initial support for the vectorization of the non-power-of-2 vectors..

Actually, it is not reducing. This is how test-suite python script works. So, here lhs - number of instructions after this patch, rhs - before. And the less relative number, the more vector instructions we actually generate.

Feb 22 2021, 6:34 AM · Restricted Project
anton-afanasyev added a comment to D57059: [SLP] Initial support for the vectorization of the non-power-of-2 vectors..

This is an integral patch, going to split it into several smaller patches.

Feb 22 2021, 5:09 AM · Restricted Project
anton-afanasyev added a comment to D57059: [SLP] Initial support for the vectorization of the non-power-of-2 vectors..

Btw, how could it be explained NumVectorInstructions stat reducing after this patch?

Feb 22 2021, 5:05 AM · Restricted Project