[llvm] [SelectOptimize] Reject Not as BinOp SelectLike aux (fix #226417) (PR #226539)
via llvm-commits
llvm-commits at lists.llvm.org
Sun Sep 27 15:48:51 PDT 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results
* 154128 tests passed
* 3428 tests skipped
* 1 test failed
## Failed Tests
(click on a test name to see its output)
### LLVM
<details>
<summary>LLVM.CodeGen/AArch64/selectopt-issue226417.ll</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes='require<profile-summary>,function(select-optimize)' -mtriple=aarch64-linux-gnu -mcpu=generic -S < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/selectopt-issue226417.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/AArch64/selectopt-issue226417.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt '-passes=require<profile-summary>,function(select-optimize)' -mtriple=aarch64-linux-gnu -mcpu=generic -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/AArch64/selectopt-issue226417.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/selectopt-issue226417.ll:12:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[SH:%.*]] = lshr i1 [[V:%.*]], 0
# | ^
# | <stdin>:21:23: note: scanning from here
# | %nc = xor i1 %c, true
# | ^
# | <stdin>:21:23: note: pattern attempts to capture variables: "SH", "V"
# | %nc = xor i1 %c, true
# | ^
# | <stdin>:22:2: note: possible intended match here
# | %sh = lshr i1 %v, false
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/selectopt-issue226417.ll:50:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[SH:%.*]] = lshr i1 [[V:%.*]], 0
# | ^
# | <stdin>:49:23: note: scanning from here
# | %nc = xor i1 %c, true
# | ^
# | <stdin>:49:23: note: pattern attempts to capture variables: "SH", "V"
# | %nc = xor i1 %c, true
# | ^
# | <stdin>:50:2: note: possible intended match here
# | %sh = lshr i1 %v, false
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/selectopt-issue226417.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 16: %j.next = add i32 %j, 1
# | 17: %ic = icmp slt i32 %j.next, %n
# | 18: br i1 %ic, label %inner, label %latch
# | 19:
# | 20: latch: ; preds = %inner
# | 21: %nc = xor i1 %c, true
# | next:12'0 { search range start (exclusive)
# | next:12'1 error: no match found in search range
# | next:12'2 pattern attempts to capture variables: "SH", "V"
# | 22: %sh = lshr i1 %v, false
# | next:12'3 ? possible intended match
# | 23: %s0 = select i1 %c, i32 %a, i32 %b
# | 24: %add = add i1 %nc, %sh
# | 25: %s2 = select i1 %c, i32 %a, i32 %b
# | 26: %i.next = add i32 %i, 1
# | 27: %oc = icmp slt i32 %i.next, %n
# | 28: br i1 %oc, label %outer, label %exit
# | 29:
# | 30: exit: ; preds = %latch
# | 31: ret void
# | 32: }
# | 33:
# | 34: define void @not_xor_sub_not_selectlike(i32 %n, i1 %c, i1 %v, i32 %a, i32 %b) #0 {
# | next:12'4 } search range end (exclusive)
# | 35: entry:
# | 36: br label %outer
# | 37:
# | 38: outer: ; preds = %latch, %entry
# | 39: %i = phi i32 [ 0, %entry ], [ %i.next, %latch ]
# | .
# | .
# | .
# | 44: %j.next = add i32 %j, 1
# | 45: %ic = icmp slt i32 %j.next, %n
# | 46: br i1 %ic, label %inner, label %latch
# | 47:
# | 48: latch: ; preds = %inner
# | 49: %nc = xor i1 %c, true
# | next:50'0 { search range start (exclusive)
# | next:50'1 error: no match found in search range
# | next:50'2 pattern attempts to capture variables: "SH", "V"
# | 50: %sh = lshr i1 %v, false
# | next:50'3 ? possible intended match
# | 51: %sub = sub i1 %sh, %nc
# | 52: %s0 = select i1 %c, i32 %a, i32 %b
# | 53: %s2 = select i1 %c, i32 %a, i32 %b
# | 54: %i.next = add i32 %i, 1
# | 55: %oc = icmp slt i32 %i.next, %n
# | 56: br i1 %oc, label %outer, label %exit
# | 57:
# | 58: exit: ; preds = %latch
# | 59: ret void
# | 60: }
# | 61:
# | 62: attributes #0 = { "target-cpu"="generic" }
# | next:50'4 } search range end (exclusive)
# | >>>>>>
# `-----------------------------
# 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/226539
More information about the llvm-commits
mailing list