[llvm] [AMDGPU] Refactor GFX11 VALU Mask Hazard Waitcnt Merging (PR #169213)

via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 14 03:50:32 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results

* 178914 tests passed
* 3540 tests skipped
* 1 test failed

## Failed Tests
(click on a test name to see its output)

### LLVM
<details>
<summary>LLVM.CodeGen/AMDGPU/atomic_optimizations_dpp_lds_expected_active_lanes.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 3
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=amdgcn -mcpu=gfx1010 -mattr=+wavefrontsize32 -amdgpu-atomic-optimizer-strategy=DPP < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/atomic_optimizations_dpp_lds_expected_active_lanes.ll | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck -enable-var-scope -check-prefixes=GFX1032 /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/atomic_optimizations_dpp_lds_expected_active_lanes.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=amdgcn -mcpu=gfx1010 -mattr=+wavefrontsize32 -amdgpu-atomic-optimizer-strategy=DPP
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck -enable-var-scope -check-prefixes=GFX1032 /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/atomic_optimizations_dpp_lds_expected_active_lanes.ll
# note: command had no output on stdout or stderr
# RUN: at line 4
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=amdgcn -mcpu=gfx1010 -mattr=+wavefrontsize64 -amdgpu-atomic-optimizer-strategy=DPP < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/atomic_optimizations_dpp_lds_expected_active_lanes.ll | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck -enable-var-scope -check-prefixes=GFX1064 /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/atomic_optimizations_dpp_lds_expected_active_lanes.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=amdgcn -mcpu=gfx1010 -mattr=+wavefrontsize64 -amdgpu-atomic-optimizer-strategy=DPP
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck -enable-var-scope -check-prefixes=GFX1064 /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/atomic_optimizations_dpp_lds_expected_active_lanes.ll
# note: command had no output on stdout or stderr
# RUN: at line 5
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize32 -amdgpu-atomic-optimizer-strategy=DPP < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/atomic_optimizations_dpp_lds_expected_active_lanes.ll | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck -enable-var-scope -check-prefixes=GFX1132 /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/atomic_optimizations_dpp_lds_expected_active_lanes.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize32 -amdgpu-atomic-optimizer-strategy=DPP
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck -enable-var-scope -check-prefixes=GFX1132 /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/atomic_optimizations_dpp_lds_expected_active_lanes.ll
# note: command had no output on stdout or stderr
# RUN: at line 6
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize64 -amdgpu-atomic-optimizer-strategy=DPP < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/atomic_optimizations_dpp_lds_expected_active_lanes.ll | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck -enable-var-scope -check-prefixes=GFX1164 /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/atomic_optimizations_dpp_lds_expected_active_lanes.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize64 -amdgpu-atomic-optimizer-strategy=DPP
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck -enable-var-scope -check-prefixes=GFX1164 /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/atomic_optimizations_dpp_lds_expected_active_lanes.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/atomic_optimizations_dpp_lds_expected_active_lanes.ll:334:17: error: GFX1164-NEXT: is not on the line after the previous match
# | ; GFX1164-NEXT: s_waitcnt_depctr depctr_sa_sdst(0)
# |                 ^
# | <stdin>:172:2: note: 'next' match was here
# |  s_waitcnt_depctr depctr_sa_sdst(0)
# |  ^
# | <stdin>:168:30: note: previous match ended here
# |  s_or_saveexec_b64 s[0:1], -1
# |                              ^
# | <stdin>:169:1: note: non-matching line after previous match is here
# |  v_readlane_b32 s2, v1, 63
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/atomic_optimizations_dpp_lds_expected_active_lanes.ll:651:17: error: GFX1164-NEXT: is not on the line after the previous match
# | ; GFX1164-NEXT: s_waitcnt_depctr depctr_sa_sdst(0)
# |                 ^
# | <stdin>:282:2: note: 'next' match was here
# |  s_waitcnt_depctr depctr_sa_sdst(0)
# |  ^
# | <stdin>:278:30: note: previous match ended here
# |  s_or_saveexec_b64 s[0:1], -1
# |                              ^
# | <stdin>:279:1: note: non-matching line after previous match is here
# |  v_readlane_b32 s2, v1, 63
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/atomic_optimizations_dpp_lds_expected_active_lanes.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           163:  v_readlane_b32 s3, v1, 31 
# |           164:  s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_1) | instid1(SALU_CYCLE_1) 
# |           165:  v_writelane_b32 v3, s2, 16 
# |           166:  s_mov_b64 exec, s[0:1] 
# |           167:  v_mbcnt_lo_u32_b32 v0, exec_lo, 0 
# |           168:  s_or_saveexec_b64 s[0:1], -1 
# | next:334'0                                 {   search range start (exclusive)
# |           169:  v_readlane_b32 s2, v1, 63 
# |           170:  v_readlane_b32 s6, v1, 47 
# |           171:  v_writelane_b32 v3, s3, 32 
# |           172:  s_waitcnt_depctr depctr_sa_sdst(0) 
# | next:334'1      !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   error: match on wrong line
# |           173:  s_mov_b64 exec, s[0:1] 
# |           174:  s_delay_alu instid0(SALU_CYCLE_1) 
# |           175:  v_mbcnt_hi_u32_b32 v4, exec_hi, v0 
# |           176:  v_mov_b32_e32 v0, 0 
# |           177:  s_or_saveexec_b64 s[0:1], -1 
# |             .
# |             .
# |             .
# |           245:  .long 0 
# |           246:  .text 
# |           247:  .globl add_i32_no_metadata ; -- Begin function add_i32_no_metadata 
# |           248:  .p2align 8 
# |           249:  .type add_i32_no_metadata, at function 
# |           250: add_i32_no_metadata: ; @add_i32_no_metadata 
# | next:334'2                         }                         search range end (exclusive)
# |           251: ; %bb.0: ; %entry 
# |           252:  v_and_b32_e32 v0, 0x3ff, v0 
# |           253:  s_or_saveexec_b64 s[0:1], -1 
# |           254:  s_delay_alu instid0(VALU_DEP_1) | instid1(SALU_CYCLE_1) 
# |           255:  v_cndmask_b32_e64 v1, 0, v0, s[0:1] 
# |             .
# |             .
# |             .
# |           273:  v_readlane_b32 s3, v1, 31 
# |           274:  s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_1) | instid1(SALU_CYCLE_1) 
# |           275:  v_writelane_b32 v3, s2, 16 
# |           276:  s_mov_b64 exec, s[0:1] 
# |           277:  v_mbcnt_lo_u32_b32 v0, exec_lo, 0 
# |           278:  s_or_saveexec_b64 s[0:1], -1 
# | next:651'0                                 {   search range start (exclusive)
# |           279:  v_readlane_b32 s2, v1, 63 
# |           280:  v_readlane_b32 s6, v1, 47 
# |           281:  v_writelane_b32 v3, s3, 32 
# |           282:  s_waitcnt_depctr depctr_sa_sdst(0) 
# | next:651'1      !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   error: match on wrong line
# |           283:  s_mov_b64 exec, s[0:1] 
# |           284:  s_delay_alu instid0(SALU_CYCLE_1) 
# |           285:  v_mbcnt_hi_u32_b32 v4, exec_hi, v0 
# |           286:  v_mov_b32_e32 v0, 0 
# |           287:  s_or_saveexec_b64 s[0:1], -1 
# |             .
# |             .
# |             .
# |           355:  .long 0 
# |           356:  .text 
# |           357:  .globl add_i32_global_ignores_metadata ; -- Begin function add_i32_global_ignores_metadata 
# |           358:  .p2align 8 
# |           359:  .type add_i32_global_ignores_metadata, at function 
# |           360: add_i32_global_ignores_metadata: ; @add_i32_global_ignores_metadata 
# | next:651'2                                     }                                     search range end (exclusive)
# |           361: ; %bb.0: ; %entry 
# |           362:  v_and_b32_e32 v0, 0x3ff, v0 
# |           363:  s_or_saveexec_b64 s[0:1], -1 
# |           364:  s_delay_alu instid0(VALU_DEP_1) | instid1(SALU_CYCLE_1) 
# |           365:  v_cndmask_b32_e64 v1, 0, v0, s[0:1] 
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.

https://github.com/llvm/llvm-project/pull/169213


More information about the llvm-commits mailing list