This is an archive of the discontinued LLVM Phabricator instance.

[AMDGPU] Tag GFX11 LDS loads as using strict_wqm
ClosedPublic

Authored by foad on Jun 16 2022, 8:45 AM.

Details

Summary

LDS_PARAM_LOAD and LDS_DIRECT_LOAD use EXEC per quad
(if any pixel is enabled in the quad, data is written
to all 4 pixels/threads in the quad).

Tag LDS_PARAM_LOAD and LDS_DIRECT_LOAD as using strict_wqm
to enforce this and avoid lane clobbering issues.
Note that only the instruction itself is tagged.
The implicit uses of these do not need to be set WQM.
The reduces unnecessary WQM calculation of M0.

Diff Detail

Event Timeline

foad created this revision.Jun 16 2022, 8:45 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 16 2022, 8:45 AM
foad requested review of this revision.Jun 16 2022, 8:45 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 16 2022, 8:45 AM
foad added a reviewer: Restricted Project.Jun 16 2022, 8:45 AM
foad added a reviewer: ruiling.
rampitec added inline comments.Jun 16 2022, 11:11 AM
llvm/test/CodeGen/AMDGPU/wqm-gfx11.ll
10

Did you mean CHECK-NEXT to make sure there are no excess wqm?

foad updated this revision to Diff 437844.Jun 17 2022, 4:09 AM

Generate checks.

foad marked an inline comment as done.Jun 17 2022, 4:10 AM
foad added inline comments.
llvm/test/CodeGen/AMDGPU/wqm-gfx11.ll
10

Switched to generated checks.

This revision is now accepted and ready to land.Jun 17 2022, 12:48 PM
This revision was landed with ongoing or failed builds.Jun 20 2022, 1:58 PM
This revision was automatically updated to reflect the committed changes.
foad marked an inline comment as done.