[llvm] [ConstraintElim] Try to get induction step/start/flags from IR (NFC-ish) (PR #209284)

via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 14 04:16:49 PDT 2026


github-actions[bot] wrote:

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

* 138450 tests passed
* 3541 tests skipped
* 1 test failed

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

### LLVM
<details>
<summary>LLVM.Transforms/ConstraintElimination/induction-condition-in-loop-exit.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\opt.exe -p constraint-elimination -S C:\_work\llvm-project\llvm-project\llvm\test\Transforms\ConstraintElimination\induction-condition-in-loop-exit.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\ConstraintElimination\induction-condition-in-loop-exit.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' -p constraint-elimination -S 'C:\_work\llvm-project\llvm-project\llvm\test\Transforms\ConstraintElimination\induction-condition-in-loop-exit.ll'
# 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\ConstraintElimination\induction-condition-in-loop-exit.ll'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\ConstraintElimination\induction-condition-in-loop-exit.ll:1230:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[CHK:%.*]] = icmp ugt i64 [[IV_NEXT]], 0
# |               ^
# | <stdin>:666:6: note: scanning from here
# | body: ; preds = %loop.header
# |      ^
# | <stdin>:666:6: note: with "IV_NEXT" equal to "%iv.next"
# | body: ; preds = %loop.header
# |      ^
# | <stdin>:666:6: note: pattern attempts to capture variables: "CHK"
# | body: ; preds = %loop.header
# |      ^
# | <stdin>:669:2: note: possible intended match here
# | latch: ; preds = %body
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\Transforms\ConstraintElimination\induction-condition-in-loop-exit.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |              .
# |              .
# |              .
# |            661:  %iv = phi i64 [ 100, %entry ], [ %iv.next, %latch ] 
# |            662:  %iv.next = add i64 %iv, -1 
# |            663:  %done = icmp eq i64 %iv.next, 0 
# |            664:  br i1 %done, label %exit, label %body 
# |            665:  
# |            666: body: ; preds = %loop.header 
# | next:1230'0         {                          search range start (exclusive)
# | next:1230'1                                    error: no match found in search range
# | next:1230'2                                    with "IV_NEXT" equal to "%iv.next"
# | next:1230'3                                    pattern attempts to capture variables: "CHK"
# |            667:  br i1 %c, label %exit_body, label %latch 
# |            668:  
# |            669: latch: ; preds = %body 
# | next:1230'4      ?                       possible intended match
# |            670:  br label %loop.header 
# |            671:  
# |            672: exit_body: ; preds = %body 
# |            673:  ret i1 true 
# |            674:  
# |            675: exit: ; preds = %loop.header 
# |            676:  ret i1 false 
# |            677: } 
# |            678:  
# |            679: define i1 @postinc_non_constant_start_not_folded(i64 %start, i1 %c) { 
# | next:1230'5                                                      }                      search range end (exclusive)
# |            680: entry: 
# |            681:  br label %loop.header 
# |            682:  
# |            683: loop.header: ; preds = %latch, %entry 
# |            684:  %iv = phi i64 [ %start, %entry ], [ %iv.next, %latch ] 
# |              .
# |              .
# |              .
# | >>>>>>
# `-----------------------------
# 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/209284


More information about the llvm-commits mailing list