[PATCH] D141379: [AMDGPU] Temporarily disable FeatureBackOffBarrier for GFX11
Jay Foad via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 10 05:32:11 PST 2023
foad created this revision.
Herald added subscribers: kosarev, StephenFan, kerbowa, hiraditya, tpr, dstuttard, yaxunl, jvesely, kzhuravl, arsenm.
Herald added a project: All.
foad requested review of this revision.
Herald added subscribers: llvm-commits, wdng.
Herald added a project: LLVM.
Enabling this feature exposed some incorrect codegen, where a workgroup-
scope barrier fails to properly synchronise two waves from the same
workgroup running on different SIMDs of the same CU.
Disabling FeatureBackOffBarrier causes an s_waitcnt to be emitted before
the barrier which works around the problem.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D141379
Files:
llvm/lib/Target/AMDGPU/AMDGPU.td
llvm/test/CodeGen/AMDGPU/back-off-barrier-subtarget-feature.ll
llvm/test/CodeGen/AMDGPU/waitcnt-preexisting-vscnt.mir
Index: llvm/test/CodeGen/AMDGPU/waitcnt-preexisting-vscnt.mir
===================================================================
--- llvm/test/CodeGen/AMDGPU/waitcnt-preexisting-vscnt.mir
+++ llvm/test/CodeGen/AMDGPU/waitcnt-preexisting-vscnt.mir
@@ -64,7 +64,7 @@
; GFX11-NEXT: S_WAITCNT 0
; GFX11-NEXT: S_WAITCNT_VSCNT undef $sgpr_null, 0
; GFX11-NEXT: GLOBAL_STORE_DWORD $vgpr0_vgpr1, $vgpr2, 0, 0, implicit $exec
- ; GFX11-NEXT: S_WAITCNT_VSCNT undef $sgpr_null, 1
+ ; GFX11-NEXT: S_WAITCNT_VSCNT undef $sgpr_null, 0
; GFX11-NEXT: S_BARRIER
; GFX11-NEXT: $vgpr0 = FLAT_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec, implicit $flat_scr
; GFX11-NEXT: S_WAITCNT 7
@@ -185,7 +185,7 @@
; GFX11-NEXT: S_WAITCNT_VSCNT undef $sgpr_null, 0
; GFX11-NEXT: GLOBAL_STORE_DWORD $vgpr0_vgpr1, $vgpr2, 0, 0, implicit $exec
; GFX11-NEXT: S_WAITCNT 0
- ; GFX11-NEXT: S_WAITCNT_VSCNT undef $sgpr_null, 1
+ ; GFX11-NEXT: S_WAITCNT_VSCNT undef $sgpr_null, 0
; GFX11-NEXT: S_BARRIER
; GFX11-NEXT: $vgpr0 = FLAT_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec, implicit $flat_scr
; GFX11-NEXT: S_WAITCNT 7
Index: llvm/test/CodeGen/AMDGPU/back-off-barrier-subtarget-feature.ll
===================================================================
--- llvm/test/CodeGen/AMDGPU/back-off-barrier-subtarget-feature.ll
+++ llvm/test/CodeGen/AMDGPU/back-off-barrier-subtarget-feature.ll
@@ -47,8 +47,8 @@
; GFX11-BACKOFF-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; GFX11-BACKOFF-NEXT: s_waitcnt_vscnt null, 0x0
; GFX11-BACKOFF-NEXT: flat_load_b32 v0, v[0:1]
-; GFX11-BACKOFF-NEXT: s_barrier
; GFX11-BACKOFF-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
+; GFX11-BACKOFF-NEXT: s_barrier
; GFX11-BACKOFF-NEXT: flat_store_b32 v[2:3], v0
; GFX11-BACKOFF-NEXT: s_waitcnt lgkmcnt(0)
; GFX11-BACKOFF-NEXT: s_waitcnt_vscnt null, 0x0
Index: llvm/lib/Target/AMDGPU/AMDGPU.td
===================================================================
--- llvm/lib/Target/AMDGPU/AMDGPU.td
+++ llvm/lib/Target/AMDGPU/AMDGPU.td
@@ -1312,7 +1312,6 @@
FeaturePackedTID,
FeatureVcmpxPermlaneHazard,
FeatureVALUTransUseHazard,
- FeatureBackOffBarrier,
FeatureMADIntraFwdBug]>;
def FeatureISAVersion11_0_0 : FeatureSet<
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D141379.487765.patch
Type: text/x-patch
Size: 2286 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230110/80da0970/attachment.bin>
More information about the llvm-commits
mailing list