Page MenuHomePhabricator

piotr (Piotr Sobczak)
User

Projects

User does not belong to any projects.

User Details

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

Recent Activity

Mon, Jul 29

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

Ping

Mon, Jul 29, 7:36 AM · Restricted Project
piotr added a comment to D63860: [MachineCSE] Extend CSE heuristic.

Ping

Mon, Jul 29, 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: [MachineCSE] Extend CSE heuristic.

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: [MachineCSE] Extend CSE heuristic 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: [MachineCSE] Extend CSE heuristic.

V4: Simplified the condition and test.

Jul 18 2019, 3:20 AM · Restricted Project

Jul 10 2019

piotr added inline comments to D63860: [MachineCSE] Extend CSE heuristic.
Jul 10 2019, 5:04 AM · Restricted Project
piotr added a comment to D63860: [MachineCSE] Extend CSE heuristic.

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: [MachineCSE] Extend CSE heuristic.

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: [MachineCSE] Extend CSE heuristic.
Jul 2 2019, 3:29 AM · Restricted Project
piotr updated the diff for D63860: [MachineCSE] Extend CSE heuristic.

V3: Updating commit message.

Jul 2 2019, 3:29 AM · Restricted Project
piotr added inline comments to D63860: [MachineCSE] Extend CSE heuristic.
Jul 2 2019, 3:24 AM · Restricted Project
piotr updated the diff for D63860: [MachineCSE] Extend CSE heuristic.

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: [MachineCSE] Extend CSE heuristic.

Related to D63709.

Jun 27 2019, 1:35 AM · Restricted Project
piotr added a reviewer for D63860: [MachineCSE] Extend CSE heuristic: arsenm.
Jun 27 2019, 1:34 AM · Restricted Project
piotr created D63860: [MachineCSE] Extend CSE heuristic.
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
piotr added inline comments to D59535: [SelectionDAG] Compute known bits of CopyFromReg.
Mar 19 2019, 2:30 AM · Restricted Project
piotr added a reviewer for D59535: [SelectionDAG] Compute known bits of CopyFromReg: RKSimon.
Mar 19 2019, 1:23 AM · Restricted Project
piotr added a reviewer for D59535: [SelectionDAG] Compute known bits of CopyFromReg: bogner.
Mar 19 2019, 1:23 AM · Restricted Project
piotr created D59535: [SelectionDAG] Compute known bits of CopyFromReg.
Mar 19 2019, 1:19 AM · Restricted Project

Jan 3 2019

piotr committed rL350292: [AMDGPU] Change section name with metadata access.
[AMDGPU] Change section name with metadata access
Jan 3 2019, 3:26 AM
piotr closed D56197: [AMDGPU] Change section name with metadata access.
Jan 3 2019, 3:26 AM

Jan 2 2019

piotr added a reviewer for D56197: [AMDGPU] Change section name with metadata access: kzhuravl.
Jan 2 2019, 2:14 AM
piotr created D56197: [AMDGPU] Change section name with metadata access.
Jan 2 2019, 2:11 AM
piotr committed rL350208: [AMDGPU] Handle OR as operand of raw load/store.
[AMDGPU] Handle OR as operand of raw load/store
Jan 2 2019, 1:51 AM
piotr closed D55999: [AMDGPU] Handle OR as operand of raw load/store.
Jan 2 2019, 1:51 AM

Dec 23 2018

piotr added reviewers for D55999: [AMDGPU] Handle OR as operand of raw load/store: nhaehnle, mareko, arsenm.
Dec 23 2018, 11:58 AM

Dec 21 2018

piotr created D55999: [AMDGPU] Handle OR as operand of raw load/store.
Dec 21 2018, 6:05 AM

Dec 20 2018

piotr added a comment to D55882: [InstCombine][AMDGPU] Handle more buffer intrinsics.

Thanks for the review. I have just pushed the patch. Feel free to suggest ideas to extend this patch and I will be happy to work on them.

Dec 20 2018, 2:15 AM
piotr committed rL349735: [InstCombine][AMDGPU] Handle more buffer intrinsics.
[InstCombine][AMDGPU] Handle more buffer intrinsics
Dec 20 2018, 2:11 AM
piotr closed D55882: [InstCombine][AMDGPU] Handle more buffer intrinsics.
Dec 20 2018, 2:11 AM

Dec 19 2018

piotr added a comment to D55882: [InstCombine][AMDGPU] Handle more buffer intrinsics.

LGTM. Can the scalar load intrinsics also be handled?

Dec 19 2018, 6:16 AM
piotr created D55882: [InstCombine][AMDGPU] Handle more buffer intrinsics.
Dec 19 2018, 2:40 AM

Dec 12 2018

piotr committed rL348922: [AMDGPU] Set metadata access for explicit section.
[AMDGPU] Set metadata access for explicit section
Dec 12 2018, 3:23 AM
piotr closed D55267: [AMDGPU] Set metadata access for explicit section.
Dec 12 2018, 3:23 AM

Dec 10 2018

piotr updated subscribers of D55267: [AMDGPU] Set metadata access for explicit section.
Dec 10 2018, 1:09 AM

Dec 4 2018

piotr created D55267: [AMDGPU] Set metadata access for explicit section.
Dec 4 2018, 7:12 AM