[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