Page MenuHomePhabricator

piotr (Piotr Sobczak)
User

Projects

User does not belong to any projects.

User Details

User Since
Dec 4 2018, 6:02 AM (44 w, 6 d)

Recent Activity

Today

piotr updated the diff for D68865: [InstCombine][AMDGPU] Fix crash with v3i16/v3f16 buffer intrinsics.

Changed "== 16" to "!= 32".

Mon, Oct 14, 5:01 AM · Restricted Project

Fri, Oct 11

piotr added inline comments to D64911: [AMDGPU] Extend the SI Load/Store optimizer.
Fri, Oct 11, 7:08 AM · Restricted Project
piotr updated the diff for D64911: [AMDGPU] Extend the SI Load/Store optimizer.

Rebased and addressed review comments.

Fri, Oct 11, 7:01 AM · Restricted Project
piotr added a reviewer for D68865: [InstCombine][AMDGPU] Fix crash with v3i16/v3f16 buffer intrinsics: arsenm.
Fri, Oct 11, 5:26 AM · Restricted Project
piotr added reviewers for D68865: [InstCombine][AMDGPU] Fix crash with v3i16/v3f16 buffer intrinsics: tpr, nhaehnle.
Fri, Oct 11, 5:26 AM · Restricted Project
piotr updated the diff for D68865: [InstCombine][AMDGPU] Fix crash with v3i16/v3f16 buffer intrinsics.

Fixed wrong spacing.

Fri, Oct 11, 5:18 AM · Restricted Project
piotr created D68865: [InstCombine][AMDGPU] Fix crash with v3i16/v3f16 buffer intrinsics.
Fri, Oct 11, 5:11 AM · Restricted Project

Fri, Oct 4

piotr updated the diff for D64911: [AMDGPU] Extend the SI Load/Store optimizer.

Rebased after D68384 has been merged.

Fri, Oct 4, 4:54 AM · Restricted Project
piotr committed rG165e469145ec: [AMDGPU][SILoadStoreOptimizer] NFC: Refactor code (authored by piotr).
[AMDGPU][SILoadStoreOptimizer] NFC: Refactor code
Fri, Oct 4, 12:09 AM
piotr committed rL373699: [AMDGPU][SILoadStoreOptimizer] NFC: Refactor code.
[AMDGPU][SILoadStoreOptimizer] NFC: Refactor code
Fri, Oct 4, 12:08 AM
piotr closed D68384: [AMDGPU][SILoadStoreOptimizer] NFC: Refactor code.
Fri, Oct 4, 12:08 AM · Restricted Project

Thu, Oct 3

piotr added reviewers for D68384: [AMDGPU][SILoadStoreOptimizer] NFC: Refactor code: nhaehnle, arsenm, tstellar.
Thu, Oct 3, 5:41 AM · Restricted Project
piotr updated the diff for D64911: [AMDGPU] Extend the SI Load/Store optimizer.

A recent patch in SILoadOptimizer (D65496) conflicted with this patch. I have rebased it to the latest master, but for clarity I will split the review into two parts: a separate review for the NFC refactoring (D68384) and the current review only for merging MIMG instruction.

Thu, Oct 3, 5:29 AM · Restricted Project
piotr created D68384: [AMDGPU][SILoadStoreOptimizer] NFC: Refactor code.
Thu, Oct 3, 5:26 AM · Restricted Project

Wed, Oct 2

piotr committed rL373491: [AMDGPU] Extend buffer intrinsics with swizzling.
[AMDGPU] Extend buffer intrinsics with swizzling
Wed, Oct 2, 10:25 AM
piotr committed rG265e94e65798: [AMDGPU] Extend buffer intrinsics with swizzling (authored by piotr).
[AMDGPU] Extend buffer intrinsics with swizzling
Wed, Oct 2, 10:25 AM
piotr closed D68200: [AMDGPU] Extend buffer intrinsics with swizzling.
Wed, Oct 2, 10:25 AM · Restricted Project
piotr added inline comments to D68200: [AMDGPU] Extend buffer intrinsics with swizzling.
Wed, Oct 2, 2:40 AM · Restricted Project
piotr updated the diff for D68200: [AMDGPU] Extend buffer intrinsics with swizzling.

Addressed review comments and rebased.

Wed, Oct 2, 2:38 AM · Restricted Project

Tue, Oct 1

piotr added a comment to D67345: [InstCombine] Allow values with multiple users in SimplifyDemandedVectorElts.

This is a useful change, but there is an unfortunate asymmetry here in how the code is structured: in addition to extractelement, we could also have shufflevector users (or masked stores etc.). Presumably we'd be able to handle all of those together without duplicating the code. Is there a way to take this into account?

Also, two comments inline.

Tue, Oct 1, 5:05 AM · Restricted Project

Mon, Sep 30

piotr added a comment to D68200: [AMDGPU] Extend buffer intrinsics with swizzling.

I thought this was a property of the resource descriptor? Why do you need to add it to the intrinsic?

Mon, Sep 30, 7:53 AM · Restricted Project
piotr added reviewers for D68200: [AMDGPU] Extend buffer intrinsics with swizzling: arsenm, nhaehnle, tpr.
Mon, Sep 30, 1:42 AM · Restricted Project
piotr created D68200: [AMDGPU] Extend buffer intrinsics with swizzling.
Mon, Sep 30, 1:42 AM · Restricted Project

Fri, Sep 27

piotr added a comment to D67345: [InstCombine] Allow values with multiple users in SimplifyDemandedVectorElts.

Ping

Fri, Sep 27, 12:29 AM · Restricted Project

Mon, Sep 23

piotr committed rL372571: Request commit access for piotr.
Request commit access for piotr
Mon, Sep 23, 2:57 AM

Thu, Sep 19

piotr added a comment to D67345: [InstCombine] Allow values with multiple users in SimplifyDemandedVectorElts.

Ping

Thu, Sep 19, 7:31 AM · Restricted Project

Sep 9 2019

piotr added a reviewer for D67345: [InstCombine] Allow values with multiple users in SimplifyDemandedVectorElts: majnemer.
Sep 9 2019, 3:49 AM · Restricted Project
piotr added reviewers for D67345: [InstCombine] Allow values with multiple users in SimplifyDemandedVectorElts: reames, arsenm.
Sep 9 2019, 3:49 AM · Restricted Project
piotr created D67345: [InstCombine] Allow values with multiple users in SimplifyDemandedVectorElts.
Sep 9 2019, 3:46 AM · Restricted Project

Sep 2 2019

piotr updated the diff for D64911: [AMDGPU] Extend the SI Load/Store optimizer.

Rebased and added missing 'const' in SILoadStoreOptimizer::dmasksCanBeCombined.

Sep 2 2019, 6:59 AM · Restricted Project
piotr committed rG252a584cbd01: [AMDGPU] Add test (authored by piotr).
[AMDGPU] Add test
Sep 2 2019, 3:03 AM
piotr committed rL370634: [AMDGPU] Add test.
[AMDGPU] Add test
Sep 2 2019, 3:02 AM
piotr closed D63860: [AMDGPU] Add test.
Sep 2 2019, 3:02 AM · Restricted Project

Aug 30 2019

piotr retitled D63860: [AMDGPU] Add test from [MachineCSE] Extend CSE heuristic to [AMDGPU] Add test.
Aug 30 2019, 10:01 AM · Restricted Project
piotr updated the diff for D63860: [AMDGPU] Add test.

Reverting the patch and leaving the test only as it passes without the change in code.

Aug 30 2019, 9:58 AM · Restricted Project
piotr committed rG67b979466a61: [InstCombine][AMDGPU] Simplify tbuffer loads (authored by piotr).
[InstCombine][AMDGPU] Simplify tbuffer loads
Aug 30 2019, 7:21 AM
piotr committed rL370475: [InstCombine][AMDGPU] Simplify tbuffer loads.
[InstCombine][AMDGPU] Simplify tbuffer loads
Aug 30 2019, 7:21 AM
piotr closed D66926: [InstCombine][AMDGPU] Simplify tbuffer loads.
Aug 30 2019, 7:21 AM · Restricted Project
piotr added a comment to D63860: [AMDGPU] Add test.

Thank you for bearing with me, I have been away.

Aug 30 2019, 6:02 AM · Restricted Project

Aug 29 2019

piotr added reviewers for D66926: [InstCombine][AMDGPU] Simplify tbuffer loads: arsenm, nhaehnle.
Aug 29 2019, 12:06 AM · Restricted Project
piotr created D66926: [InstCombine][AMDGPU] Simplify tbuffer loads.
Aug 29 2019, 12:06 AM · Restricted Project

Jul 29 2019

piotr added a comment to D64911: [AMDGPU] Extend the SI Load/Store optimizer.

Ping

Jul 29 2019, 7:36 AM · Restricted Project
piotr added a comment to D63860: [AMDGPU] Add test.

Ping

Jul 29 2019, 7:36 AM · Restricted Project

Jul 19 2019

piotr added a comment to D64911: [AMDGPU] Extend the SI Load/Store optimizer.

I think a generic pass would not be suited for our image instructions, due to the dmask special treatment. I had decided to extend the si-load-store-opt pass, because similar transformations were already handled there.

Jul 19 2019, 8:15 AM · Restricted Project
piotr updated the diff for D64911: [AMDGPU] Extend the SI Load/Store optimizer.

V2: Addressed review comments.

Jul 19 2019, 7:09 AM · Restricted Project
piotr updated the diff for D63860: [AMDGPU] Add test.

V5: Refactored code.

Jul 19 2019, 5:05 AM · Restricted Project

Jul 18 2019

piotr added a reviewer for D64911: [AMDGPU] Extend the SI Load/Store optimizer: nhaehnle.
Jul 18 2019, 4:01 AM · Restricted Project
piotr created D64911: [AMDGPU] Extend the SI Load/Store optimizer.
Jul 18 2019, 4:01 AM · Restricted Project
piotr retitled D63860: [AMDGPU] Add test from [MachineCSE] Improve CSE on phi node incoming value to [MachineCSE] Extend CSE heuristic.
Jul 18 2019, 3:22 AM · Restricted Project
piotr updated the diff for D63860: [AMDGPU] Add test.

V4: Simplified the condition and test.

Jul 18 2019, 3:20 AM · Restricted Project

Jul 10 2019

piotr added inline comments to D63860: [AMDGPU] Add test.
Jul 10 2019, 5:04 AM · Restricted Project
piotr added a comment to D63860: [AMDGPU] Add test.

Hi @piotr, have you tried regression benchmarking with this patch? For instance, test suite.

Hi Anton, Yes, I have just run regression testing on the test-suite and the tests pass ("Expected Passes : 917").

Hmm, I'm talking about performance benchmarking, from llvm Test Suite: https://llvm.org/docs/TestingGuide.html#test-suite.

Jul 10 2019, 5:01 AM · Restricted Project

Jul 8 2019

piotr added a comment to D63860: [AMDGPU] Add test.

Hi @piotr, have you tried regression benchmarking with this patch? For instance, test suite.

Jul 8 2019, 4:27 PM · Restricted Project

Jul 2 2019

piotr updated the summary of D63860: [AMDGPU] Add test.
Jul 2 2019, 3:29 AM · Restricted Project
piotr updated the diff for D63860: [AMDGPU] Add test.

V3: Updating commit message.

Jul 2 2019, 3:29 AM · Restricted Project
piotr added inline comments to D63860: [AMDGPU] Add test.
Jul 2 2019, 3:24 AM · Restricted Project
piotr updated the diff for D63860: [AMDGPU] Add test.

V2: Removing condition that BB has to contain phis only. Added a MIR test.

Jul 2 2019, 3:20 AM · Restricted Project

Jun 27 2019

piotr added a comment to D63860: [AMDGPU] Add test.

Related to D63709.

Jun 27 2019, 1:35 AM · Restricted Project
piotr added a reviewer for D63860: [AMDGPU] Add test: arsenm.
Jun 27 2019, 1:34 AM · Restricted Project
piotr created D63860: [AMDGPU] Add test.
Jun 27 2019, 1:31 AM · Restricted Project

Jun 26 2019

piotr abandoned D63709: [AMDGPU] Add peephole to optimize MOV.
Jun 26 2019, 2:18 PM · Restricted Project
piotr added a comment to D63709: [AMDGPU] Add peephole to optimize MOV.

I think things are going from from this heuristic:

// Heuristics #3: If the common subexpression is used by PHIs, do not reuse
// it unless the defined value is already used in the BB of the new use.
bool HasPHI = false;
for (MachineInstr &UseMI : MRI->use_nodbg_instructions(CSReg)) {
  HasPHI |= UseMI.isPHI();
  if (UseMI.getParent() == MI->getParent())
    return true;
}

The second phi use is in a flow block with only the phi, so the use is in the fall through successor. Maybe it could be relaxed to look through trivial successors, at least for blocks with only phis?

Jun 26 2019, 2:18 PM · Restricted Project

Jun 25 2019

piotr added a comment to D63709: [AMDGPU] Add peephole to optimize MOV.

Other targets seem to not have this problem with a slightly generalized version, so I would look into how this is cleaned up there

It seems we're missing a simplifycfg run somewhere, so maybe we're thinking of this on the wrong level entirely.. If I run simplify cfg on any of the testcase variants, this problem disappears

Jun 25 2019, 8:51 AM · Restricted Project
piotr added inline comments to D63709: [AMDGPU] Add peephole to optimize MOV.
Jun 25 2019, 1:24 AM · Restricted Project
piotr updated the diff for D63709: [AMDGPU] Add peephole to optimize MOV.

Simplifying IR test case even more with bugpoint.

Jun 25 2019, 1:18 AM · Restricted Project

Jun 24 2019

piotr added inline comments to D63709: [AMDGPU] Add peephole to optimize MOV.
Jun 24 2019, 2:47 PM · Restricted Project
piotr updated the diff for D63709: [AMDGPU] Add peephole to optimize MOV.

Adding IR test case example.

Jun 24 2019, 9:03 AM · Restricted Project
piotr added inline comments to D63709: [AMDGPU] Add peephole to optimize MOV.
Jun 24 2019, 8:59 AM · Restricted Project
piotr added a comment to D63709: [AMDGPU] Add peephole to optimize MOV.

This opt opportunity presents itself after the register coalescer, where inline constants are moved to the same registers (attaching IR example testcase imminently). MachineCSE is run too early to spot this and the last occurence of si-shrink-instructions is run at the right time. I think, for similar reasons some other peepholes were also placed in this pass, even though they are not about 32-bit encoding.

Jun 24 2019, 8:57 AM · Restricted Project
piotr added reviewers for D63709: [AMDGPU] Add peephole to optimize MOV: rampitec, arsenm.
Jun 24 2019, 5:30 AM · Restricted Project
piotr created D63709: [AMDGPU] Add peephole to optimize MOV.
Jun 24 2019, 5:27 AM · Restricted Project

Jun 10 2019

piotr committed rG9b11e93d900a: [AMDGPU] Optimize image_[load|store]_mip (authored by piotr).
[AMDGPU] Optimize image_[load|store]_mip
Jun 10 2019, 8:58 AM
piotr committed rL362957: [AMDGPU] Optimize image_[load|store]_mip.
[AMDGPU] Optimize image_[load|store]_mip
Jun 10 2019, 8:58 AM
piotr closed D63073: [AMDGPU] Optimize image_[load|store]_mip.
Jun 10 2019, 8:57 AM · Restricted Project
piotr added a comment to D63073: [AMDGPU] Optimize image_[load|store]_mip.

The patch has been created for consistency in the same way as https://reviews.llvm.org/D49483, where a similar optimisation was added.

Jun 10 2019, 5:42 AM · Restricted Project
piotr added reviewers for D63073: [AMDGPU] Optimize image_[load|store]_mip: arsenm, nhaehnle.
Jun 10 2019, 3:52 AM · Restricted Project
piotr created D63073: [AMDGPU] Optimize image_[load|store]_mip.
Jun 10 2019, 3:51 AM · Restricted Project

Apr 30 2019

piotr added a comment to D59535: [SelectionDAG] Compute known bits of CopyFromReg.

@Carrot Thanks for letting me know.

Apr 30 2019, 5:57 AM · Restricted Project

Apr 18 2019

piotr committed rG72e2960e525a: [AMDGPU] Ignore non-SUnits edges (authored by piotr).
[AMDGPU] Ignore non-SUnits edges
Apr 18 2019, 11:18 PM
piotr committed rL358740: [AMDGPU] Ignore non-SUnits edges.
[AMDGPU] Ignore non-SUnits edges
Apr 18 2019, 11:17 PM
piotr closed D60864: [AMDGPU] Ignore non-SUnits edges.
Apr 18 2019, 11:17 PM · Restricted Project
piotr added a reviewer for D60864: [AMDGPU] Ignore non-SUnits edges: nhaehnle.
Apr 18 2019, 4:28 AM · Restricted Project
piotr created D60864: [AMDGPU] Ignore non-SUnits edges.
Apr 18 2019, 4:28 AM · Restricted Project

Apr 10 2019

piotr added a comment to D59535: [SelectionDAG] Compute known bits of CopyFromReg.

OK, thanks!

Apr 10 2019, 11:56 PM · Restricted Project
piotr added a comment to D59535: [SelectionDAG] Compute known bits of CopyFromReg.

Yes, we see improvements on the AMDGPU target.

Apr 10 2019, 5:15 AM · Restricted Project
piotr added a comment to D59535: [SelectionDAG] Compute known bits of CopyFromReg.

It's indeed unfortunate that you saw a regression with my patch. The patch makes SelectionDAG see more context, so it provides more optimization opportunities. Arguably, the fact that you see worse code now is a limitation of the optimization you mentioned that has become visible only now. Have you checked whether the problematic opt could be restricted (possibly only on targets not benefiting from the broader scope of the SelectionDAG)?

Apr 10 2019, 2:33 AM · Restricted Project

Apr 5 2019

piotr added a comment to D59535: [SelectionDAG] Compute known bits of CopyFromReg.

@RKSimon No, I do not intend to modify ComputeNumSignBits at this time.

Apr 5 2019, 12:47 AM · Restricted Project
piotr committed rG0376ac1d9464: [SelectionDAG] Compute known bits of CopyFromReg (authored by piotr).
[SelectionDAG] Compute known bits of CopyFromReg
Apr 5 2019, 12:43 AM
piotr committed rL357745: [SelectionDAG] Compute known bits of CopyFromReg.
[SelectionDAG] Compute known bits of CopyFromReg
Apr 5 2019, 12:42 AM
piotr closed D59535: [SelectionDAG] Compute known bits of CopyFromReg.
Apr 5 2019, 12:42 AM · Restricted Project

Apr 4 2019

piotr added a comment to D59535: [SelectionDAG] Compute known bits of CopyFromReg.

Ping.

Apr 4 2019, 2:05 AM · Restricted Project

Mar 28 2019

piotr updated the diff for D59535: [SelectionDAG] Compute known bits of CopyFromReg.

Rebased.

Mar 28 2019, 12:49 AM · Restricted Project
piotr committed rGf896785cb72a: [SelectionDAG] Add 2 tests for selection across basic blocks (authored by piotr).
[SelectionDAG] Add 2 tests for selection across basic blocks
Mar 28 2019, 12:07 AM
piotr committed rL357149: [SelectionDAG] Add 2 tests for selection across basic blocks.
[SelectionDAG] Add 2 tests for selection across basic blocks
Mar 28 2019, 12:05 AM
piotr closed D59690: [SelectionDAG] Add more tests.
Mar 28 2019, 12:05 AM · Restricted Project

Mar 22 2019

piotr added inline comments to D59535: [SelectionDAG] Compute known bits of CopyFromReg.
Mar 22 2019, 4:18 AM · Restricted Project
piotr added a reviewer for D59690: [SelectionDAG] Add more tests: RKSimon.
Mar 22 2019, 4:13 AM · Restricted Project
piotr created D59690: [SelectionDAG] Add more tests.
Mar 22 2019, 4:11 AM · Restricted Project
piotr updated the diff for D59535: [SelectionDAG] Compute known bits of CopyFromReg.

Addressed review comments, extracted new tests and rebased.

Mar 22 2019, 4:07 AM · Restricted Project

Mar 19 2019

piotr added inline comments to D59535: [SelectionDAG] Compute known bits of CopyFromReg.
Mar 19 2019, 5:40 AM · Restricted Project