[llvm] [RISCV] Enable select optimization by default (PR #178394)
via llvm-commits
llvm-commits at lists.llvm.org
Mon Feb 9 19:16:17 PST 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results
* 169467 tests passed
* 3046 tests skipped
* 2 tests failed
## Failed Tests
(click on a test name to see its output)
### LLVM
<details>
<summary>LLVM.CodeGen/RISCV/atomic-rmw-discard.ll</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -O3 -mtriple=riscv32 -mattr=+a -verify-machineinstrs < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/RISCV/atomic-rmw-discard.ll | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck -check-prefixes=RV32 /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/RISCV/atomic-rmw-discard.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -O3 -mtriple=riscv32 -mattr=+a -verify-machineinstrs
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck -check-prefixes=RV32 /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/RISCV/atomic-rmw-discard.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/RISCV/atomic-rmw-discard.ll:200:14: error: RV32-NEXT: expected string not found in input
# | ; RV32-NEXT: .LBB11_1: # %atomicrmw.start
# | ^
# | <stdin>:155:12: note: scanning from here
# | j .LBB11_2
# | ^
# | <stdin>:168:1: note: possible intended match here
# | .LBB11_2: # %atomicrmw.start
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/RISCV/atomic-rmw-discard.ll:276:14: error: RV32-NEXT: expected string not found in input
# | ; RV32-NEXT: .LBB13_1: # %atomicrmw.start
# | ^
# | <stdin>:223:12: note: scanning from here
# | j .LBB13_2
# | ^
# | <stdin>:236:1: note: possible intended match here
# | .LBB13_2: # %atomicrmw.start
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/RISCV/atomic-rmw-discard.ll:352:14: error: RV32-NEXT: expected string not found in input
# | ; RV32-NEXT: .LBB15_1: # %atomicrmw.start
# | ^
# | <stdin>:291:12: note: scanning from here
# | j .LBB15_2
# | ^
# | <stdin>:304:1: note: possible intended match here
# | .LBB15_2: # %atomicrmw.start
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/RISCV/atomic-rmw-discard.ll:428:14: error: RV32-NEXT: expected string not found in input
# | ; RV32-NEXT: .LBB17_1: # %atomicrmw.start
# | ^
# | <stdin>:359:12: note: scanning from here
# | j .LBB17_2
# | ^
# | <stdin>:372:1: note: possible intended match here
# | .LBB17_2: # %atomicrmw.start
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/RISCV/atomic-rmw-discard.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 150: mv s0, a2
# | 151: mv s1, a0
# | 152: lw a4, 0(a0)
# | 153: lw a5, 4(a0)
# | 154: mv s2, a1
# | 155: j .LBB11_2
# | next:200'0 X error: no match found
# | 156: .LBB11_1: # %select.end
# | next:200'0 ~~~~~~~~~~~~~~~~~~~~~~~~
# | 157: # in Loop: Header=BB11_2 Depth=1
# | next:200'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 158: sw a4, 8(sp)
# | next:200'0 ~~~~~~~~~~~~~~
# | 159: sw a5, 12(sp)
# | next:200'0 ~~~~~~~~~~~~~~~
# | 160: addi a1, sp, 8
# | next:200'0 ~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 163: mv a0, s1
# | next:200'0 ~~~~~~~~~~~
# | 164: call __atomic_compare_exchange_8
# | next:200'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 165: lw a4, 8(sp)
# | next:200'0 ~~~~~~~~~~~~~~
# | 166: lw a5, 12(sp)
# | next:200'0 ~~~~~~~~~~~~~~~
# | 167: bnez a0, .LBB11_6
# | next:200'0 ~~~~~~~~~~~~~~~~~~~
# | 168: .LBB11_2: # %atomicrmw.start
# | next:200'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:200'1 ? possible intended match
# | 169: # =>This Inner Loop Header: Depth=1
# | next:200'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 170: beq a5, s0, .LBB11_4
# | next:200'0 ~~~~~~~~~~~~~~~~~~~~~~
# | 171: # %bb.3: # %atomicrmw.start
# | next:200'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 172: # in Loop: Header=BB11_2 Depth=1
# | next:200'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 173: slt a0, s0, a5
# | next:200'0 ~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 218: mv s0, a2
# | 219: mv s1, a0
# | 220: lw a4, 0(a0)
# | 221: lw a5, 4(a0)
# | 222: mv s2, a1
# | 223: j .LBB13_2
# | next:276'0 X error: no match found
# | 224: .LBB13_1: # %select.end
# | next:276'0 ~~~~~~~~~~~~~~~~~~~~~~~~
# | 225: # in Loop: Header=BB13_2 Depth=1
# | next:276'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 226: sw a4, 8(sp)
# | next:276'0 ~~~~~~~~~~~~~~
# | 227: sw a5, 12(sp)
# | next:276'0 ~~~~~~~~~~~~~~~
# | 228: addi a1, sp, 8
# | next:276'0 ~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 231: mv a0, s1
# | next:276'0 ~~~~~~~~~~~
# | 232: call __atomic_compare_exchange_8
# | next:276'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 233: lw a4, 8(sp)
# | next:276'0 ~~~~~~~~~~~~~~
# | 234: lw a5, 12(sp)
# | next:276'0 ~~~~~~~~~~~~~~~
# | 235: bnez a0, .LBB13_6
# | next:276'0 ~~~~~~~~~~~~~~~~~~~
# | 236: .LBB13_2: # %atomicrmw.start
# | next:276'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:276'1 ? possible intended match
# | 237: # =>This Inner Loop Header: Depth=1
# | next:276'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 238: beq a5, s0, .LBB13_4
# | next:276'0 ~~~~~~~~~~~~~~~~~~~~~~
# | 239: # %bb.3: # %atomicrmw.start
# | next:276'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 240: # in Loop: Header=BB13_2 Depth=1
# | next:276'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 241: sltu a0, s0, a5
# | next:276'0 ~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 286: mv s0, a2
# | 287: mv s1, a0
# | 288: lw a4, 0(a0)
# | 289: lw a5, 4(a0)
# | 290: mv s2, a1
# | 291: j .LBB15_2
# | next:352'0 X error: no match found
# | 292: .LBB15_1: # %select.end
# | next:352'0 ~~~~~~~~~~~~~~~~~~~~~~~~
# | 293: # in Loop: Header=BB15_2 Depth=1
# | next:352'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 294: sw a4, 8(sp)
# | next:352'0 ~~~~~~~~~~~~~~
# | 295: sw a5, 12(sp)
# | next:352'0 ~~~~~~~~~~~~~~~
# | 296: addi a1, sp, 8
# | next:352'0 ~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 299: mv a0, s1
# | next:352'0 ~~~~~~~~~~~
# | 300: call __atomic_compare_exchange_8
# | next:352'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 301: lw a4, 8(sp)
# | next:352'0 ~~~~~~~~~~~~~~
# | 302: lw a5, 12(sp)
# | next:352'0 ~~~~~~~~~~~~~~~
# | 303: bnez a0, .LBB15_6
# | next:352'0 ~~~~~~~~~~~~~~~~~~~
# | 304: .LBB15_2: # %atomicrmw.start
# | next:352'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:352'1 ? possible intended match
# | 305: # =>This Inner Loop Header: Depth=1
# | next:352'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 306: beq a5, s0, .LBB15_4
# | next:352'0 ~~~~~~~~~~~~~~~~~~~~~~
# | 307: # %bb.3: # %atomicrmw.start
# | next:352'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 308: # in Loop: Header=BB15_2 Depth=1
# | next:352'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 309: slt a0, s0, a5
# | next:352'0 ~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 354: mv s0, a2
# | 355: mv s1, a0
# | 356: lw a4, 0(a0)
# | 357: lw a5, 4(a0)
# | 358: mv s2, a1
# | 359: j .LBB17_2
# | next:428'0 X error: no match found
# | 360: .LBB17_1: # %select.end
# | next:428'0 ~~~~~~~~~~~~~~~~~~~~~~~~
# | 361: # in Loop: Header=BB17_2 Depth=1
# | next:428'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 362: sw a4, 8(sp)
# | next:428'0 ~~~~~~~~~~~~~~
# | 363: sw a5, 12(sp)
# | next:428'0 ~~~~~~~~~~~~~~~
# | 364: addi a1, sp, 8
# | next:428'0 ~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 367: mv a0, s1
# | next:428'0 ~~~~~~~~~~~
# | 368: call __atomic_compare_exchange_8
# | next:428'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 369: lw a4, 8(sp)
# | next:428'0 ~~~~~~~~~~~~~~
# | 370: lw a5, 12(sp)
# | next:428'0 ~~~~~~~~~~~~~~~
# | 371: bnez a0, .LBB17_6
# | next:428'0 ~~~~~~~~~~~~~~~~~~~
# | 372: .LBB17_2: # %atomicrmw.start
# | next:428'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:428'1 ? possible intended match
# | 373: # =>This Inner Loop Header: Depth=1
# | next:428'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 374: beq a5, s0, .LBB17_4
# | next:428'0 ~~~~~~~~~~~~~~~~~~~~~~
# | 375: # %bb.3: # %atomicrmw.start
# | next:428'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 376: # in Loop: Header=BB17_2 Depth=1
# | next:428'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 377: sltu a0, s0, a5
# | next:428'0 ~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>LLVM.CodeGen/RISCV/selectopt.ll</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes='require<profile-summary>,function(select-optimize)' -mtriple=riscv64 -S < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/RISCV/selectopt.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/RISCV/selectopt.ll --check-prefixes=CHECK,NO-SELECT-OPT
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt '-passes=require<profile-summary>,function(select-optimize)' -mtriple=riscv64 -S
# 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/RISCV/selectopt.ll --check-prefixes=CHECK,NO-SELECT-OPT
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/RISCV/selectopt.ll:94:23: error: NO-SELECT-OPT-NEXT: expected string not found in input
# | ; NO-SELECT-OPT-NEXT: [[SPEC_SELECT:%.*]] = select i1 [[CMP84]], i64 [[ADD]], i64 [[MUL]]
# | ^
# | <stdin>:81:30: note: scanning from here
# | %cmp84 = icmp slt i64 %8, %9
# | ^
# | <stdin>:81:30: note: with "CMP84" equal to "%cmp84"
# | %cmp84 = icmp slt i64 %8, %9
# | ^
# | <stdin>:81:30: note: with "ADD" equal to "%add"
# | %cmp84 = icmp slt i64 %8, %9
# | ^
# | <stdin>:81:30: note: with "MUL" equal to "%mul"
# | %cmp84 = icmp slt i64 %8, %9
# | ^
# | <stdin>:89:2: note: possible intended match here
# | %spec.select = phi i64 [ %add, %if.then ], [ %mul, %select.false ]
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/RISCV/selectopt.ll:344:23: error: NO-SELECT-OPT-NEXT: expected string not found in input
# | ; NO-SELECT-OPT-NEXT: [[SPEC_SELECT:%.*]] = or disjoint i64 [[MUL]], [[ADD]]
# | ^
# | <stdin>:173:30: note: scanning from here
# | %add = zext i1 %cmp84 to i64
# | ^
# | <stdin>:173:30: note: with "MUL" equal to "%mul"
# | %add = zext i1 %cmp84 to i64
# | ^
# | <stdin>:173:30: note: with "ADD" equal to "%add"
# | %add = zext i1 %cmp84 to i64
# | ^
# | <stdin>:178:2: note: possible intended match here
# | %9 = or disjoint i64 %mul, 1
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/RISCV/selectopt.ll:630:23: error: NO-SELECT-OPT-NEXT: expected string not found in input
# | ; NO-SELECT-OPT-NEXT: [[SEL:%.*]] = select i1 [[CMP5]], i32 [[ADD]], i32 1
# | ^
# | <stdin>:264:30: note: scanning from here
# | %conv = zext i1 %cmp5 to i32
# | ^
# | <stdin>:264:30: note: with "CMP5" equal to "%cmp5"
# | %conv = zext i1 %cmp5 to i32
# | ^
# | <stdin>:264:30: note: with "ADD" equal to "%add"
# | %conv = zext i1 %cmp5 to i32
# | ^
# | <stdin>:269:2: note: possible intended match here
# | %2 = or i32 1, %add
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/RISCV/selectopt.ll:750:23: error: NO-SELECT-OPT-NEXT: expected string not found in input
# | ; NO-SELECT-OPT-NEXT: [[OR:%.*]] = or i32 [[CONV]], [[ADD2]]
# | ^
# | <stdin>:315:25: note: scanning from here
# | %add2 = or i32 %add1, 1
# | ^
# | <stdin>:315:25: note: with "CONV" equal to "%conv"
# | %add2 = or i32 %add1, 1
# | ^
# | <stdin>:315:25: note: with "ADD2" equal to "%add2"
# | %add2 = or i32 %add1, 1
# | ^
# | <stdin>:320:2: note: possible intended match here
# | %2 = or i32 1, %add2
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/RISCV/selectopt.ll:863:23: error: NO-SELECT-OPT-NEXT: expected string not found in input
# | ; NO-SELECT-OPT-NEXT: br i1 [[EXITCOND_NOT_I_US]], label [[LATCH]], label [[INNER_LOOP]]
# | ^
# | <stdin>:356:50: note: scanning from here
# | %exitcond.not.i.us = icmp eq i64 %lsr.iv.next, 0
# | ^
# | <stdin>:356:50: note: with "EXITCOND_NOT_I_US" equal to "%exitcond.not.i.us"
# | %exitcond.not.i.us = icmp eq i64 %lsr.iv.next, 0
# | ^
# | <stdin>:356:50: note: with "LATCH" equal to "%select.end"
# | %exitcond.not.i.us = icmp eq i64 %lsr.iv.next, 0
# | ^
# | <stdin>:356:50: note: with "INNER_LOOP" equal to "%inner.loop"
# | %exitcond.not.i.us = icmp eq i64 %lsr.iv.next, 0
# | ^
# | <stdin>:383:22: note: possible intended match here
# | br i1 %exitcond23.not, label %exit, label %outer.loop
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/RISCV/selectopt.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 76: %sub79 = add nsw i64 %mul, -1
# | 77: %flow81 = getelementptr inbounds %struct.st, ptr %newst, i64 %sub79, i32 7
# | 78: %8 = load i64, ptr %flow81, align 8
# | 79: %flow83 = getelementptr inbounds %struct.st, ptr %newst, i64 %mul, i32 7
# | 80: %9 = load i64, ptr %flow83, align 8
# | 81: %cmp84 = icmp slt i64 %8, %9
# | next:94'0 X error: no match found
# | next:94'1 with "CMP84" equal to "%cmp84"
# | next:94'2 with "ADD" equal to "%add"
# | next:94'3 with "MUL" equal to "%mul"
# | 82: %cmp84.frozen = freeze i1 %cmp84
# | next:94'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 83: br i1 %cmp84.frozen, label %select.end, label %select.false
# | next:94'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 84:
# | next:94'0 ~
# | 85: select.false: ; preds = %if.then
# | next:94'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 86: br label %select.end
# | next:94'0 ~~~~~~~~~~~~~~~~~~~~~~
# | 87:
# | next:94'0 ~
# | 88: select.end: ; preds = %if.then, %select.false
# | next:94'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 89: %spec.select = phi i64 [ %add, %if.then ], [ %mul, %select.false ]
# | next:94'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:94'4 ? possible intended match
# | 90: br label %if.end87
# | next:94'0 ~~~~~~~~~~~~~~~~~~~~
# | 91:
# | next:94'0 ~
# | 92: if.end87: ; preds = %select.end, %while.body
# | next:94'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 93: %cmp.1 = phi i64 [ %mul, %while.body ], [ %spec.select, %select.end ]
# | next:94'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 94: %cmp16.not = icmp sgt i64 %cmp.1, %ma
# | next:94'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 168: %flow81 = getelementptr inbounds %struct.st, ptr %newst, i64 %sub79, i32 7
# | 169: %7 = load i64, ptr %flow81, align 8
# | 170: %flow83 = getelementptr inbounds %struct.st, ptr %newst, i64 %mul, i32 7
# | 171: %8 = load i64, ptr %flow83, align 8
# | 172: %cmp84 = icmp slt i64 %7, %8
# | 173: %add = zext i1 %cmp84 to i64
# | next:344'0 X error: no match found
# | next:344'1 with "MUL" equal to "%mul"
# | next:344'2 with "ADD" equal to "%add"
# | 174: %cmp84.frozen = freeze i1 %cmp84
# | next:344'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 175: br i1 %cmp84.frozen, label %select.true.sink, label %select.end
# | next:344'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 176:
# | next:344'0 ~
# | 177: select.true.sink: ; preds = %if.then
# | next:344'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 178: %9 = or disjoint i64 %mul, 1
# | next:344'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:344'3 ? possible intended match
# | 179: br label %select.end
# | next:344'0 ~~~~~~~~~~~~~~~~~~~~~~
# | 180:
# | next:344'0 ~
# | 181: select.end: ; preds = %if.then, %select.true.sink
# | next:344'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 182: %spec.select = phi i64 [ %9, %select.true.sink ], [ %mul, %if.then ]
# | next:344'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 183: br label %if.end87
# | next:344'0 ~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 259: %arrayidx4 = getelementptr inbounds i32, ptr %z, i64 %indvars.iv
# | 260: %1 = load i32, ptr %arrayidx4, align 4
# | 261: %div = sdiv i32 %y.020, %1
# | 262: %div1 = sdiv i32 %div, %1
# | 263: %cmp5 = icmp sgt i32 %div1, 0
# | 264: %conv = zext i1 %cmp5 to i32
# | next:630'0 X error: no match found
# | next:630'1 with "CMP5" equal to "%cmp5"
# | next:630'2 with "ADD" equal to "%add"
# | 265: %cmp5.frozen = freeze i1 %cmp5
# | next:630'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 266: br i1 %cmp5.frozen, label %select.true.sink, label %select.end
# | next:630'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 267:
# | next:630'0 ~
# | 268: select.true.sink: ; preds = %if.then
# | next:630'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 269: %2 = or i32 1, %add
# | next:630'0 ~~~~~~~~~~~~~~~~~~~~~
# | next:630'3 ? possible intended match
# | 270: br label %select.end
# | next:630'0 ~~~~~~~~~~~~~~~~~~~~~~
# | 271:
# | next:630'0 ~
# | 272: select.end: ; preds = %if.then, %select.true.sink
# | next:630'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 273: %sel = phi i32 [ %add, %select.true.sink ], [ 1, %if.then ]
# | next:630'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 274: %or = phi i32 [ %2, %select.true.sink ], [ 1, %if.then ]
# | next:630'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 310: %div = sdiv i32 %y.020, %1
# | 311: %div1 = sdiv i32 %div, %1
# | 312: %cmp5 = icmp sgt i32 %div1, 0
# | 313: %conv = zext i1 %cmp5 to i32
# | 314: %add1 = add i32 %add, 1
# | 315: %add2 = or i32 %add1, 1
# | next:750'0 X error: no match found
# | next:750'1 with "CONV" equal to "%conv"
# | next:750'2 with "ADD2" equal to "%add2"
# | 316: %cmp5.frozen = freeze i1 %cmp5
# | next:750'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 317: br i1 %cmp5.frozen, label %select.true.sink, label %select.end
# | next:750'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 318:
# | next:750'0 ~
# | 319: select.true.sink: ; preds = %if.then
# | next:750'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 320: %2 = or i32 1, %add2
# | next:750'0 ~~~~~~~~~~~~~~~~~~~~~~
# | next:750'3 ? possible intended match
# | 321: br label %select.end
# | next:750'0 ~~~~~~~~~~~~~~~~~~~~~~
# | 322:
# | next:750'0 ~
# | 323: select.end: ; preds = %if.then, %select.true.sink
# | next:750'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 324: %or = phi i32 [ %2, %select.true.sink ], [ %add2, %if.then ]
# | next:750'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 325: br label %if.end
# | next:750'0 ~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 351: inner.loop: ; preds = %inner.loop, %outer.loop
# | 352: %lsr.iv = phi i64 [ %dim, %outer.loop ], [ %lsr.iv.next, %inner.loop ]
# | 353: %diff.04.i.us = phi i64 [ %call.i.us, %inner.loop ], [ 0, %outer.loop ]
# | 354: %call.i.us = tail call i64 @payload(i64 %diff.04.i.us, ptr %0, ptr %1, i64 %p)
# | 355: %lsr.iv.next = add i64 %lsr.iv, -1
# | 356: %exitcond.not.i.us = icmp eq i64 %lsr.iv.next, 0
# | next:863'0 X error: no match found
# | next:863'1 with "EXITCOND_NOT_I_US" equal to "%exitcond.not.i.us"
# | next:863'2 with "LATCH" equal to "%select.end"
# | next:863'3 with "INNER_LOOP" equal to "%inner.loop"
# | 357: br i1 %exitcond.not.i.us, label %latch, label %inner.loop
# | next:863'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 358:
# | next:863'0 ~
# | 359: latch: ; preds = %inner.loop
# | next:863'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 360: %cmp2.us = icmp sgt i64 %call.i.us, -1
# | next:863'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 361: %diff.0.lcssa.i.lobit.us = lshr i64 %call.i.us, 63
# | next:863'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 378: %cond.us = load ptr, ptr %cond.in.us, align 8
# | next:863'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 379: %arrayidx6.us = getelementptr inbounds ptr, ptr %dst, i64 %k.020.us
# | next:863'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 380: store ptr %cond.us, ptr %arrayidx6.us, align 8
# | next:863'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 381: %inc7.us = add i64 %k.020.us, 1
# | next:863'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 382: %exitcond23.not = icmp eq i64 %k.020.us, 1000
# | next:863'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 383: br i1 %exitcond23.not, label %exit, label %outer.loop
# | next:863'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:863'4 ? possible intended match
# | 384:
# | next:863'0 ~
# | 385: exit: ; preds = %select.end
# | next:863'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 386: ret void
# | next:863'0 ~~~~~~~~~~
# | 387: }
# | next:863'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/178394
More information about the llvm-commits
mailing list