[llvm] [AMDGPU][SIInsertWaitcnts][NFC] Clean up loop (PR #179572)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Feb 12 09:29:02 PST 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results
* 169575 tests passed
* 3059 tests skipped
* 3 tests failed
## Failed Tests
(click on a test name to see its output)
### LLVM
<details>
<summary>LLVM.CodeGen/AMDGPU/async-buffer-loads.ll</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -global-isel=0 -mtriple=amdgcn -mcpu=gfx900 < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/async-buffer-loads.ll | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/async-buffer-loads.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -global-isel=0 -mtriple=amdgcn -mcpu=gfx900
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/async-buffer-loads.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/async-buffer-loads.ll:17:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: s_waitcnt vmcnt(2)
# | ^
# | <stdin>:26:21: note: scanning from here
# | ; wait_asyncmark(1)
# | ^
# | <stdin>:27:2: note: possible intended match here
# | s_waitcnt vmcnt(0)
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/async-buffer-loads.ll:44:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: s_waitcnt vmcnt(2)
# | ^
# | <stdin>:76:21: note: scanning from here
# | ; wait_asyncmark(1)
# | ^
# | <stdin>:77:2: note: possible intended match here
# | s_waitcnt vmcnt(0)
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/async-buffer-loads.ll:72:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: s_waitcnt vmcnt(2)
# | ^
# | <stdin>:127:21: note: scanning from here
# | ; wait_asyncmark(1)
# | ^
# | <stdin>:128:2: note: possible intended match here
# | s_waitcnt vmcnt(0)
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/async-buffer-loads.ll:100:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: s_waitcnt vmcnt(2)
# | ^
# | <stdin>:178:21: note: scanning from here
# | ; wait_asyncmark(1)
# | ^
# | <stdin>:179:2: note: possible intended match here
# | s_waitcnt vmcnt(0)
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/async-buffer-loads.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 21: buffer_load_dword off, s[16:19], 0 lds
# | 22: ; asyncmark
# | 23: buffer_load_dword off, s[16:19], 0 offset:4 glc lds
# | 24: ; asyncmark
# | 25: buffer_load_dword off, s[16:19], 0 offset:8 slc lds
# | 26: ; wait_asyncmark(1)
# | next:17'0 X error: no match found
# | 27: s_waitcnt vmcnt(0)
# | next:17'0 ~~~~~~~~~~~~~~~~~~~~
# | next:17'1 ? possible intended match
# | 28: ds_read_b32 v0, v0
# | next:17'0 ~~~~~~~~~~~~~~~~~~~~
# | 29: s_waitcnt lgkmcnt(0)
# | next:17'0 ~~~~~~~~~~~~~~~~~~~~~~
# | 30: s_setpc_b64 s[30:31]
# | next:17'0 ~~~~~~~~~~~~~~~~~~~~~~
# | 31: .Lfunc_end0:
# | next:17'0 ~~~~~~~~~~~~~
# | 32: .size raw.buffer.load, .Lfunc_end0-raw.buffer.load
# | next:17'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 71: buffer_load_dword off, s[16:19], 0 lds
# | 72: ; asyncmark
# | 73: buffer_load_dword off, s[16:19], 0 offset:4 glc lds
# | 74: ; asyncmark
# | 75: buffer_load_dword off, s[16:19], 0 offset:8 slc lds
# | 76: ; wait_asyncmark(1)
# | next:44'0 X error: no match found
# | 77: s_waitcnt vmcnt(0)
# | next:44'0 ~~~~~~~~~~~~~~~~~~~~
# | next:44'1 ? possible intended match
# | 78: ds_read_b32 v0, v0
# | next:44'0 ~~~~~~~~~~~~~~~~~~~~
# | 79: s_waitcnt lgkmcnt(0)
# | next:44'0 ~~~~~~~~~~~~~~~~~~~~~~
# | 80: s_setpc_b64 s[30:31]
# | next:44'0 ~~~~~~~~~~~~~~~~~~~~~~
# | 81: .Lfunc_end1:
# | next:44'0 ~~~~~~~~~~~~~
# | 82: .size raw.ptr.buffer.load, .Lfunc_end1-raw.ptr.buffer.load
# | next:44'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 122: ; asyncmark
# | 123: buffer_load_dword v0, s[16:19], 0 idxen offset:4 glc lds
# | 124: ; asyncmark
# | 125: buffer_load_dword v0, s[16:19], 0 idxen offset:8 slc lds
# | 126: v_mov_b32_e32 v0, s20
# | 127: ; wait_asyncmark(1)
# | next:72'0 X error: no match found
# | 128: s_waitcnt vmcnt(0)
# | next:72'0 ~~~~~~~~~~~~~~~~~~~~
# | next:72'1 ? possible intended match
# | 129: ds_read_b32 v0, v0
# | next:72'0 ~~~~~~~~~~~~~~~~~~~~
# | 130: s_waitcnt lgkmcnt(0)
# | next:72'0 ~~~~~~~~~~~~~~~~~~~~~~
# | 131: s_setpc_b64 s[30:31]
# | next:72'0 ~~~~~~~~~~~~~~~~~~~~~~
# | 132: .Lfunc_end2:
# | next:72'0 ~~~~~~~~~~~~~
# | 133: .size struct.buffer.load, .Lfunc_end2-struct.buffer.load
# | next:72'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 173: ; asyncmark
# | 174: buffer_load_dword v0, s[16:19], 0 idxen offset:4 glc lds
# | 175: ; asyncmark
# | 176: buffer_load_dword v0, s[16:19], 0 idxen offset:8 slc lds
# | 177: v_mov_b32_e32 v0, s20
# | 178: ; wait_asyncmark(1)
# | next:100'0 X error: no match found
# | 179: s_waitcnt vmcnt(0)
# | next:100'0 ~~~~~~~~~~~~~~~~~~~~
# | next:100'1 ? possible intended match
# | 180: ds_read_b32 v0, v0
# | next:100'0 ~~~~~~~~~~~~~~~~~~~~
# | 181: s_waitcnt lgkmcnt(0)
# | next:100'0 ~~~~~~~~~~~~~~~~~~~~~~
# | 182: s_setpc_b64 s[30:31]
# | next:100'0 ~~~~~~~~~~~~~~~~~~~~~~
# | 183: .Lfunc_end3:
# | next:100'0 ~~~~~~~~~~~~~
# | 184: .size struct.ptr.buffer.load, .Lfunc_end3-struct.ptr.buffer.load
# | next:100'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>LLVM.CodeGen/AMDGPU/asyncmark-max-pregfx12.ll</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -march=amdgcn -mcpu=gfx900 < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/asyncmark-max-pregfx12.ll | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/asyncmark-max-pregfx12.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -march=amdgcn -mcpu=gfx900
# .---command stderr------------
# | LLVM ERROR: SmallVector unable to grow. Requested capacity (4294967296) is larger than maximum value for size type (4294967295)
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
# | Stack dump:
# | 0. Program arguments: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -march=amdgcn -mcpu=gfx900
# | 1. Running pass 'CallGraph Pass Manager' on module '<stdin>'.
# | 2. Running pass 'SI insert wait instructions' on function '@max_when_merged'
# | #0 0x0000000008443e68 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Unix/Signals.inc:842:13
# | #1 0x0000000008441595 llvm::sys::RunSignalHandlers() /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Signals.cpp:109:18
# | #2 0x0000000008444c31 SignalHandler(int, siginfo_t*, void*) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Unix/Signals.inc:429:38
# | #3 0x00007b0c1b0a9330 (/lib/x86_64-linux-gnu/libc.so.6+0x45330)
# | #4 0x00007b0c1b102b2c pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x9eb2c)
# | #5 0x00007b0c1b0a927e raise (/lib/x86_64-linux-gnu/libc.so.6+0x4527e)
# | #6 0x00007b0c1b08c8ff abort (/lib/x86_64-linux-gnu/libc.so.6+0x288ff)
# | #7 0x00000000083a2625 llvm::report_fatal_error(llvm::Twine const&, bool) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/ErrorHandling.cpp:137:5
# | #8 0x00000000083d391f (/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc+0x83d391f)
# | #9 0x00000000083d34f5 getNewCapacity<unsigned int> /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/SmallVector.cpp:103:5
# | #10 0x00000000083d34f5 llvm::SmallVectorBase<unsigned int>::grow_pod(void*, unsigned long, unsigned long) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/SmallVector.cpp:148:24
# | #11 0x0000000005776bfd begin /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/SmallVector.h:273:45
# | #12 0x0000000005776bfd end /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/SmallVector.h:275:27
# | #13 0x0000000005776bfd push_back /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/SmallVector.h:566:48
# | #14 0x0000000005776bfd recordAsyncMark /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp:1276:14
# | #15 0x0000000005776bfd (anonymous namespace)::SIInsertWaitcnts::insertWaitcntInBlock(llvm::MachineFunction&, llvm::MachineBasicBlock&, (anonymous namespace)::WaitcntBrackets&) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp:3235:21
# | #16 0x0000000005770043 (anonymous namespace)::SIInsertWaitcnts::run(llvm::MachineFunction&) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp:3671:16
# | #17 0x0000000005773d9d (anonymous namespace)::SIInsertWaitcntsLegacy::runOnMachineFunction(llvm::MachineFunction&) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp:3534:41
# | #18 0x000000000710b723 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/CodeGen/MachineFunctionPass.cpp:0:10
# | #19 0x000000000767c8a5 llvm::FPPassManager::runOnFunction(llvm::Function&) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1398:27
# | #20 0x0000000006baf214 RunPassOnSCC /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Analysis/CallGraphSCCPass.cpp:180:25
# | #21 0x0000000006baf214 RunAllPassesOnSCC /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Analysis/CallGraphSCCPass.cpp:469:9
# | #22 0x0000000006baf214 (anonymous namespace)::CGPassManager::runOnModule(llvm::Module&) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Analysis/CallGraphSCCPass.cpp:534:18
# | #23 0x000000000767d34c runOnModule /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1513:27
# | #24 0x000000000767d34c llvm::legacy::PassManagerImpl::run(llvm::Module&) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:531:44
# | #25 0x0000000004eae66f compileModule(char**, llvm::SmallVectorImpl<llvm::PassPlugin>&, llvm::LLVMContext&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/tools/llc/llc.cpp:871:17
# | #26 0x0000000004eab943 main /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/tools/llc/llc.cpp:459:13
# | #27 0x00007b0c1b08e1ca (/lib/x86_64-linux-gnu/libc.so.6+0x2a1ca)
# | #28 0x00007b0c1b08e28b __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2a28b)
# | #29 0x0000000004ea7465 _start (/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc+0x4ea7465)
# `-----------------------------
# error: command failed with exit status: -6
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/asyncmark-max-pregfx12.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/asyncmark-max-pregfx12.ll:11:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: s_waitcnt vmcnt(3)
# | ^
# | <stdin>:93:21: note: scanning from here
# | ; wait_asyncmark(3)
# | ^
# | <stdin>:97:2: note: possible intended match here
# | s_waitcnt vmcnt(0)
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/asyncmark-max-pregfx12.ll:148:16: error: CHECK-LABEL: expected string not found in input
# | ; CHECK-LABEL: max_when_merged:
# | ^
# | <stdin>:134:33: note: scanning from here
# | test_loop_needs_more_iterations: ; @test_loop_needs_more_iterations
# | ^
# | <stdin>:134:43: note: possible intended match here
# | test_loop_needs_more_iterations: ; @test_loop_needs_more_iterations
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/asyncmark-max-pregfx12.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 88: s_andn2_b64 s[6:7], s[6:7], exec
# | 89: ; asyncmark
# | 90: s_branch .LBB0_1
# | 91: .LBB0_4: ; %exit
# | 92: s_or_b64 exec, exec, s[4:5]
# | 93: ; wait_asyncmark(3)
# | next:11'0 X error: no match found
# | 94: ds_read_b32 v0, v2
# | next:11'0 ~~~~~~~~~~~~~~~~~~~~
# | 95: s_waitcnt lgkmcnt(0)
# | next:11'0 ~~~~~~~~~~~~~~~~~~~~~~
# | 96: global_store_dword v[4:5], v0, off
# | next:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 97: s_waitcnt vmcnt(0)
# | next:11'0 ~~~~~~~~~~~~~~~~~~~~
# | next:11'1 ? possible intended match
# | 98: s_setpc_b64 s[30:31]
# | next:11'0 ~~~~~~~~~~~~~~~~~~~~~~
# | 99: .Lfunc_end0:
# | next:11'0 ~~~~~~~~~~~~~
# | 100: .size test_loop_exceeds_max_first_iteration, .Lfunc_end0-test_loop_exceeds_max_first_iteration
# | next:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 101: ; -- End function
# | next:11'0 ~~~~~~~~~~~~~~~~~~~
# | 102: .set test_loop_exceeds_max_first_iteration.num_vgpr, 6
# | next:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 129: .long 0
# | next:11'0 ~~~~~~~~~
# | 130: .text
# | next:11'0 ~~~~~~~
# | 131: .globl test_loop_needs_more_iterations ; -- Begin function test_loop_needs_more_iterations
# | next:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 132: .p2align 2
# | next:11'0 ~~~~~~~~~~~~
# | 133: .type test_loop_needs_more_iterations, at function
# | next:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 134: test_loop_needs_more_iterations: ; @test_loop_needs_more_iterations
# | next:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | label:148'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | label:148'1 ? possible intended match
# | 135: ; %bb.0:
# | label:148'0 ~~~~~~~~~
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>LLVM.CodeGen/AMDGPU/asyncmark-pregfx12.ll</summary>
```
Exit Code: -9
Timeout: Reached timeout of 1200 seconds
Command Output (stdout):
--
# RUN: at line 2
sed 's/.ASYNC/.async/' /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/asyncmark-pregfx12.ll | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -march=amdgcn -mcpu=gfx900 -o - | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/asyncmark-pregfx12.ll -check-prefixes=WITHASYNC
# executed command: sed s/.ASYNC/.async/ /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/asyncmark-pregfx12.ll
# note: command had no output on stdout or stderr
# error: command reached timeout: True
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -march=amdgcn -mcpu=gfx900 -o -
# note: command had no output on stdout or stderr
# error: command failed with exit status: -9
# error: command reached timeout: True
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/asyncmark-pregfx12.ll -check-prefixes=WITHASYNC
# note: command had no output on stdout or stderr
# error: command failed with exit status: -9
# error: command reached timeout: True
--
```
</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/179572
More information about the llvm-commits
mailing list