[llvm] [ScheduleDAG] Add a reachability cache to amortize DFS calls (PR #195079)

via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 30 07:13:06 PDT 2026


github-actions[bot] wrote:

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

* 173480 tests passed
* 3282 tests skipped
* 1 test failed

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

### LLVM
<details>
<summary>LLVM.CodeGen/AMDGPU/sched-group-barrier-pipeline-solver.mir</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=amdgcn -mcpu=gfx908 -run-pass=machine-scheduler -o - /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/sched-group-barrier-pipeline-solver.mir | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck -check-prefix=GREEDY /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/sched-group-barrier-pipeline-solver.mir
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=amdgcn -mcpu=gfx908 -run-pass=machine-scheduler -o - /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/sched-group-barrier-pipeline-solver.mir
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck -check-prefix=GREEDY /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/sched-group-barrier-pipeline-solver.mir
# note: command had no output on stdout or stderr
# RUN: at line 3
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=amdgcn -mcpu=gfx908 -amdgpu-igrouplp-exact-solver -run-pass=machine-scheduler -o - /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/sched-group-barrier-pipeline-solver.mir | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck -check-prefix=EXACT /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/sched-group-barrier-pipeline-solver.mir
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=amdgcn -mcpu=gfx908 -amdgpu-igrouplp-exact-solver -run-pass=machine-scheduler -o - /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/sched-group-barrier-pipeline-solver.mir
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck -check-prefix=EXACT /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/sched-group-barrier-pipeline-solver.mir
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/sched-group-barrier-pipeline-solver.mir:334:16: error: EXACT-NEXT: is not on the line after the previous match
# |  ; EXACT-NEXT: [[DEF2:%[0-9]+]]:areg_128 = IMPLICIT_DEF
# |                ^
# | <stdin>:544:2: note: 'next' match was here
# |  %2:areg_128 = IMPLICIT_DEF
# |  ^
# | <stdin>:542:125: note: previous match ended here
# |  %3:vgpr_32 = GLOBAL_LOAD_DWORD_SADDR %0, %1, 0, 0, implicit $exec :: (load (s32) from %ir.in, !alias.scope !0, addrspace 1)
# |                                                                                                                             ^
# | <stdin>:543:1: note: non-matching line after previous match is here
# |  %4:vgpr_32 = nsw V_MUL_LO_U32_e64 %3, %3, implicit $exec
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/sched-group-barrier-pipeline-solver.mir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |           .
# |           .
# |           .
# |         539:  bb.0: 
# |         540:  %0:sreg_64_xexec_xnull = IMPLICIT_DEF 
# |         541:  %1:vgpr_32 = IMPLICIT_DEF 
# |         542:  %3:vgpr_32 = GLOBAL_LOAD_DWORD_SADDR %0, %1, 0, 0, implicit $exec :: (load (s32) from %ir.in, !alias.scope !0, addrspace 1) 
# |         543:  %4:vgpr_32 = nsw V_MUL_LO_U32_e64 %3, %3, implicit $exec 
# |         544:  %2:areg_128 = IMPLICIT_DEF 
# | next:334      !~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |         545:  %7:areg_128 = V_MFMA_F32_4X4X1F32_e64 %1, %3, %2, 0, 0, 0, implicit $mode, implicit $exec 
# |         546:  GLOBAL_STORE_DWORD_SADDR %1, %4, %0, 0, 0, implicit $exec :: (store (s32) into %ir.out, !noalias !0, addrspace 1) 
# |         547:  S_NOP 0 
# |         548:  %5:vgpr_32 = nsw V_MUL_LO_U32_e64 %3, %1, implicit $exec 
# |         549:  %8:areg_128 = V_MFMA_F32_4X4X1F32_e64 %1, %3, %7, 0, 0, 0, implicit $mode, implicit $exec 
# |           .
# |           .
# |           .
# | >>>>>>
# `-----------------------------
# 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/195079


More information about the llvm-commits mailing list