[llvm] [InstCombine] Generalizing icmp ne X, 0 to trunc X to i1 IIF X in range (0,2] (PR #184182)

via llvm-commits llvm-commits at lists.llvm.org
Sat Jun 27 04:06:02 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results

* 136262 tests passed
* 3494 tests skipped
* 1 test failed

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

### LLVM
<details>
<summary>LLVM.Transforms/InstCombine/shift-amount-reassociation-in-bittest-with-truncation-lshr.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\opt.exe < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\shift-amount-reassociation-in-bittest-with-truncation-lshr.ll -passes=instcombine -S | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\shift-amount-reassociation-in-bittest-with-truncation-lshr.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' -passes=instcombine -S
# 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\Transforms\InstCombine\shift-amount-reassociation-in-bittest-with-truncation-lshr.ll'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\shift-amount-reassociation-in-bittest-with-truncation-lshr.ll:400:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[T0:%.*]] = sub i32 32, [[LEN:%.*]]
# |               ^
# | <stdin>:168:25: note: scanning from here
# | define i1 @t14_x_is_one(i32 %x, i32 %len) {
# |                         ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\shift-amount-reassociation-in-bittest-with-truncation-lshr.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           163:  %1 = and i64 %y, 65536 
# |           164:  %t5 = icmp ne i64 %1, 0 
# |           165:  ret i1 %t5 
# |           166: } 
# |           167:  
# |           168: define i1 @t14_x_is_one(i32 %x, i32 %len) { 
# | next:400'0                            {                      search range start (exclusive)
# | next:400'1                                                   error: no match found in search range
# |           169:  ret i1 false 
# |           170: } 
# |           171:  
# |           172: define <2 x i1> @t15_vec_x_is_one_or_zero(<2 x i64> %y, <2 x i32> %len) { 
# | next:400'2                                               }                                 search range end (exclusive)
# |           173:  %1 = and <2 x i64> %y, splat (i64 281474976710656) 
# |           174:  %2 = icmp ne <2 x i64> %1, zeroinitializer 
# |           175:  %t5 = and <2 x i1> %2, <i1 true, i1 false> 
# |           176:  ret <2 x i1> %t5 
# |           177: } 
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# 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/184182


More information about the llvm-commits mailing list