[llvm] [MacroFusion] Early return when insts already clustered (PR #191710)
via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 13 04:42:41 PDT 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results
* 133387 tests passed
* 3083 tests skipped
* 1 test failed
## Failed Tests
(click on a test name to see its output)
### LLVM
<details>
<summary>LLVM.CodeGen/AArch64/macro-fusion-cluster-conflict.mir</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 4
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -o /dev/null C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\macro-fusion-cluster-conflict.mir -mtriple=aarch64 -mattr=+fuse-address -run-pass machine-scheduler -debug-only=machine-scheduler 2>&1 | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\macro-fusion-cluster-conflict.mir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -o /dev/null 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\macro-fusion-cluster-conflict.mir' -mtriple=aarch64 -mattr=+fuse-address -run-pass machine-scheduler -debug-only=machine-scheduler
# 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\AArch64\macro-fusion-cluster-conflict.mir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\macro-fusion-cluster-conflict.mir:24:11: error: CHECK: expected string not found in input
# | ; CHECK: Fusion conflict: cannot fuse SU(0) and SU(2) - already clustered
# | ^
# | <stdin>:21:42: note: scanning from here
# | Macro fuse: SU(0) - SU(1) / ADRP - LDRXui
# | ^
# | <stdin>:23:1: note: possible intended match here
# | Fusion conflict: cannot fuse SU(0) and SU(2)
# | ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\macro-fusion-cluster-conflict.mir:47:11: error: CHECK: expected string not found in input
# | ; CHECK: Fusion conflict: cannot fuse SU(0) and SU(1) - already clustered
# | ^
# | <stdin>:176:28: note: scanning from here
# | Cluster ld/st SU(1) - SU(2)
# | ^
# | <stdin>:179:1: note: possible intended match here
# | Fusion conflict: cannot fuse SU(0) and SU(1)
# | ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\macro-fusion-cluster-conflict.mir:67:11: error: CHECK: expected string not found in input
# | ; CHECK: Fusion conflict: cannot fuse SU(0) and SU(1) - already clustered
# | ^
# | <stdin>:351:28: note: scanning from here
# | Cluster ld/st SU(1) - SU(2)
# | ^
# | <stdin>:354:1: note: possible intended match here
# | Fusion conflict: cannot fuse SU(0) and SU(1)
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\macro-fusion-cluster-conflict.mir
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 16: RegionInstrs: 3
# | 17: ScheduleDAGMILive::schedule starting
# | 18: GenericScheduler RegionPolicy: ShouldTrackPressure=0 OnlyTopDown=0 OnlyBottomUp=0
# | 19: Num BaseOps: 1, Offset: 40, OffsetIsScalable: 0, Width: LocationSize::precise(8)
# | 20: Num BaseOps: 1, Offset: 80, OffsetIsScalable: 0, Width: LocationSize::precise(8)
# | 21: Macro fuse: SU(0) - SU(1) / ADRP - LDRXui
# | check:24'0 X error: no match found
# | 22: Bind SU(1) - SU(2)
# | check:24'0 ~~~~~~~~~~~~~~~~~~~~
# | 23: Fusion conflict: cannot fuse SU(0) and SU(2)
# | check:24'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:24'1 ? possible intended match
# | 24: SU(0) already clustered
# | check:24'0 ~~~~~~~~~~~~~~~~~~~~~~~~~
# | 25: Disabled scoreboard hazard recognizer
# | check:24'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 26: Disabled scoreboard hazard recognizer
# | check:24'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 27: SU(0): $x0 = ADRP 0
# | check:24'0 ~~~~~~~~~~~~~~~~~~~~
# | 28: # preds left : 0
# | check:24'0 ~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 171: RegionInstrs: 3
# | 172: ScheduleDAGMILive::schedule starting
# | 173: GenericScheduler RegionPolicy: ShouldTrackPressure=0 OnlyTopDown=0 OnlyBottomUp=0
# | 174: Num BaseOps: 1, Offset: 0, OffsetIsScalable: 0, Width: LocationSize::precise(8)
# | 175: Num BaseOps: 1, Offset: 8, OffsetIsScalable: 0, Width: LocationSize::precise(8)
# | 176: Cluster ld/st SU(1) - SU(2)
# | check:47'0 X error: no match found
# | 177: Copy Pred SU(0)
# | check:47'0 ~~~~~~~~~~~~~~~~~
# | 178: Curr cluster length: 2, Curr cluster bytes: 16
# | check:47'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 179: Fusion conflict: cannot fuse SU(0) and SU(1)
# | check:47'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:47'1 ? possible intended match
# | 180: SU(1) already clustered
# | check:47'0 ~~~~~~~~~~~~~~~~~~~~~~~~~
# | 181: Fusion conflict: cannot fuse SU(0) and SU(2)
# | check:47'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 182: SU(2) already clustered
# | check:47'0 ~~~~~~~~~~~~~~~~~~~~~~~~~
# | 183: Disabled scoreboard hazard recognizer
# | check:47'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 184: Disabled scoreboard hazard recognizer
# | check:47'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 346: RegionInstrs: 3
# | 347: ScheduleDAGMILive::schedule starting
# | 348: GenericScheduler RegionPolicy: ShouldTrackPressure=0 OnlyTopDown=0 OnlyBottomUp=0
# | 349: Num BaseOps: 1, Offset: 0, OffsetIsScalable: 0, Width: LocationSize::precise(8)
# | 350: Num BaseOps: 1, Offset: 8, OffsetIsScalable: 0, Width: LocationSize::precise(8)
# | 351: Cluster ld/st SU(1) - SU(2)
# | check:67'0 X error: no match found
# | 352: Copy Succ SU(4294967295)
# | check:67'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 353: Curr cluster length: 2, Curr cluster bytes: 16
# | check:67'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 354: Fusion conflict: cannot fuse SU(0) and SU(1)
# | check:67'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:67'1 ? possible intended match
# | 355: SU(1) already clustered
# | check:67'0 ~~~~~~~~~~~~~~~~~~~~~~~~~
# | 356: Fusion conflict: cannot fuse SU(0) and SU(2)
# | check:67'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 357: SU(2) already clustered
# | check:67'0 ~~~~~~~~~~~~~~~~~~~~~~~~~
# | 358: Disabled scoreboard hazard recognizer
# | check:67'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 359: Disabled scoreboard hazard recognizer
# | check:67'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# 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/191710
More information about the llvm-commits
mailing list