[llvm] [AMDGPU] Track LDS DMA VGPR source reads in expert scheduling (PR #203292)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 11 08:18:56 PDT 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results
* 135648 tests passed
* 3420 tests skipped
* 1 test failed
## Failed Tests
(click on a test name to see its output)
### LLVM
<details>
<summary>LLVM.CodeGen/AMDGPU/expert_scheduling_gfx1250.mir</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -mtriple=amdgcn -mcpu=gfx1250 -amdgpu-expert-scheduling-mode -run-pass=si-insert-waitcnts C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\expert_scheduling_gfx1250.mir -o - | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\expert_scheduling_gfx1250.mir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=amdgcn -mcpu=gfx1250 -amdgpu-expert-scheduling-mode -run-pass=si-insert-waitcnts 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\expert_scheduling_gfx1250.mir' -o -
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\expert_scheduling_gfx1250.mir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\expert_scheduling_gfx1250.mir:44:16: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: $vgpr0 = V_MOV_B32_e32 1, implicit $exec
# | ^
# | <stdin>:268:2: note: 'next' match was here
# | $vgpr0 = V_MOV_B32_e32 1, implicit $exec
# | ^
# | <stdin>:266:174: note: previous match ended here
# | GLOBAL_LOAD_ASYNC_TO_LDS_B32 $vgpr2, $vgpr0_vgpr1, 0, 0, implicit-def $asynccnt, implicit $exec, implicit $asynccnt :: (load (s32), addrspace 1), (store (s32), addrspace 3)
# | ^
# | <stdin>:267:1: note: non-matching line after previous match is here
# | S_WAITCNT_DEPCTR .VmVsrc_0
# | ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\expert_scheduling_gfx1250.mir:62:16: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: $vgpr2 = V_MOV_B32_e32 1, implicit $exec
# | ^
# | <stdin>:382:2: note: 'next' match was here
# | $vgpr2 = V_MOV_B32_e32 1, implicit $exec
# | ^
# | <stdin>:380:174: note: previous match ended here
# | GLOBAL_LOAD_ASYNC_TO_LDS_B32 $vgpr2, $vgpr0_vgpr1, 0, 0, implicit-def $asynccnt, implicit $exec, implicit $asynccnt :: (load (s32), addrspace 1), (store (s32), addrspace 3)
# | ^
# | <stdin>:381:1: note: non-matching line after previous match is here
# | S_WAITCNT_DEPCTR .VmVsrc_0
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\expert_scheduling_gfx1250.mir
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 263: liveins: $vgpr0, $vgpr1, $vgpr2
# | 264:
# | 265: S_SETREG_IMM32_B32 2, 2074, implicit-def $mode, implicit $mode
# | 266: GLOBAL_LOAD_ASYNC_TO_LDS_B32 $vgpr2, $vgpr0_vgpr1, 0, 0, implicit-def $asynccnt, implicit $exec, implicit $asynccnt :: (load (s32), addrspace 1), (store (s32), addrspace 3)
# | 267: S_WAITCNT_DEPCTR .VmVsrc_0
# | 268: $vgpr0 = V_MOV_B32_e32 1, implicit $exec
# | next:44 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: match on wrong line
# | 269: ...
# | 270: ---
# | 271: name: async_global_to_lds_vdst_vsrc_war
# | 272: alignment: 1
# | 273: exposesReturnsTwice: false
# | .
# | .
# | .
# | 377: liveins: $vgpr0, $vgpr1, $vgpr2
# | 378:
# | 379: S_SETREG_IMM32_B32 2, 2074, implicit-def $mode, implicit $mode
# | 380: GLOBAL_LOAD_ASYNC_TO_LDS_B32 $vgpr2, $vgpr0_vgpr1, 0, 0, implicit-def $asynccnt, implicit $exec, implicit $asynccnt :: (load (s32), addrspace 1), (store (s32), addrspace 3)
# | 381: S_WAITCNT_DEPCTR .VmVsrc_0
# | 382: $vgpr2 = V_MOV_B32_e32 1, implicit $exec
# | next:62 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: match on wrong line
# | 383: ...
# | 384: ---
# | 385: name: global_load_vsrc_war
# | 386: alignment: 1
# | 387: exposesReturnsTwice: false
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# 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/203292
More information about the llvm-commits
mailing list