[llvm] [SCEV] Fix non-NFC parts of getOrCreateUDiv patch (PR #217428)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 19 12:58:39 PDT 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results
* 180897 tests passed
* 3701 tests skipped
* 1 test failed
## Failed Tests
(click on a test name to see its output)
### LLVM
<details>
<summary>LLVM.Analysis/ScalarEvolution/addrec-may-wrap-udiv-canonicalize.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/Analysis/ScalarEvolution/addrec-may-wrap-udiv-canonicalize.ll -passes='print<scalar-evolution>' -disable-output 2>&1 | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Analysis/ScalarEvolution/addrec-may-wrap-udiv-canonicalize.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt '-passes=print<scalar-evolution>' -disable-output
# 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/Analysis/ScalarEvolution/addrec-may-wrap-udiv-canonicalize.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Analysis/ScalarEvolution/addrec-may-wrap-udiv-canonicalize.ll:24:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: --> ({-2,+,2}<%loop> /u 4) U: [0,4611686018427387904) S: [0,4611686018427387904) Exits: <<Unknown>> LoopDispositions: { %loop: Computable }
# | ^
# | <stdin>:17:36: note: scanning from here
# | %div.neg.1 = udiv i64 %iv.neg.1, 4
# | ^
# | <stdin>:18:2: note: possible intended match here
# | --> ({-1,+,2}<%loop> /u 4) U: [0,4611686018427387904) S: [0,4611686018427387904) Exits: <<Unknown>> LoopDispositions: { %loop: Computable }
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Analysis/ScalarEvolution/addrec-may-wrap-udiv-canonicalize.ll:203:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: --> ({{\{\{}}-2,+,16}<%outer.header>,+,2}<%loop> /u 4) U: [0,4611686018427387904) S: [0,4611686018427387904) Exits: <<Unknown>> LoopDispositions: { %loop: Computable, %outer.header: Variant }
# | ^
# | <stdin>:111:36: note: scanning from here
# | %div.neg.1 = udiv i64 %iv.neg.1, 4
# | ^
# | <stdin>:112:2: note: possible intended match here
# | --> ({{-1,+,16}<%outer.header>,+,2}<%loop> /u 4) U: [0,4611686018427387904) S: [0,4611686018427387904) Exits: <<Unknown>> LoopDispositions: { %loop: Computable, %outer.header: Variant }
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Analysis/ScalarEvolution/addrec-may-wrap-udiv-canonicalize.ll:319:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: --> ({{\{\{}}-2,+,2}<%outer.header>,+,2}<%loop> /u 4) U: [0,4611686018427387904) S: [0,4611686018427387904) Exits: <<Unknown>> LoopDispositions: { %loop: Computable, %outer.header: Variant }
# | ^
# | <stdin>:173:36: note: scanning from here
# | %div.neg.1 = udiv i64 %iv.neg.1, 4
# | ^
# | <stdin>:174:2: note: possible intended match here
# | --> ({{-1,+,2}<%outer.header>,+,2}<%loop> /u 4) U: [0,4611686018427387904) S: [0,4611686018427387904) Exits: <<Unknown>> LoopDispositions: { %loop: Computable, %outer.header: Variant }
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Analysis/ScalarEvolution/addrec-may-wrap-udiv-canonicalize.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 12: --> {2,+,2}<%loop> U: [0,-1) S: [-9223372036854775808,9223372036854775807) Exits: <<Unknown>> LoopDispositions: { %loop: Computable }
# | 13: %div.2 = udiv i64 %iv.2, 4
# | 14: --> ({2,+,2}<%loop> /u 4) U: [0,4611686018427387904) S: [0,4611686018427387904) Exits: <<Unknown>> LoopDispositions: { %loop: Computable }
# | 15: %iv.neg.1 = add i64 %iv, -1
# | 16: --> {-1,+,2}<%loop> U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Computable }
# | 17: %div.neg.1 = udiv i64 %iv.neg.1, 4
# | next:24'0 { search range start (exclusive)
# | next:24'1 error: no match found in search range
# | 18: --> ({-1,+,2}<%loop> /u 4) U: [0,4611686018427387904) S: [0,4611686018427387904) Exits: <<Unknown>> LoopDispositions: { %loop: Computable }
# | next:24'2 ? possible intended match
# | 19: %iv.next = add i64 %iv, 2
# | 20: --> {2,+,2}<%loop> U: [0,-1) S: [-9223372036854775808,9223372036854775807) Exits: <<Unknown>> LoopDispositions: { %loop: Computable }
# | 21: Determining loop execution counts for: @test_step2_div4
# | 22: Loop %loop: Unpredictable backedge-taken count.
# | 23: Loop %loop: Unpredictable constant max backedge-taken count.
# | 24: Loop %loop: Unpredictable symbolic max backedge-taken count.
# | 25: Printing analysis 'Scalar Evolution Analysis' for function 'test_step3_div6':
# | next:24'3 } search range end (exclusive)
# | 26: Classifying expressions for: @test_step3_div6
# | 27: %iv = phi i64 [ 0, %entry ], [ %iv.next, %loop ]
# | 28: --> {0,+,3}<%loop> U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Computable }
# | 29: %div.0 = udiv i64 %iv, 6
# | 30: --> ({0,+,3}<%loop> /u 6) U: [0,3074457345618258603) S: [0,3074457345618258603) Exits: <<Unknown>> LoopDispositions: { %loop: Computable }
# | .
# | .
# | .
# | 106: --> {{5,+,16}<%outer.header>,+,2}<%loop> U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Computable, %outer.header: Variant }
# | 107: %div.5 = udiv i64 %iv.5, 4
# | 108: --> ({{4,+,16}<%outer.header>,+,2}<%loop> /u 4) U: [0,4611686018427387904) S: [0,4611686018427387904) Exits: <<Unknown>> LoopDispositions: { %loop: Computable, %outer.header: Variant }
# | 109: %iv.neg.1 = add i64 %iv, -1
# | 110: --> {{-1,+,16}<%outer.header>,+,2}<%loop> U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Computable, %outer.header: Variant }
# | 111: %div.neg.1 = udiv i64 %iv.neg.1, 4
# | next:203'0 { search range start (exclusive)
# | next:203'1 error: no match found in search range
# | 112: --> ({{-1,+,16}<%outer.header>,+,2}<%loop> /u 4) U: [0,4611686018427387904) S: [0,4611686018427387904) Exits: <<Unknown>> LoopDispositions: { %loop: Computable, %outer.header: Variant }
# | next:203'2 ? possible intended match
# | 113: %div3.0 = udiv i64 %iv, 3
# | 114: --> ({{0,+,16}<%outer.header>,+,2}<%loop> /u 3) U: [0,6148914691236517205) S: [0,6148914691236517206) Exits: <<Unknown>> LoopDispositions: { %loop: Computable, %outer.header: Variant }
# | 115: %div3.1 = udiv i64 %iv.1, 3
# | 116: --> ({{1,+,16}<%outer.header>,+,2}<%loop> /u 3) U: [0,6148914691236517206) S: [0,6148914691236517206) Exits: <<Unknown>> LoopDispositions: { %loop: Computable, %outer.header: Variant }
# | 117: %div3.2 = udiv i64 %iv.2, 3
# | .
# | .
# | .
# | 138: Predicates:
# | 139: Equal predicate: (zext i4 (trunc i64 %m to i4) to i64) == 0
# | 140: Loop %outer.header: Predicated symbolic max backedge-taken count is (%m /u 16)
# | 141: Predicates:
# | 142: Equal predicate: (zext i4 (trunc i64 %m to i4) to i64) == 0
# | 143: Printing analysis 'Scalar Evolution Analysis' for function 'test_step2_div4_start_outer_add_rec_step_2':
# | next:203'3 } search range end (exclusive)
# | 144: Classifying expressions for: @test_step2_div4_start_outer_add_rec_step_2
# | 145: %outer.iv = phi i64 [ 0, %entry ], [ %outer.iv.next, %outer.latch ]
# | 146: --> {0,+,2}<%outer.header> U: [0,-1) S: [-9223372036854775808,9223372036854775807) Exits: <<Unknown>> LoopDispositions: { %outer.header: Computable, %loop: Invariant }
# | 147: %iv = phi i64 [ %outer.iv, %outer.header ], [ %iv.next, %loop ]
# | 148: --> {{0,+,2}<%outer.header>,+,2}<%loop> U: [0,-1) S: [-9223372036854775808,9223372036854775807) Exits: <<Unknown>> LoopDispositions: { %loop: Computable, %outer.header: Variant }
# | .
# | .
# | .
# | 168: --> {{5,+,2}<%outer.header>,+,2}<%loop> U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Computable, %outer.header: Variant }
# | 169: %div.5 = udiv i64 %iv.5, 4
# | 170: --> ({{4,+,2}<%outer.header>,+,2}<%loop> /u 4) U: [0,4611686018427387904) S: [0,4611686018427387904) Exits: <<Unknown>> LoopDispositions: { %loop: Computable, %outer.header: Variant }
# | 171: %iv.neg.1 = add i64 %iv, -1
# | 172: --> {{-1,+,2}<%outer.header>,+,2}<%loop> U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Computable, %outer.header: Variant }
# | 173: %div.neg.1 = udiv i64 %iv.neg.1, 4
# | next:319'0 { search range start (exclusive)
# | next:319'1 error: no match found in search range
# | 174: --> ({{-1,+,2}<%outer.header>,+,2}<%loop> /u 4) U: [0,4611686018427387904) S: [0,4611686018427387904) Exits: <<Unknown>> LoopDispositions: { %loop: Computable, %outer.header: Variant }
# | next:319'2 ? possible intended match
# | 175: %div3.0 = udiv i64 %iv, 3
# | 176: --> ({{0,+,2}<%outer.header>,+,2}<%loop> /u 3) U: [0,6148914691236517205) S: [0,6148914691236517206) Exits: <<Unknown>> LoopDispositions: { %loop: Computable, %outer.header: Variant }
# | 177: %div3.1 = udiv i64 %iv.1, 3
# | 178: --> ({{1,+,2}<%outer.header>,+,2}<%loop> /u 3) U: [0,6148914691236517206) S: [0,6148914691236517206) Exits: <<Unknown>> LoopDispositions: { %loop: Computable, %outer.header: Variant }
# | 179: %div3.2 = udiv i64 %iv.2, 3
# | .
# | .
# | .
# | 199: Loop %outer.header: Predicated constant max backedge-taken count is i64 9223372036854775807
# | 200: Predicates:
# | 201: Equal predicate: (zext i1 (trunc i64 %m to i1) to i64) == 0
# | 202: Loop %outer.header: Predicated symbolic max backedge-taken count is (%m /u 2)
# | 203: Predicates:
# | 204: Equal predicate: (zext i1 (trunc i64 %m to i1) to i64) == 0
# | next:319'3 } search range end (exclusive)
# | >>>>
# | ...
# `---data was truncated (10240/10243) (change limit with -D output_limit=N)
# 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/217428
More information about the llvm-commits
mailing list