Page MenuHomePhabricator

vporpo (Vasileios Porpodas)
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 12 2016, 8:44 PM (319 w, 3 d)

Recent Activity

Yesterday

vporpo updated the diff for D126432: [SLP][TTI][X86] Implement addsub cost calculation..

Rebased.

Fri, May 27, 12:41 PM · Restricted Project, Restricted Project
vporpo abandoned D126431: [TTI][X86] Precommit test for a followup patch that fixes the cost of the add-sub pattern.
Fri, May 27, 11:16 AM · Restricted Project, Restricted Project
vporpo updated the diff for D125712: [SLP][X86] Improve reordering to consider alternate instruction bundles.

Replaced shuffle mask argument with a bitvector and moved all the opcode checking code to TTI->isLegalAltInstr().

Fri, May 27, 11:07 AM · Restricted Project, Restricted Project
vporpo added inline comments to D125712: [SLP][X86] Improve reordering to consider alternate instruction bundles.
Fri, May 27, 9:20 AM · Restricted Project, Restricted Project

Thu, May 26

vporpo added inline comments to D125712: [SLP][X86] Improve reordering to consider alternate instruction bundles.
Thu, May 26, 8:01 PM · Restricted Project, Restricted Project
vporpo updated the diff for D126432: [SLP][TTI][X86] Implement addsub cost calculation..

Moved the cost calculation code from getShuffleCost() to a separate function: getAltInstrCost().

Thu, May 26, 5:46 PM · Restricted Project, Restricted Project
vporpo updated the diff for D125712: [SLP][X86] Improve reordering to consider alternate instruction bundles.

Added shufflemask argument to TTI function.

Thu, May 26, 1:29 PM · Restricted Project, Restricted Project
vporpo added a comment to D125712: [SLP][X86] Improve reordering to consider alternate instruction bundles.

I understand your concerns, but I feel that this pattern is not as tricky as folded loads. We can accurately detect the add-sub pattern within the SLP pass itself, since it matches the AltShuffle TreeEntry. So we can even make the tree cost more accurate (this is in a follow up patch). The only issue that I see is perhaps with cost modeling of this pattern from within a different pass, other than SLP, since that would require special logic to skip the cost of the vector add and vector sub. But given the current infrastructure I don't think we can do anything about this, but that shouldn't stop us from making getShuffleCost() more accurate, even if it will only benefit SLP.

Thu, May 26, 10:30 AM · Restricted Project, Restricted Project
vporpo added inline comments to D125712: [SLP][X86] Improve reordering to consider alternate instruction bundles.
Thu, May 26, 9:11 AM · Restricted Project, Restricted Project

Wed, May 25

vporpo requested review of D126432: [SLP][TTI][X86] Implement addsub cost calculation..
Wed, May 25, 4:30 PM · Restricted Project, Restricted Project
vporpo requested review of D126431: [TTI][X86] Precommit test for a followup patch that fixes the cost of the add-sub pattern.
Wed, May 25, 4:28 PM · Restricted Project, Restricted Project
vporpo accepted D126378: [SLP]Fix crash on reordering of ScatterVectorize nodes..

LG

Wed, May 25, 12:18 PM · Restricted Project, Restricted Project
vporpo added inline comments to D125712: [SLP][X86] Improve reordering to consider alternate instruction bundles.
Wed, May 25, 11:36 AM · Restricted Project, Restricted Project
vporpo added inline comments to D125712: [SLP][X86] Improve reordering to consider alternate instruction bundles.
Wed, May 25, 10:55 AM · Restricted Project, Restricted Project
vporpo added inline comments to D125712: [SLP][X86] Improve reordering to consider alternate instruction bundles.
Wed, May 25, 9:58 AM · Restricted Project, Restricted Project
vporpo added inline comments to D125712: [SLP][X86] Improve reordering to consider alternate instruction bundles.
Wed, May 25, 9:24 AM · Restricted Project, Restricted Project

Tue, May 24

vporpo added a comment to D125712: [SLP][X86] Improve reordering to consider alternate instruction bundles.

ping

Tue, May 24, 12:45 PM · Restricted Project, Restricted Project
vporpo committed rG9df0568b0733: [SLP] Fix crash caused by reorderBottomToTop(). (authored by vporpo).
[SLP] Fix crash caused by reorderBottomToTop().
Tue, May 24, 12:25 PM · Restricted Project, Restricted Project
vporpo closed D126099: [SLP] Fix crash in reorderBottomToTop()..
Tue, May 24, 12:25 PM · Restricted Project, Restricted Project
vporpo updated the diff for D126099: [SLP] Fix crash in reorderBottomToTop()..

Removed AArch64/loadorder.ll changes.

Tue, May 24, 11:19 AM · Restricted Project, Restricted Project
vporpo added a comment to D126099: [SLP] Fix crash in reorderBottomToTop()..

It looks strange, let me double check.

Tue, May 24, 10:54 AM · Restricted Project, Restricted Project
vporpo updated the diff for D126099: [SLP] Fix crash in reorderBottomToTop()..

Changed visiting order as suggested by @ABataev.

Tue, May 24, 9:35 AM · Restricted Project, Restricted Project

Mon, May 23

vporpo updated the diff for D126099: [SLP] Fix crash in reorderBottomToTop()..

Fixed condition (line 4037) which was somehow flipped in the last version of the patch.

Mon, May 23, 11:15 AM · Restricted Project, Restricted Project

Fri, May 20

vporpo updated the diff for D126099: [SLP] Fix crash in reorderBottomToTop()..

Removed single-user assertion for getting the UserTE. Instead we iterate over all user entries and get the one in the Users map.

Fri, May 20, 4:42 PM · Restricted Project, Restricted Project
vporpo requested review of D126099: [SLP] Fix crash in reorderBottomToTop()..
Fri, May 20, 4:04 PM · Restricted Project, Restricted Project
vporpo requested review of D126091: [SLP][NFC] Precommit test for a followup patch that improves reordering for addsubs.
Fri, May 20, 1:49 PM · Restricted Project, Restricted Project
vporpo updated the diff for D125712: [SLP][X86] Improve reordering to consider alternate instruction bundles.

Fixed matching of AddSub pattern.

Fri, May 20, 1:41 PM · Restricted Project, Restricted Project

Wed, May 18

vporpo added a comment to D125712: [SLP][X86] Improve reordering to consider alternate instruction bundles.

I am not sure if there is any other pattern, but this one showed up in a regression in the eigen benchmark.
Hmm yeah fixing it in the back-end may be an option but what if we end up not vectorizing the code because of this? The alternative is a blend + add + sub which should increase the cost quite a bit. So it is probably best to teach reordering not to mess up this pattern in the first place.

Wed, May 18, 9:03 AM · Restricted Project, Restricted Project

Mon, May 16

vporpo updated the diff for D125287: [SLP] Improve root steering by building actual trees instead of calling the look-ahead heuristic.

Fixed stale comment and added DisableScheduling flag to BlockScheduling.

Mon, May 16, 1:14 PM · Restricted Project, Restricted Project
vporpo added reviewers for D125287: [SLP] Improve root steering by building actual trees instead of calling the look-ahead heuristic: RKSimon, dmgreen.
Mon, May 16, 11:13 AM · Restricted Project, Restricted Project
vporpo updated subscribers of D125287: [SLP] Improve root steering by building actual trees instead of calling the look-ahead heuristic.

I think that providing a buildTreeFastAndGetCost() style of function is a decent solution for these types of problems, but I guess this needs more discussion. Adding @RKSimon and @dmgreen .

Mon, May 16, 11:13 AM · Restricted Project, Restricted Project
vporpo requested review of D125712: [SLP][X86] Improve reordering to consider alternate instruction bundles.
Mon, May 16, 11:01 AM · Restricted Project, Restricted Project

Thu, May 12

vporpo committed rG76775bde8ad4: [SLP][NFC] Added test to exercise the cause of a crash caused by reordering. (authored by vporpo).
[SLP][NFC] Added test to exercise the cause of a crash caused by reordering.
Thu, May 12, 11:23 AM · Restricted Project, Restricted Project

Wed, May 11

vporpo added a comment to rG0950d4060cd9: Recommit "[SLP] Make reordering aware of external vectorizable scalar stores.".

This was an issue that was correctly implemented initially and was then changed during the review process in an attempt to optimize the code, exposing the corner case that caused the crash.
An assertion in the code is probably more useful than an actual test, but I guess it is probably best to add both.

Wed, May 11, 6:44 PM · Restricted Project, Restricted Project
vporpo added a reverting change for rGc2a7904aba46: Revert "[SLP] Make reordering aware of external vectorizable scalar stores.": rG0950d4060cd9: Recommit "[SLP] Make reordering aware of external vectorizable scalar stores.".
Wed, May 11, 4:49 PM · Restricted Project, Restricted Project
vporpo committed rG0950d4060cd9: Recommit "[SLP] Make reordering aware of external vectorizable scalar stores." (authored by vporpo).
Recommit "[SLP] Make reordering aware of external vectorizable scalar stores."
Wed, May 11, 4:49 PM · Restricted Project, Restricted Project
vporpo updated the diff for D125287: [SLP] Improve root steering by building actual trees instead of calling the look-ahead heuristic.

Disabled the scheduler for the fast buildtree.

Wed, May 11, 2:03 PM · Restricted Project, Restricted Project

Tue, May 10

vporpo added inline comments to D125287: [SLP] Improve root steering by building actual trees instead of calling the look-ahead heuristic.
Tue, May 10, 4:38 PM · Restricted Project, Restricted Project
vporpo committed rG71bcead98b2e: [SLP] Make reordering aware of external vectorizable scalar stores. (authored by vporpo).
[SLP] Make reordering aware of external vectorizable scalar stores.
Tue, May 10, 3:28 PM · Restricted Project, Restricted Project
vporpo closed D125111: [SLP] Make reordering aware of external vectorizable scalar stores..
Tue, May 10, 3:27 PM · Restricted Project, Restricted Project
vporpo committed rG035aee725c9a: [SLP][NFC] Precommit a lit test for a followup patch that improves tree… (authored by vporpo).
[SLP][NFC] Precommit a lit test for a followup patch that improves tree…
Tue, May 10, 1:48 PM · Restricted Project, Restricted Project
vporpo closed D125110: [SLP][NFC] Precommit a lit test for a followup patch that improves tree reordering for external users..
Tue, May 10, 1:48 PM · Restricted Project, Restricted Project
vporpo updated the diff for D125111: [SLP] Make reordering aware of external vectorizable scalar stores..

Thanks for the comments. Updated sorting according to @dmgreen's comments.

Tue, May 10, 1:05 PM · Restricted Project, Restricted Project
vporpo added inline comments to D125287: [SLP] Improve root steering by building actual trees instead of calling the look-ahead heuristic.
Tue, May 10, 1:02 PM · Restricted Project, Restricted Project
vporpo added inline comments to D125287: [SLP] Improve root steering by building actual trees instead of calling the look-ahead heuristic.
Tue, May 10, 10:56 AM · Restricted Project, Restricted Project
vporpo added inline comments to D125287: [SLP] Improve root steering by building actual trees instead of calling the look-ahead heuristic.
Tue, May 10, 10:41 AM · Restricted Project, Restricted Project
vporpo added inline comments to D125287: [SLP] Improve root steering by building actual trees instead of calling the look-ahead heuristic.
Tue, May 10, 10:33 AM · Restricted Project, Restricted Project
vporpo added inline comments to D125287: [SLP] Improve root steering by building actual trees instead of calling the look-ahead heuristic.
Tue, May 10, 8:42 AM · Restricted Project, Restricted Project

Mon, May 9

vporpo updated the diff for D125287: [SLP] Improve root steering by building actual trees instead of calling the look-ahead heuristic.

Updated checks in tests.

Mon, May 9, 8:41 PM · Restricted Project, Restricted Project
vporpo added a comment to D125287: [SLP] Improve root steering by building actual trees instead of calling the look-ahead heuristic.

This fixes a regression in SingleSource/Benchmarks/Misc/flops-5.c. Increasing the RootLookaheadMaxDepth doesn't fix the issue either. Building small trees instead of calling the lookahead heuristic seems to be more accurate in this case.

Mon, May 9, 8:21 PM · Restricted Project, Restricted Project
vporpo requested review of D125287: [SLP] Improve root steering by building actual trees instead of calling the look-ahead heuristic.
Mon, May 9, 8:15 PM · Restricted Project, Restricted Project
vporpo requested review of D125286: [SLP][NFC] Precommit test for a followup patch on root steering..
Mon, May 9, 8:13 PM · Restricted Project, Restricted Project
vporpo updated the diff for D125111: [SLP] Make reordering aware of external vectorizable scalar stores..

Fixed stability issue and also removed user tree indices out of the TreeEntry.

Mon, May 9, 10:41 AM · Restricted Project, Restricted Project
vporpo added a comment to D125111: [SLP] Make reordering aware of external vectorizable scalar stores..

Thanks for the reproducer @vdmitrie , think I fixed the issue.

Mon, May 9, 10:40 AM · Restricted Project, Restricted Project

Fri, May 6

vporpo added a comment to D125111: [SLP] Make reordering aware of external vectorizable scalar stores..

@vdmitrie please let me know if you find a stability issue, I will do more testing on my side too.

Fri, May 6, 6:37 PM · Restricted Project, Restricted Project
vporpo added inline comments to D125111: [SLP] Make reordering aware of external vectorizable scalar stores..
Fri, May 6, 6:31 PM · Restricted Project, Restricted Project
vporpo updated the diff for D125111: [SLP] Make reordering aware of external vectorizable scalar stores..

Addressed most of @vdmitrie's comments.

Fri, May 6, 6:29 PM · Restricted Project, Restricted Project
vporpo added a comment to D125111: [SLP] Make reordering aware of external vectorizable scalar stores..

The regressions would still appear unless final solution for non-power-of-2 is landed. Even after this there might be the issues with the cost model. What is the actual cause of the regression? The code was vectorized before but then it did not? There are couole regressions in reductiins, caused bya bit dufferent processing order, they should go away with the final code for reductions and non-power-of2.

This is not related to the non-power-of-2. The cause is shown in the lit test: SLP vectorizes trees in isolation so it may generate extra shuffles. It was triggered by the load broadcast cost change.

Fri, May 6, 5:06 PM · Restricted Project, Restricted Project
vporpo added a comment to D125111: [SLP] Make reordering aware of external vectorizable scalar stores..

This fixes a regression in eigen BM_Dot_ComplexComplex_Naive. I doubt it will have any large impact anywhere else, but we should know soon enough.

Fri, May 6, 4:47 PM · Restricted Project, Restricted Project
vporpo added inline comments to D125111: [SLP] Make reordering aware of external vectorizable scalar stores..
Fri, May 6, 4:16 PM · Restricted Project, Restricted Project
vporpo added inline comments to D125111: [SLP] Make reordering aware of external vectorizable scalar stores..
Fri, May 6, 3:26 PM · Restricted Project, Restricted Project
vporpo added a comment to D125111: [SLP] Make reordering aware of external vectorizable scalar stores..

Thanks @vdmitrie for your comments. I will update the code.

Fri, May 6, 3:17 PM · Restricted Project, Restricted Project
vporpo added inline comments to D125111: [SLP] Make reordering aware of external vectorizable scalar stores..
Fri, May 6, 2:30 PM · Restricted Project, Restricted Project
vporpo requested review of D125111: [SLP] Make reordering aware of external vectorizable scalar stores..
Fri, May 6, 11:25 AM · Restricted Project, Restricted Project
vporpo requested review of D125110: [SLP][NFC] Precommit a lit test for a followup patch that improves tree reordering for external users..
Fri, May 6, 11:23 AM · Restricted Project, Restricted Project

Tue, May 3

vporpo added inline comments to D124867: [SLP][NFC] Pre-commit test showing vectorization preventing FMA.
Tue, May 3, 12:14 PM · Restricted Project, Restricted Project
vporpo updated the diff for D124616: [TTI][X86] Fix splat-load cost when load+broadcast cannot be combined..

Added more comments and added checks for the count and type of the load's users.

Tue, May 3, 9:22 AM · Restricted Project, Restricted Project

Mon, May 2

vporpo added inline comments to D124616: [TTI][X86] Fix splat-load cost when load+broadcast cannot be combined..
Mon, May 2, 8:01 PM · Restricted Project, Restricted Project
vporpo added inline comments to D124616: [TTI][X86] Fix splat-load cost when load+broadcast cannot be combined..
Mon, May 2, 5:43 PM · Restricted Project, Restricted Project
vporpo updated the diff for D124616: [TTI][X86] Fix splat-load cost when load+broadcast cannot be combined..

Updated condition for LoadCanBeCombined.

Mon, May 2, 3:28 PM · Restricted Project, Restricted Project
vporpo added inline comments to D124616: [TTI][X86] Fix splat-load cost when load+broadcast cannot be combined..
Mon, May 2, 2:29 PM · Restricted Project, Restricted Project
vporpo added a comment to D124769: [SLP] AdjustExtractsCost - remove redundant subvector extraction code.

Somewhat related to this patch: For cost modeling changes it would probably be helpful to have tests with cost values in them. Because some of these changes may not directly affect the generated IR, but would show up in the cost diff. For example something like: https://reviews.llvm.org/D124802 . Any thoughts?

Mon, May 2, 1:32 PM · Restricted Project, Restricted Project
vporpo requested review of D124802: Custom IR printer for SLP that prints the cost after each vectorized instruction.
Mon, May 2, 1:30 PM · Restricted Project, Restricted Project
vporpo updated the diff for D124616: [TTI][X86] Fix splat-load cost when load+broadcast cannot be combined..

Added hasOneUse check and removed the BB check.

Mon, May 2, 8:28 AM · Restricted Project, Restricted Project
vporpo added a comment to D124616: [TTI][X86] Fix splat-load cost when load+broadcast cannot be combined..

Yes, I think it makes sense to add the hasOneUse check.
I am not really sure about the BBs though, it was reported as a potential issue in SLP, but it turned out that it was a different issue after all. So I guess I will drop this check and keep.

Mon, May 2, 8:23 AM · Restricted Project, Restricted Project

Thu, Apr 28

vporpo updated the diff for D124616: [TTI][X86] Fix splat-load cost when load+broadcast cannot be combined..

Fixed condition.

Thu, Apr 28, 10:56 AM · Restricted Project, Restricted Project
vporpo updated the diff for D124616: [TTI][X86] Fix splat-load cost when load+broadcast cannot be combined..

We now only check if the load and its uses are in the same BB.

Thu, Apr 28, 10:44 AM · Restricted Project, Restricted Project
vporpo added inline comments to rG5efa78985bf5: [SLP] Fix lookahead operand reordering for splat loads..
Thu, Apr 28, 10:15 AM · Restricted Project

Apr 28 2022

vporpo added inline comments to rG5efa78985bf5: [SLP] Fix lookahead operand reordering for splat loads..
Apr 28 2022, 7:34 AM · Restricted Project
vporpo requested review of D124616: [TTI][X86] Fix splat-load cost when load+broadcast cannot be combined..
Apr 28 2022, 7:31 AM · Restricted Project, Restricted Project

Apr 27 2022

vporpo added inline comments to rG5efa78985bf5: [SLP] Fix lookahead operand reordering for splat loads..
Apr 27 2022, 5:53 PM · Restricted Project
vporpo committed rGc7bb5ac5ca1b: [NFC] Renamed /test/Analysis/CostModel/X86/splat-load.ll test and added more… (authored by vporpo).
[NFC] Renamed /test/Analysis/CostModel/X86/splat-load.ll test and added more…
Apr 27 2022, 9:48 AM · Restricted Project, Restricted Project
vporpo closed D124528: [NFC] Renamed /test/Analysis/CostModel/X86/splat-load.ll test and added more checks..
Apr 27 2022, 9:48 AM · Restricted Project, Restricted Project
vporpo updated the diff for D124528: [NFC] Renamed /test/Analysis/CostModel/X86/splat-load.ll test and added more checks..

Added SSE, AVX, AVX2, AVX512 checks.

Apr 27 2022, 7:44 AM · Restricted Project, Restricted Project
vporpo requested review of D124528: [NFC] Renamed /test/Analysis/CostModel/X86/splat-load.ll test and added more checks..
Apr 27 2022, 7:03 AM · Restricted Project, Restricted Project

Apr 26 2022

vporpo added a reverting change for rG6a9bbd9f20dc: Revert "[SLP][TTI] Refactoring of `getShuffleCost` `Args` to work like…: rGfa8a9fea47e0: Recommit "[SLP][TTI] Refactoring of `getShuffleCost` `Args` to work like….
Apr 26 2022, 2:03 PM · Restricted Project, Restricted Project
vporpo committed rGfa8a9fea47e0: Recommit "[SLP][TTI] Refactoring of `getShuffleCost` `Args` to work like… (authored by vporpo).
Recommit "[SLP][TTI] Refactoring of `getShuffleCost` `Args` to work like…
Apr 26 2022, 2:03 PM · Restricted Project, Restricted Project
vporpo added a reverting change for rG55ce296d6f21: [SLP][TTI] Refactoring of `getShuffleCost` `Args` to work like…: rG6a9bbd9f20dc: Revert "[SLP][TTI] Refactoring of `getShuffleCost` `Args` to work like….
Apr 26 2022, 11:26 AM · Restricted Project, Restricted Project
vporpo committed rG6a9bbd9f20dc: Revert "[SLP][TTI] Refactoring of `getShuffleCost` `Args` to work like… (authored by vporpo).
Revert "[SLP][TTI] Refactoring of `getShuffleCost` `Args` to work like…
Apr 26 2022, 11:26 AM · Restricted Project, Restricted Project
vporpo added a reverting change for D124202: [SLP][TTI] Refactoring of `getShuffleCost` `Args` to work like `getArithmeticInstrCost`: rG6a9bbd9f20dc: Revert "[SLP][TTI] Refactoring of `getShuffleCost` `Args` to work like….
Apr 26 2022, 11:25 AM · Restricted Project, Restricted Project
vporpo committed rG55ce296d6f21: [SLP][TTI] Refactoring of `getShuffleCost` `Args` to work like… (authored by vporpo).
[SLP][TTI] Refactoring of `getShuffleCost` `Args` to work like…
Apr 26 2022, 11:12 AM · Restricted Project, Restricted Project
vporpo closed D124202: [SLP][TTI] Refactoring of `getShuffleCost` `Args` to work like `getArithmeticInstrCost`.
Apr 26 2022, 11:12 AM · Restricted Project, Restricted Project
vporpo closed D124201: [TTI] Pre-commit cost model tests splat-loads..

commit: e83ad23daf130982facc9b6f6ee1bc0600c956d0

Apr 26 2022, 10:27 AM · Restricted Project, Restricted Project
vporpo committed rG957ada4164dd: [AArch64][NFC] Deleted llvm/test/Analysis/CostModel/AArch64/splat-load.ll test (authored by vporpo).
[AArch64][NFC] Deleted llvm/test/Analysis/CostModel/AArch64/splat-load.ll test
Apr 26 2022, 10:24 AM · Restricted Project, Restricted Project
vporpo closed D124456: [AArch64][NFC] Deleted llvm/test/Analysis/CostModel/AArch64/splat-load.ll test.
Apr 26 2022, 10:24 AM · Restricted Project, Restricted Project
vporpo added inline comments to D124202: [SLP][TTI] Refactoring of `getShuffleCost` `Args` to work like `getArithmeticInstrCost`.
Apr 26 2022, 8:58 AM · Restricted Project, Restricted Project
vporpo updated the diff for D124202: [SLP][TTI] Refactoring of `getShuffleCost` `Args` to work like `getArithmeticInstrCost`.

Rebased and addressed comment.

Apr 26 2022, 8:52 AM · Restricted Project, Restricted Project
vporpo requested review of D124456: [AArch64][NFC] Deleted llvm/test/Analysis/CostModel/AArch64/splat-load.ll test.
Apr 26 2022, 7:37 AM · Restricted Project, Restricted Project

Apr 22 2022

vporpo added a comment to D124313: [SLP][NFC] Outline lookahead heuristics into a separate helper class..

Looks great, @ABataev any comments?

Apr 22 2022, 5:31 PM · Restricted Project, Restricted Project
vporpo added inline comments to D124309: [SLP] Steer for the best chance in tryToVectorize() when rooting with binary ops..
Apr 22 2022, 5:22 PM · Restricted Project, Restricted Project