Page MenuHomePhabricator

critson (Carl Ritson)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 4 2018, 4:49 AM (96 w, 23 h)

Recent Activity

Mon, Jul 6

critson committed rG560292fa990a: [AMDGPU] Update isFMAFasterThanFMulAndFAdd assumptions (authored by critson).
[AMDGPU] Update isFMAFasterThanFMulAndFAdd assumptions
Mon, Jul 6, 11:42 PM
critson closed D83207: [AMDGPU] Update isFMAFasterThanFMulAndFAdd assumptions.
Mon, Jul 6, 11:42 PM · Restricted Project
critson added a comment to D83207: [AMDGPU] Update isFMAFasterThanFMulAndFAdd assumptions.

Technically this is NFC with current hardware configurations, but I would like to be able to decouple this from MAD/MAC.

Mon, Jul 6, 3:37 AM · Restricted Project
Herald added a project to D83207: [AMDGPU] Update isFMAFasterThanFMulAndFAdd assumptions: Restricted Project.
Mon, Jul 6, 3:36 AM · Restricted Project

Thu, Jul 2

critson committed rG42ca2070d7de: [AMDGPU] Insert PS early exit at end of control flow (authored by critson).
[AMDGPU] Insert PS early exit at end of control flow
Thu, Jul 2, 10:07 PM
critson committed rG7ec6927badec: Revert "[AMDGPU] Insert PS early exit at end of control flow" (authored by critson).
Revert "[AMDGPU] Insert PS early exit at end of control flow"
Thu, Jul 2, 9:35 PM
critson added a reverting change for rG2bfcacf0ad36: [AMDGPU] Insert PS early exit at end of control flow: rG7ec6927badec: Revert "[AMDGPU] Insert PS early exit at end of control flow".
Thu, Jul 2, 9:35 PM
critson committed rG2bfcacf0ad36: [AMDGPU] Insert PS early exit at end of control flow (authored by critson).
[AMDGPU] Insert PS early exit at end of control flow
Thu, Jul 2, 8:29 PM
critson closed D82737: [AMDGPU] Insert PS early exit at end of control flow.
Thu, Jul 2, 8:29 PM · Restricted Project
critson committed rGa3daa3f75a01: [AMDGPU] Unify early PS termination blocks (authored by critson).
[AMDGPU] Unify early PS termination blocks
Thu, Jul 2, 6:54 PM
critson closed D82641: [AMDGPU] Unify early PS termination blocks.
Thu, Jul 2, 6:54 PM · Restricted Project

Tue, Jun 30

critson updated the diff for D82737: [AMDGPU] Insert PS early exit at end of control flow.
  • Rebase
  • Add comment
Tue, Jun 30, 2:40 AM · Restricted Project
critson updated the diff for D82641: [AMDGPU] Unify early PS termination blocks.
  • Rebase
  • Rename generateEndPgm
  • Edit comment for clarity
  • Add explicit test to skip-if-dead.ll
Tue, Jun 30, 2:08 AM · Restricted Project
critson added inline comments to D82641: [AMDGPU] Unify early PS termination blocks.
Tue, Jun 30, 2:08 AM · Restricted Project

Mon, Jun 29

critson added a comment to D82737: [AMDGPU] Insert PS early exit at end of control flow.

Can you explain the reasoning behind how you decide where to insert SI_KILL_CLEANUP?

Mon, Jun 29, 10:00 PM · Restricted Project
critson added a comment to D82737: [AMDGPU] Insert PS early exit at end of control flow.

I appreciate there might be some resistance to this way of doing things, i.e. relying on control flow lowering to insert cleanup markers. As an alternative I can rewrite this to look directly at the exec mask processing during the insert skips pass.

Mon, Jun 29, 12:29 AM · Restricted Project

Sun, Jun 28

critson abandoned D81821: [AMDGPU] Make overlaps with ScratchRSrcReg fatal errors.
Sun, Jun 28, 11:57 PM · Restricted Project
critson added a child revision for D82641: [AMDGPU] Unify early PS termination blocks: D82737: [AMDGPU] Insert PS early exit at end of control flow.
Sun, Jun 28, 11:57 PM · Restricted Project
critson created D82737: [AMDGPU] Insert PS early exit at end of control flow.
Sun, Jun 28, 11:57 PM · Restricted Project
critson updated the diff for D82641: [AMDGPU] Unify early PS termination blocks.

Rework this on top of D77544.
Make insertion of skips near the beginning of blocks work correctly by splitting blocks.

Sun, Jun 28, 10:28 PM · Restricted Project
critson added a child revision for D77544: [AMDGPU] Moving SI_RETURN_TO_EPILOG handling out of SIInsertSkips.: D82641: [AMDGPU] Unify early PS termination blocks.
Sun, Jun 28, 10:28 PM · Restricted Project
critson updated the summary of D82641: [AMDGPU] Unify early PS termination blocks.
Sun, Jun 28, 10:28 PM · Restricted Project

Sat, Jun 27

critson added a comment to D82641: [AMDGPU] Unify early PS termination blocks.

We are trying to have the kill intrinsic handling early during the instruction selection.
I can try to incorporate it all entirely there including the unify block code (if can't find a better place now to have it).
I will also update D77544 if this patch goes upstream.

Sat, Jun 27, 3:56 AM · Restricted Project

Fri, Jun 26

critson added a comment to D82641: [AMDGPU] Unify early PS termination blocks.

This is a stepping stop to adding early termination in more places because it means termination can be added anywhere in a basic block (without splitting basic blocks).

Fri, Jun 26, 4:18 AM · Restricted Project
critson created D82641: [AMDGPU] Unify early PS termination blocks.
Fri, Jun 26, 4:18 AM · Restricted Project

Tue, Jun 23

critson added a comment to D67767: [AMDGPU] Add llvm.amdgcn.wqm.demote intrinsic.

Ping - I would like to get this moving again.

Does it make sense to wait until the WQM pass is moved?

Tue, Jun 23, 6:21 AM · Restricted Project

Fri, Jun 19

critson committed rG4a7de36afc78: [AMDGPU] Avoid use of V_READLANE into EXEC in SGPR spills (authored by critson).
[AMDGPU] Avoid use of V_READLANE into EXEC in SGPR spills
Fri, Jun 19, 8:36 PM
critson closed D81914: [AMDGPU] Avoid use of V_READLANE into EXEC in SGPR spills.
Fri, Jun 19, 8:35 PM · Restricted Project
critson updated the diff for D81914: [AMDGPU] Avoid use of V_READLANE into EXEC in SGPR spills.

Address comments on foldMemoryOperandImpl.

Fri, Jun 19, 6:27 AM · Restricted Project
critson added a comment to D67767: [AMDGPU] Add llvm.amdgcn.wqm.demote intrinsic.

Ping - I would like to get this moving again.

Fri, Jun 19, 3:11 AM · Restricted Project
critson updated the diff for D81914: [AMDGPU] Avoid use of V_READLANE into EXEC in SGPR spills.
  • Add test for foldMemoryOperandImpl
  • Rework code in foldMemoryOperandImpl to remove references to specific physical registers
Fri, Jun 19, 2:39 AM · Restricted Project

Thu, Jun 18

critson committed rG8f3b2c8aa317: AMDGPU/GlobalISel: Remove selection of MAD/MAC when not available (authored by critson).
AMDGPU/GlobalISel: Remove selection of MAD/MAC when not available
Thu, Jun 18, 6:36 PM
critson closed D81990: AMDGPU/GlobalISel: Remove selection of MAD/MAC when not available.
Thu, Jun 18, 6:36 PM · Restricted Project

Wed, Jun 17

critson updated the diff for D81914: [AMDGPU] Avoid use of V_READLANE into EXEC in SGPR spills.

This is the simplified version which blocks spill/reload of exec from occuring.

Wed, Jun 17, 10:07 PM · Restricted Project
critson updated the diff for D81990: AMDGPU/GlobalISel: Remove selection of MAD/MAC when not available.

Simplify test changes.

Wed, Jun 17, 6:54 PM · Restricted Project
critson updated the diff for D81914: [AMDGPU] Avoid use of V_READLANE into EXEC in SGPR spills.

Fix error in test update.

Wed, Jun 17, 5:21 AM · Restricted Project
critson added a comment to D81914: [AMDGPU] Avoid use of V_READLANE into EXEC in SGPR spills.

Can you try to constrain the class of the virtual register earlier to avoid this from happening instead? I think that should avoid this coming up (e.g. we do MRI.constrainRegClass(SrcReg, &AMDGPU::SReg_32_XM0RegClass) already to try avoiding m0 spills, plus in foldMemoryOperandImpl to avoid another problem when spills are optimized out)

Wed, Jun 17, 4:49 AM · Restricted Project
critson updated the diff for D81914: [AMDGPU] Avoid use of V_READLANE into EXEC in SGPR spills.

Update spill-special-sgpr.mir for auto updated version.

Wed, Jun 17, 4:49 AM · Restricted Project
critson committed rGac8a2f132b01: [AMDGPU] Fix failure in VCC spilling (authored by critson).
[AMDGPU] Fix failure in VCC spilling
Wed, Jun 17, 4:17 AM
critson closed D81224: [AMDGPU] Fix failure in VCC spilling.
Wed, Jun 17, 4:17 AM · Restricted Project

Tue, Jun 16

critson created D81990: AMDGPU/GlobalISel: Remove selection of MAD/MAC when not available.
Tue, Jun 16, 10:23 PM · Restricted Project
critson created D81914: [AMDGPU] Avoid use of V_READLANE into EXEC in SGPR spills.
Tue, Jun 16, 1:36 AM · Restricted Project
critson added inline comments to D81821: [AMDGPU] Make overlaps with ScratchRSrcReg fatal errors.
Tue, Jun 16, 1:36 AM · Restricted Project
critson added a child revision for D81224: [AMDGPU] Fix failure in VCC spilling: D81914: [AMDGPU] Avoid use of V_READLANE into EXEC in SGPR spills.
Tue, Jun 16, 1:36 AM · Restricted Project

Mon, Jun 15

critson updated the diff for D81821: [AMDGPU] Make overlaps with ScratchRSrcReg fatal errors.

Remove LiveIn parts.
I have concluded that they are wrong, or at least too complicated for a simple test.
In small functions parts of the ScratchRSrcReg may be formed from registers that
are live-ins, and these will work fine.

Mon, Jun 15, 6:28 AM · Restricted Project
critson added a comment to D81821: [AMDGPU] Make overlaps with ScratchRSrcReg fatal errors.

It seem to cause real test failures.

Mon, Jun 15, 2:41 AM · Restricted Project

Sun, Jun 14

critson created D81821: [AMDGPU] Make overlaps with ScratchRSrcReg fatal errors.
Sun, Jun 14, 9:51 PM · Restricted Project

Fri, Jun 12

critson added inline comments to D81706: AMDGPU: Fix spill/restore of 192-bit registers.
Fri, Jun 12, 8:37 AM · Restricted Project

Thu, Jun 11

critson added inline comments to rGda33c96d4762: [AMDGPU] Make SGPR spills exec mask agnostic.
Thu, Jun 11, 7:48 PM

Jun 5 2020

critson updated the diff for D81224: [AMDGPU] Fix failure in VCC spilling.

Change to SReg_64_XEXECRegClass.

Jun 5 2020, 8:36 PM · Restricted Project
critson added inline comments to D81224: [AMDGPU] Fix failure in VCC spilling.
Jun 5 2020, 8:36 PM · Restricted Project
critson created D81224: [AMDGPU] Fix failure in VCC spilling.
Jun 5 2020, 12:30 AM · Restricted Project

Jun 2 2020

critson committed rGda33c96d4762: [AMDGPU] Make SGPR spills exec mask agnostic (authored by critson).
[AMDGPU] Make SGPR spills exec mask agnostic
Jun 2 2020, 9:21 PM
critson closed D80282: [AMDGPU] Make SGPR spills exec mask agnostic.
Jun 2 2020, 9:21 PM · Restricted Project

May 29 2020

critson updated the diff for D80282: [AMDGPU] Make SGPR spills exec mask agnostic.

Update spill-wide-sgpr.ll for new tests in master.

May 29 2020, 8:42 PM · Restricted Project
critson committed rGd04147789ff0: [AMDGPU] Remove assertion on S1024 SGPR to VGPR spill (authored by critson).
[AMDGPU] Remove assertion on S1024 SGPR to VGPR spill
May 29 2020, 7:39 PM
critson closed D80783: [AMDGPU] Remove assertion on S1024 SGPR to VGPR spill.
May 29 2020, 7:38 PM · Restricted Project
critson created D80783: [AMDGPU] Remove assertion on S1024 SGPR to VGPR spill.
May 29 2020, 3:13 AM · Restricted Project

May 27 2020

critson updated the diff for D80282: [AMDGPU] Make SGPR spills exec mask agnostic.
  • Address outstanding comments.
  • Add stack offset checks to MIR test.
May 27 2020, 8:44 PM · Restricted Project
critson added inline comments to D80282: [AMDGPU] Make SGPR spills exec mask agnostic.
May 27 2020, 8:44 PM · Restricted Project

May 26 2020

critson updated the diff for D80282: [AMDGPU] Make SGPR spills exec mask agnostic.
  • Tidy test whitespace
  • Directly output buffer_store/load from SGPR spill.
  • Add assertion for type of spill slot.
May 26 2020, 5:22 AM · Restricted Project

May 21 2020

critson updated the diff for D80282: [AMDGPU] Make SGPR spills exec mask agnostic.
  • Address comments.
  • Add MIR test.
May 21 2020, 4:50 AM · Restricted Project
critson added inline comments to D80282: [AMDGPU] Make SGPR spills exec mask agnostic.
May 21 2020, 4:50 AM · Restricted Project

May 20 2020

critson created D80282: [AMDGPU] Make SGPR spills exec mask agnostic.
May 20 2020, 2:40 AM · Restricted Project

May 19 2020

critson committed rGeeece6dbe686: [AMDGPU] Add more VMEM to SALU WAR hazard tests. NFC (authored by critson).
[AMDGPU] Add more VMEM to SALU WAR hazard tests. NFC
May 19 2020, 4:18 AM

May 15 2020

critson committed rGa065a01bf715: [AMDGPU] Allow use of StackPtrOffsetReg when building spills (authored by critson).
[AMDGPU] Allow use of StackPtrOffsetReg when building spills
May 15 2020, 8:05 PM
critson closed D79776: [AMDGPU] Allow use of StackPtrOffsetReg when building spills.
May 15 2020, 8:05 PM · Restricted Project

May 14 2020

critson updated the diff for D79776: [AMDGPU] Allow use of StackPtrOffsetReg when building spills.

Make test work with amdgpu-waves-per-eu.

May 14 2020, 9:56 PM · Restricted Project
critson added inline comments to D79776: [AMDGPU] Allow use of StackPtrOffsetReg when building spills.
May 14 2020, 3:42 AM · Restricted Project
critson updated the diff for D79776: [AMDGPU] Allow use of StackPtrOffsetReg when building spills.
  • Fix bug where offset register would not be correctly restored
  • Modify test to use smaller array (compiles much faster)
  • Add checks in test
May 14 2020, 3:42 AM · Restricted Project

May 13 2020

critson committed rG195de442daba: [AMDGPU] Strengthen export cluster ordering (authored by critson).
[AMDGPU] Strengthen export cluster ordering
May 13 2020, 7:33 AM
critson closed D79855: [AMDGPU] Strengthen export cluster ordering.
May 13 2020, 7:33 AM · Restricted Project
critson updated the diff for D79855: [AMDGPU] Strengthen export cluster ordering.

Address (1) by only processing on export nodes.
Since there is no way to remove a successor directly, use the
existing removeExportDependencies code and simply apply it to
successors.

May 13 2020, 7:00 AM · Restricted Project
critson updated the diff for D79855: [AMDGPU] Strengthen export cluster ordering.

Add test case.

May 13 2020, 6:59 AM · Restricted Project
critson created D79855: [AMDGPU] Strengthen export cluster ordering.
May 13 2020, 5:54 AM · Restricted Project

May 12 2020

critson updated the diff for D79776: [AMDGPU] Allow use of StackPtrOffsetReg when building spills.

Add test.

May 12 2020, 8:34 AM · Restricted Project
critson committed rG58f1417ebc1a: [AMDGPU] Order pos exports before param exports (authored by critson).
[AMDGPU] Order pos exports before param exports
May 12 2020, 7:30 AM
critson closed D79670: [AMDGPU] Order pos exports before param exports.
May 12 2020, 7:30 AM · Restricted Project
critson added a comment to D67767: [AMDGPU] Add llvm.amdgcn.wqm.demote intrinsic.

Ping

May 12 2020, 5:20 AM · Restricted Project
critson created D79776: [AMDGPU] Allow use of StackPtrOffsetReg when building spills.
May 12 2020, 5:20 AM · Restricted Project
critson updated the diff for D79670: [AMDGPU] Order pos exports before param exports.
  • Improve efficiency of sorting position exports
  • Comment on why position exports should come before others
  • Add test for reordering over loads
May 12 2020, 1:02 AM · Restricted Project

May 11 2020

critson added inline comments to D79670: [AMDGPU] Order pos exports before param exports.
May 11 2020, 5:52 AM · Restricted Project

May 10 2020

critson updated the diff for D79670: [AMDGPU] Order pos exports before param exports.

Simplify the code and improve scheduling by removing unnecessary
dependencies edges on exports.

May 10 2020, 8:45 PM · Restricted Project

May 9 2020

critson updated the diff for D79670: [AMDGPU] Order pos exports before param exports.

Fix failing test.

May 9 2020, 5:17 AM · Restricted Project
critson created D79670: [AMDGPU] Order pos exports before param exports.
May 9 2020, 4:45 AM · Restricted Project

May 7 2020

critson committed rGe3ffe7269b69: [AMDGPU] Cluster shader exports (authored by critson).
[AMDGPU] Cluster shader exports
May 7 2020, 3:22 AM
critson committed rG0d4d86cbd196: [AMDGPU] Precommit test for D79481. NFC (authored by critson).
[AMDGPU] Precommit test for D79481. NFC
May 7 2020, 3:21 AM
critson closed D79481: [AMDGPU] Cluster shader exports.
May 7 2020, 3:21 AM · Restricted Project
critson updated the diff for D79481: [AMDGPU] Cluster shader exports.

Precommit test.

May 7 2020, 3:21 AM · Restricted Project
critson updated the diff for D79481: [AMDGPU] Cluster shader exports.

Address Jay's comments.

May 7 2020, 2:48 AM · Restricted Project
critson added inline comments to D79481: [AMDGPU] Cluster shader exports.
May 7 2020, 2:48 AM · Restricted Project

May 6 2020

critson updated the diff for D79481: [AMDGPU] Cluster shader exports.

Apply linting.

May 6 2020, 5:20 AM · Restricted Project
critson created D79481: [AMDGPU] Cluster shader exports.
May 6 2020, 4:48 AM · Restricted Project

Apr 28 2020

critson updated the diff for D67767: [AMDGPU] Add llvm.amdgcn.wqm.demote intrinsic.

Update intrinsic parameters:
llvm.amdgcn.wqm.demote - IntrWriteMem, IntrInaccessibleMemOnly
llvm.amdgcn.wqm.helper - IntrReadMem, IntrInaccessibleMemOnly

Apr 28 2020, 7:27 PM · Restricted Project
critson updated the diff for D67767: [AMDGPU] Add llvm.amdgcn.wqm.demote intrinsic.

Add DivergenceAnalysis test.
Mark intrinsics as convergent.
Rename a variable.

Apr 28 2020, 5:19 AM · Restricted Project
critson added inline comments to D67767: [AMDGPU] Add llvm.amdgcn.wqm.demote intrinsic.
Apr 28 2020, 5:19 AM · Restricted Project

Apr 24 2020

critson committed rGf83833868b45: [SlotIndexes] Add insertion point for insertMBBIntoMaps (authored by critson).
[SlotIndexes] Add insertion point for insertMBBIntoMaps
Apr 24 2020, 6:26 PM
critson closed D78417: [SlotIndexes] Add insertion point for insertMBBIntoMaps.
Apr 24 2020, 6:26 PM · Restricted Project

Apr 21 2020

critson added a comment to D78417: [SlotIndexes] Add insertion point for insertMBBIntoMaps.

I don't get completely what is the difference between this and just calling insertMBBInMaps() with the new block created by split as the argument. Shouldn't the insertion point being automatically devised correctly if the block is inserted in the right position?

Apr 21 2020, 4:17 AM · Restricted Project

Apr 20 2020

critson updated the diff for D67767: [AMDGPU] Add llvm.amdgcn.wqm.demote intrinsic.

Update to move comprehensive implementation now fairly tested
for graphics.
Now preserves LiveInterval analysis.
This is dependent on D78417.

Apr 20 2020, 1:34 AM · Restricted Project