[llvm] [SimplifyIndVar] ICMP predicate conversion to EQ/NE (PR #144945)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Dec 4 01:55:16 PST 2025
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results
* 166743 tests passed
* 2909 tests skipped
* 2 tests failed
## Failed Tests
(click on a test name to see its output)
### LLVM
<details>
<summary>LLVM.Transforms/IndVarSimplify/X86/overflow-intrinsics.ll</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -S -passes=indvars < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/IndVarSimplify/X86/overflow-intrinsics.ll | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/IndVarSimplify/X86/overflow-intrinsics.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -S -passes=indvars
# 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/Transforms/IndVarSimplify/X86/overflow-intrinsics.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/IndVarSimplify/X86/overflow-intrinsics.ll:24:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[CMP:%.*]] = icmp samesign ne i64 [[INDVARS_IV_NEXT]], 16
# | ^
# | <stdin>:24:6: note: scanning from here
# | cont: ; preds = %for.body
# | ^
# | <stdin>:24:6: note: with "INDVARS_IV_NEXT" equal to "%indvars.iv.next"
# | cont: ; preds = %for.body
# | ^
# | <stdin>:25:6: note: possible intended match here
# | %exitcond = icmp ne i64 %indvars.iv.next, 16
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/IndVarSimplify/X86/overflow-intrinsics.ll:113:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[CMP:%.*]] = icmp samesign ne i64 [[INDVARS_IV_NEXT]], 16
# | ^
# | <stdin>:69:6: note: scanning from here
# | cont: ; preds = %for.body
# | ^
# | <stdin>:69:6: note: with "INDVARS_IV_NEXT" equal to "%indvars.iv.next"
# | cont: ; preds = %for.body
# | ^
# | <stdin>:70:6: note: possible intended match here
# | %exitcond = icmp ne i64 %indvars.iv.next, 16
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/IndVarSimplify/X86/overflow-intrinsics.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 19:
# | 20: trap: ; preds = %for.body
# | 21: tail call void @llvm.trap(), !nosanitize !0
# | 22: unreachable, !nosanitize !0
# | 23:
# | 24: cont: ; preds = %for.body
# | next:24'0 X~~~~~~~~~~~~~~~~~~~~ error: no match found
# | next:24'1 with "INDVARS_IV_NEXT" equal to "%indvars.iv.next"
# | 25: %exitcond = icmp ne i64 %indvars.iv.next, 16
# | next:24'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:24'2 ? possible intended match
# | 26: br i1 %exitcond, label %for.body, label %for.cond.cleanup
# | next:24'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 27: }
# | next:24'0 ~~
# | 28:
# | next:24'0 ~
# | 29: define void @f_sadd_overflow(ptr %a) {
# | next:24'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 30: entry:
# | .
# | .
# | .
# | 64:
# | 65: trap: ; preds = %for.body
# | 66: tail call void @llvm.trap(), !nosanitize !0
# | 67: unreachable, !nosanitize !0
# | 68:
# | 69: cont: ; preds = %for.body
# | next:113'0 X~~~~~~~~~~~~~~~~~~~~ error: no match found
# | next:113'1 with "INDVARS_IV_NEXT" equal to "%indvars.iv.next"
# | 70: %exitcond = icmp ne i64 %indvars.iv.next, 16
# | next:113'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:113'2 ? possible intended match
# | 71: br i1 %exitcond, label %for.body, label %for.cond.cleanup
# | next:113'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 72: }
# | next:113'0 ~~
# | 73:
# | next:113'0 ~
# | 74: define void @f_uadd_overflow(ptr %a) {
# | next:113'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 75: entry:
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>LLVM.Transforms/IndVarSimplify/ada-loops.ll</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/IndVarSimplify/ada-loops.ll -passes=indvars -S | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/IndVarSimplify/ada-loops.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=indvars -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/Transforms/IndVarSimplify/ada-loops.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/IndVarSimplify/ada-loops.ll:136:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[EXITCOND:%.*]] = icmp samesign eq i32 [[INDVARS_IV_NEXT]], 31
# | ^
# | <stdin>:73:51: note: scanning from here
# | %indvars.iv.next = add nuw nsw i32 %indvars.iv, 1
# | ^
# | <stdin>:73:51: note: with "INDVARS_IV_NEXT" equal to "%indvars.iv.next"
# | %indvars.iv.next = add nuw nsw i32 %indvars.iv, 1
# | ^
# | <stdin>:74:20: note: possible intended match here
# | %exitcond = icmp eq i32 %indvars.iv.next, 31
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/IndVarSimplify/ada-loops.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 68: bb: ; preds = %bb, %bb.thread
# | 69: %indvars.iv = phi i32 [ %indvars.iv.next, %bb ], [ 10, %bb.thread ]
# | 70: %tmp4 = add nsw i32 %indvars.iv, -10
# | 71: %tmp5 = getelementptr [21 x i32], ptr %a, i32 0, i32 %tmp4
# | 72: store i32 0, ptr %tmp5, align 4
# | 73: %indvars.iv.next = add nuw nsw i32 %indvars.iv, 1
# | next:136'0 X error: no match found
# | next:136'1 with "INDVARS_IV_NEXT" equal to "%indvars.iv.next"
# | 74: %exitcond = icmp eq i32 %indvars.iv.next, 31
# | next:136'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:136'2 ? possible intended match
# | 75: br i1 %exitcond, label %return, label %bb
# | next:136'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 76:
# | next:136'0 ~
# | 77: return: ; preds = %bb
# | next:136'0 ~~~~~~~~~~~~~~~~~~~~~~
# | 78: ret void
# | next:136'0 ~~~~~~~~~~
# | 79: }
# | next:136'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/144945
More information about the llvm-commits
mailing list