Page MenuHomePhabricator

ABataev (Alexey Bataev)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 31 2013, 4:40 AM (468 w, 9 h)

Recent Activity

Yesterday

ABataev added a comment to D70549: [OPENMP]Fix PR41826: symbols visibility in device code..

@ABataev @jhuber6 and I would like to change this to annotate variables with whatever visibility the user asked for.

Can you recall if the concern about premption here was for the deviceRTL, in which case it can be comprehensively dealt with by internalizing the deviceRTL symbols, or for user defined things in which case we want whatever the linker flag -Bsymbolic maps onto as an IR construct.

Wed, Jan 19, 1:22 PM · Restricted Project
ABataev added a comment to D116959: [DWARF] Try not to crash for codes with missing debug information.

I would wonder why NVPTX has this unique codepath

PTX has rather odd assembly which places restrictions on where it accepts various directives. @ABataev would probably be the best person to ask for the details.

Wed, Jan 19, 10:25 AM · Restricted Project

Fri, Jan 14

ABataev accepted D117172: [OpenMP] Fix problems with the declare variant append_args clause.

LG

Fri, Jan 14, 9:08 AM · Restricted Project

Thu, Jan 13

ABataev added inline comments to D117172: [OpenMP] Fix problems with the declare variant append_args clause.
Thu, Jan 13, 5:15 PM · Restricted Project
ABataev added inline comments to D117172: [OpenMP] Fix problems with the declare variant append_args clause.
Thu, Jan 13, 3:29 PM · Restricted Project
ABataev added inline comments to D117172: [OpenMP] Fix problems with the declare variant append_args clause.
Thu, Jan 13, 2:57 PM · Restricted Project
ABataev added inline comments to D117172: [OpenMP] Fix problems with the declare variant append_args clause.
Thu, Jan 13, 11:21 AM · Restricted Project

Wed, Jan 12

ABataev added inline comments to D117172: [OpenMP] Fix problems with the declare variant append_args clause.
Wed, Jan 12, 4:43 PM · Restricted Project
ABataev added inline comments to D117172: [OpenMP] Fix problems with the declare variant append_args clause.
Wed, Jan 12, 4:22 PM · Restricted Project

Mon, Jan 10

ABataev added inline comments to D116760: [SLP]Do not reorder top nodes if they do not require reordering..
Mon, Jan 10, 10:29 AM · Restricted Project

Fri, Jan 7

ABataev updated the diff for D116688: [SLP]Excluded external uses from the reordering estimation..

Added score for all vectorized users.

Fri, Jan 7, 2:02 PM · Restricted Project
ABataev added a comment to D114799: [SLP]Improve vectorization of cmp instructions sequences..

Hi, we observed ~9% increase in SLP.NumVectorInstructions on SPEC's 508.namd_r with this change, using llvm-test-suite. I noticed the number is not reported here. Curious did you also see the same result? We tested on an Intel Skylake.

I ttied with -march=native on Skylake, but did not see wuch results.

I see. -march=native is the difference. I can reproduce a no change on namd with that flag. However, the number of vector instructions decreased significantly compared with removing that flag, which I found counter-intuitive.

With -march=native

With this patchWithout this patch
SLP.NumVectorInstructions44464446

Without -march=native

With this patchWithout this patch
SLP.NumVectorInstructions59395473
Fri, Jan 7, 11:18 AM · Restricted Project
ABataev added a comment to D114799: [SLP]Improve vectorization of cmp instructions sequences..

Hi, we observed ~9% increase in SLP.NumVectorInstructions on SPEC's 508.namd_r with this change, using llvm-test-suite. I noticed the number is not reported here. Curious did you also see the same result? We tested on an Intel Skylake.

I ttied with -march=native on Skylake, but did not see wuch results.

I see. -march=native is the difference. I can reproduce a no change on namd with that flag. However, the number of vector instructions decreased significantly compared with removing that flag, which I found counter-intuitive.

With -march=native

With this patchWithout this patch
SLP.NumVectorInstructions44464446

Without -march=native

With this patchWithout this patch
SLP.NumVectorInstructions59395473
Fri, Jan 7, 11:06 AM · Restricted Project
ABataev accepted D116764: [clang][OpenMP5.1] Initial parsing/sema for 'indirect' clause.

LG with a nit

Fri, Jan 7, 7:05 AM · Restricted Project, Restricted Project, Restricted Project

Thu, Jan 6

ABataev added a comment to D116688: [SLP]Excluded external uses from the reordering estimation..

Yes, I agree, we need a better way of dealing with uses. We should consider the score first and only check for uses if the scores are exactly the same.
Checking for all-vectorized uses versus not-all-vectorized also makes sense.

Could you please add a TODO (perhaps near line 1336?) with a brief description on how we should be dealing with uses?

Thu, Jan 6, 4:16 PM · Restricted Project
ABataev added a comment to D114799: [SLP]Improve vectorization of cmp instructions sequences..

Hi, we observed ~9% increase in SLP.NumVectorInstructions on SPEC's 508.namd_r with this change, using llvm-test-suite. I noticed the number is not reported here. Curious did you also see the same result? We tested on an Intel Skylake.

Thu, Jan 6, 2:34 PM · Restricted Project
ABataev added inline comments to D116764: [clang][OpenMP5.1] Initial parsing/sema for 'indirect' clause.
Thu, Jan 6, 2:02 PM · Restricted Project, Restricted Project, Restricted Project
ABataev added a comment to D116688: [SLP]Excluded external uses from the reordering estimation..

This is obviously a contrived example, but it highlights the issue. It still holds if you replace the loads with other instructions of the same opcode that lead to a similar situation requiring tie-breaking using the cost of external uses.

Thu, Jan 6, 1:20 PM · Restricted Project
ABataev added a comment to D116688: [SLP]Excluded external uses from the reordering estimation..

I agree with your second point, it is too pessimistic and should be fixed.
But I don't fully follow your first point. What do you mean that it will affect the cost in all lanes?

Here is an example where the external uses cost can help:

%1 = load A[0]
%2 = load A[1] // %2 has external use
%3 = load B[0]
%4 = load A[1]
%Ln1 = add %1, %3
%Ln2 = add %2, %4
...
... = %2 // External use of %2

While doing the operand reordering we can choose to vectorize either {%1, %2} or {%1, %4}.
Both have the same opcodes etc. so the rest of the cost calculation will give them the exact same score.
But wouldn't we prefer to vectorize {%1, %4} rather than {%1, %2} to avoid the extract instruction?
How would we do this without taking into account the cost of the external uses?

Thu, Jan 6, 12:51 PM · Restricted Project
ABataev committed rGd130df544d6c: [SLP]Improve reordering for the nodes beeing used in alternate vectorization. (authored by ABataev).
[SLP]Improve reordering for the nodes beeing used in alternate vectorization.
Thu, Jan 6, 11:20 AM
ABataev closed D116740: [SLP]Improve reordering for the nodes beeing used in alternate vectorization..
Thu, Jan 6, 11:20 AM · Restricted Project
ABataev committed rG7cb19fe49331: [SLP]Initialize the lane with the given value instead of default 0. (authored by ABataev).
[SLP]Initialize the lane with the given value instead of default 0.
Thu, Jan 6, 10:58 AM
ABataev closed D116690: [SLP]Initialize the lane with the given value instead of default 0..
Thu, Jan 6, 10:58 AM · Restricted Project
ABataev requested review of D116760: [SLP]Do not reorder top nodes if they do not require reordering..
Thu, Jan 6, 10:35 AM · Restricted Project
ABataev added inline comments to D116688: [SLP]Excluded external uses from the reordering estimation..
Thu, Jan 6, 7:18 AM · Restricted Project
ABataev requested review of D116740: [SLP]Improve reordering for the nodes beeing used in alternate vectorization..
Thu, Jan 6, 6:43 AM · Restricted Project
ABataev committed rG700997aef8c1: [SLP][NFC]Fix comment, NFC. (authored by ABataev).
[SLP][NFC]Fix comment, NFC.
Thu, Jan 6, 6:39 AM
ABataev committed rGbf5a688252ae: [SLP][NFC]Add a test for the extra shuffle after alternate node, NFC. (authored by ABataev).
[SLP][NFC]Add a test for the extra shuffle after alternate node, NFC.
Thu, Jan 6, 6:36 AM

Wed, Jan 5

ABataev added a comment to D116690: [SLP]Initialize the lane with the given value instead of default 0..

Do you think the regressions will go away with one of your follow-up patches?

Wed, Jan 5, 9:03 PM · Restricted Project
ABataev added a comment to D116688: [SLP]Excluded external uses from the reordering estimation..

I don't fully understand why you are completely removing the cost of external uses. This is modeling the additional extract instructions that will be needed if we decide to proceed with that specific operand order. This is useful when you have to break ties, for example if we to choose between instructions of the same opcode, one with external uses and the other without. In that case we would prefer to vectorize the instructions without uses. Perhaps the current implementation is causing issues because the external cost is always subtracted (line 1233) and is not just used as a tie breaker only when the costs are the same.
If I understand correctly the splat cost is orthogonal to the the external uses? Can't we have both?

Also could you split the MainAlt changes into a separate patch?

Wed, Jan 5, 7:16 PM · Restricted Project
ABataev requested review of D116690: [SLP]Initialize the lane with the given value instead of default 0..
Wed, Jan 5, 1:07 PM · Restricted Project
ABataev updated the diff for D115955: [SLP]Alternate vectorization for cmp instructions..

Rebase

Wed, Jan 5, 12:38 PM · Restricted Project
ABataev committed rGdd83befe33a0: [SLP][NFC]Improved isAltShuffle by comparing instructions instead of (authored by ABataev).
[SLP][NFC]Improved isAltShuffle by comparing instructions instead of
Wed, Jan 5, 12:32 PM
ABataev updated the diff for D114171: [SLP]Improve reductions analysis and emission, part 1..

Address comments

Wed, Jan 5, 12:26 PM · Restricted Project
ABataev requested review of D116688: [SLP]Excluded external uses from the reordering estimation..
Wed, Jan 5, 12:16 PM · Restricted Project

Mon, Jan 3

ABataev added a comment to D101109: [SLP]Improve multinode analysis..

This patch caused many test failure in my application on Power9. Although this patch sounds like affecting SLP, adding -fno-slp-vectorize doesn't improve the pass rate but changing -O3 to -O0 does.

Hi, do you have a reproducer?

Initially I was not sure where the issue is from and just reported my observation. After a careful inspection, I found it is an interaction between clang and the random number generator in the boost libraries. Since I had little knowledge about the inside details of the library, I decided not to debug it. Instead I just moved my application out of boost and the RNG from C++ standard library works well with Clang. So I won't work on an reproducer. If boost developers find an issue, they will report bugs. Right now assume everything is good.

Mon, Jan 3, 3:41 PM · Restricted Project
ABataev added inline comments to D114171: [SLP]Improve reductions analysis and emission, part 1..
Mon, Jan 3, 8:48 AM · Restricted Project

Thu, Dec 30

ABataev updated the diff for D114171: [SLP]Improve reductions analysis and emission, part 1..

Rebase

Thu, Dec 30, 1:52 PM · Restricted Project
ABataev updated the diff for D110978: [SLP]Improve gathering of the scalars used in the graph..

Rebase

Thu, Dec 30, 1:33 PM · Restricted Project
ABataev committed rGe0efedd2c33b: [SLP][NFC]Fix non-determinism in reordering, NFC. (authored by ABataev).
[SLP][NFC]Fix non-determinism in reordering, NFC.
Thu, Dec 30, 1:11 PM
ABataev updated the diff for D115955: [SLP]Alternate vectorization for cmp instructions..

Rebase

Thu, Dec 30, 11:32 AM · Restricted Project
ABataev updated the diff for D105986: [SLP]Improve vectorization of gathered loads..

Rebase

Thu, Dec 30, 11:29 AM · Restricted Project
ABataev added a comment to D101109: [SLP]Improve multinode analysis..

This patch caused many test failure in my application on Power9. Although this patch sounds like affecting SLP, adding -fno-slp-vectorize doesn't improve the pass rate but changing -O3 to -O0 does.

Thu, Dec 30, 3:54 AM · Restricted Project

Wed, Dec 29

ABataev updated the diff for D115955: [SLP]Alternate vectorization for cmp instructions..

Rebase

Wed, Dec 29, 7:30 AM · Restricted Project
ABataev updated the diff for D107966: [SLP]Do not emit extract elements for insertelements users, replace with shuffles directly..

Rebase

Wed, Dec 29, 7:22 AM · Restricted Project
ABataev updated the diff for D105297: [OPENMP]Fix PR50347: Mapping of global scope deep object fails..

Rebase

Wed, Dec 29, 7:10 AM · Restricted Project
ABataev added a reviewer for D99436: [OPENMP]Fix PR49366: crash on VLAs in task untied regions.: mikerice.
Wed, Dec 29, 6:16 AM · Restricted Project
ABataev updated the diff for D99436: [OPENMP]Fix PR49366: crash on VLAs in task untied regions..

Rebase

Wed, Dec 29, 6:16 AM · Restricted Project
ABataev updated the diff for D100486: [COST]Improve cost model for shuffles in SLP..

Rebase

Wed, Dec 29, 6:08 AM · Restricted Project

Tue, Dec 28

ABataev updated the diff for D115653: [DAG]Introduce llvm::processShuffleMasks and use it for shuffles in DAG Type Legalizer..

Rebase

Tue, Dec 28, 2:11 PM · Restricted Project
ABataev requested review of D116343: [SLP]Introduce split shuffle vectorization mode..
Tue, Dec 28, 1:37 PM · Restricted Project

Mon, Dec 27

ABataev requested review of D116312: [SLP]Improve isGatherShuffledEntry to handles shuffles between different length vectors..
Mon, Dec 27, 7:43 AM · Restricted Project
ABataev committed rG7171af744543: [SLP][NFC]Add a test for shuffled entries with different vector sizes, (authored by ABataev).
[SLP][NFC]Add a test for shuffled entries with different vector sizes,
Mon, Dec 27, 7:36 AM

Fri, Dec 24

ABataev added inline comments to D110623: [SLP] Avoid calculating expensive spill cost when it is not required.
Fri, Dec 24, 2:52 PM · Restricted Project
ABataev accepted D115561: [Clang][OpenMP] Add the support for atomic compare in parser.

LG

Fri, Dec 24, 4:23 AM · Restricted Project, Restricted Project, Restricted Project

Thu, Dec 23

ABataev accepted D116214: [OpenMP] Avoid creating null pointer lvalue (NFC).

LG

Thu, Dec 23, 6:28 AM · Restricted Project
ABataev added inline comments to D116214: [OpenMP] Avoid creating null pointer lvalue (NFC).
Thu, Dec 23, 5:42 AM · Restricted Project
ABataev added inline comments to D115561: [Clang][OpenMP] Add the support for atomic compare in parser.
Thu, Dec 23, 4:51 AM · Restricted Project, Restricted Project, Restricted Project

Wed, Dec 22

ABataev accepted D116171: [OpenMP] Fix incorrect type when casting from uintptr.

LG

Wed, Dec 22, 8:53 AM · Restricted Project

Dec 21 2021

ABataev accepted D115683: [clang][OpenMP] Add codegen for allocate directive's 'align' clause.

LG

Dec 21 2021, 1:11 PM · Restricted Project
ABataev accepted D116068: [NFC][Clang] Move function implementation of `OpenMPAtomicUpdateChecker` into anonymous namespace.

LG

Dec 21 2021, 6:26 AM · Restricted Project

Dec 20 2021

ABataev added a comment to D115573: [Clang][OpenMP] Return error ahead of time if there are multiple mutex clauses in atomic directive.

Tests

Dec 20 2021, 5:50 PM · Restricted Project
ABataev committed rGab9078f3d369: [SLP]Fix PR52756: SLPVectorizer crashes with assertion VecTy == FinalVecTy. (authored by ABataev).
[SLP]Fix PR52756: SLPVectorizer crashes with assertion VecTy == FinalVecTy.
Dec 20 2021, 7:23 AM
ABataev added a reverting change for rGfcaf290d0278: [SLP]Fix PR52756: SLPVectorizer crashes with assertion VecTy == FinalVecTy.: rG4459a11f4d48: Revert "[SLP]Fix PR52756: SLPVectorizer crashes with assertion VecTy ==….
Dec 20 2021, 7:23 AM
ABataev committed rG4459a11f4d48: Revert "[SLP]Fix PR52756: SLPVectorizer crashes with assertion VecTy ==… (authored by ABataev).
Revert "[SLP]Fix PR52756: SLPVectorizer crashes with assertion VecTy ==…
Dec 20 2021, 7:23 AM
ABataev added a reverting change for D115939: [SLP]Fix PR52756: SLPVectorizer crashes with assertion VecTy == FinalVecTy.: rG4459a11f4d48: Revert "[SLP]Fix PR52756: SLPVectorizer crashes with assertion VecTy ==….
Dec 20 2021, 7:23 AM · Restricted Project
ABataev committed rGfcaf290d0278: [SLP]Fix PR52756: SLPVectorizer crashes with assertion VecTy == FinalVecTy. (authored by ABataev).
[SLP]Fix PR52756: SLPVectorizer crashes with assertion VecTy == FinalVecTy.
Dec 20 2021, 5:40 AM
ABataev closed D115939: [SLP]Fix PR52756: SLPVectorizer crashes with assertion VecTy == FinalVecTy..
Dec 20 2021, 5:40 AM · Restricted Project

Dec 17 2021

ABataev committed rG71fe59212ca4: [SLP][NFC]Adjust type in debug output loop. (authored by ABataev).
[SLP][NFC]Adjust type in debug output loop.
Dec 17 2021, 12:43 PM
ABataev committed rG46ad66b81781: [SLP][NFC]Use 'llvm::copy' instead of element-by-elemen copying. (authored by ABataev).
[SLP][NFC]Use 'llvm::copy' instead of element-by-elemen copying.
Dec 17 2021, 12:10 PM
ABataev requested review of D115955: [SLP]Alternate vectorization for cmp instructions..
Dec 17 2021, 10:42 AM · Restricted Project
ABataev committed rG667485413fd3: [OPENMP]Look through member function call base during implicit DSA analysis. (authored by ABataev).
[OPENMP]Look through member function call base during implicit DSA analysis.
Dec 17 2021, 10:19 AM
ABataev closed D115902: [OPENMP]Look through member function call base during implicit DSA analysis..
Dec 17 2021, 10:19 AM · Restricted Project
ABataev updated the diff for D115653: [DAG]Introduce llvm::processShuffleMasks and use it for shuffles in DAG Type Legalizer..

Address comments

Dec 17 2021, 6:49 AM · Restricted Project
ABataev added inline comments to D115653: [DAG]Introduce llvm::processShuffleMasks and use it for shuffles in DAG Type Legalizer..
Dec 17 2021, 6:24 AM · Restricted Project
ABataev requested review of D115939: [SLP]Fix PR52756: SLPVectorizer crashes with assertion VecTy == FinalVecTy..
Dec 17 2021, 6:18 AM · Restricted Project

Dec 16 2021

ABataev updated the diff for D115653: [DAG]Introduce llvm::processShuffleMasks and use it for shuffles in DAG Type Legalizer..

Rebase

Dec 16 2021, 1:47 PM · Restricted Project
ABataev requested review of D115902: [OPENMP]Look through member function call base during implicit DSA analysis..
Dec 16 2021, 1:28 PM · Restricted Project
ABataev committed rG65fc99257990: [SLP]Early exit out of the reordering if shuffled/perfect diamond match found. (authored by ABataev).
[SLP]Early exit out of the reordering if shuffled/perfect diamond match found.
Dec 16 2021, 11:11 AM
ABataev closed D115811: [SLP]Early exit out of the reordering if shuffled/perfect diamond match found..
Dec 16 2021, 11:10 AM · Restricted Project
ABataev updated the diff for D115811: [SLP]Early exit out of the reordering if shuffled/perfect diamond match found..

Renamed lambda.

Dec 16 2021, 5:29 AM · Restricted Project

Dec 15 2021

ABataev added inline comments to D115811: [SLP]Early exit out of the reordering if shuffled/perfect diamond match found..
Dec 15 2021, 4:39 PM · Restricted Project
ABataev added inline comments to D115811: [SLP]Early exit out of the reordering if shuffled/perfect diamond match found..
Dec 15 2021, 3:35 PM · Restricted Project
ABataev added inline comments to D115683: [clang][OpenMP] Add codegen for allocate directive's 'align' clause.
Dec 15 2021, 3:08 PM · Restricted Project
ABataev added inline comments to D115811: [SLP]Early exit out of the reordering if shuffled/perfect diamond match found..
Dec 15 2021, 3:05 PM · Restricted Project
ABataev added inline comments to D115811: [SLP]Early exit out of the reordering if shuffled/perfect diamond match found..
Dec 15 2021, 2:46 PM · Restricted Project
ABataev added inline comments to D115811: [SLP]Early exit out of the reordering if shuffled/perfect diamond match found..
Dec 15 2021, 1:33 PM · Restricted Project
ABataev updated the diff for D115811: [SLP]Early exit out of the reordering if shuffled/perfect diamond match found..

Added a comment

Dec 15 2021, 1:24 PM · Restricted Project
ABataev added inline comments to D115811: [SLP]Early exit out of the reordering if shuffled/perfect diamond match found..
Dec 15 2021, 12:14 PM · Restricted Project
ABataev requested review of D115811: [SLP]Early exit out of the reordering if shuffled/perfect diamond match found..
Dec 15 2021, 11:09 AM · Restricted Project
ABataev committed rG292bbed6ab79: [SLP][NFC] Add a test for inefficient reordering, NFC. (authored by ABataev).
[SLP][NFC] Add a test for inefficient reordering, NFC.
Dec 15 2021, 11:06 AM
ABataev committed rG6f2e08763179: [SLP]Do not represent splats as node with the reused scalars. (authored by ABataev).
[SLP]Do not represent splats as node with the reused scalars.
Dec 15 2021, 6:51 AM
ABataev closed D115800: [SLP]Do not represent splats as node with the reused scalars..
Dec 15 2021, 6:50 AM · Restricted Project
ABataev updated the diff for D115800: [SLP]Do not represent splats as node with the reused scalars..

Added the assertion.

Dec 15 2021, 6:17 AM · Restricted Project
ABataev added inline comments to D115800: [SLP]Do not represent splats as node with the reused scalars..
Dec 15 2021, 6:14 AM · Restricted Project
ABataev requested review of D115800: [SLP]Do not represent splats as node with the reused scalars..
Dec 15 2021, 6:06 AM · Restricted Project
ABataev committed rG46bbd254c1c6: [SLP][NFC]Add a test for broadcast cost with undefs, NFC. (authored by ABataev).
[SLP][NFC]Add a test for broadcast cost with undefs, NFC.
Dec 15 2021, 6:02 AM

Dec 14 2021

ABataev requested review of D115757: [SLP]Generalize cost model..
Dec 14 2021, 1:13 PM · Restricted Project
ABataev requested review of D115750: [SLP]Further improvement of the cost model for scalars used in buildvectors..
Dec 14 2021, 12:08 PM · Restricted Project
ABataev updated the diff for D110978: [SLP]Improve gathering of the scalars used in the graph..

Address comments

Dec 14 2021, 8:33 AM · Restricted Project