[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