[llvm] [VPlan] Replicate VPScalarIVStepsRecipe by VF outside replicate regions. (PR #170053)

via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 3 10:54:02 PST 2026


github-actions[bot] wrote:

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

* 131717 tests passed
* 2970 tests skipped
* 1 test failed

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

### LLVM
<details>
<summary>LLVM.Transforms/LoopVectorize/if-pred-stores.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\opt.exe -S -vectorize-num-stores-pred=1 -force-vector-width=1 -force-vector-interleave=2 -passes=loop-vectorize,simplifycfg -verify-loop-info -simplifycfg-require-and-preserve-domtree=1 < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopVectorize\if-pred-stores.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopVectorize\if-pred-stores.ll --check-prefix=UNROLL
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' -S -vectorize-num-stores-pred=1 -force-vector-width=1 -force-vector-interleave=2 -passes=loop-vectorize,simplifycfg -verify-loop-info -simplifycfg-require-and-preserve-domtree=1
# 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\LoopVectorize\if-pred-stores.ll' --check-prefix=UNROLL
# note: command had no output on stdout or stderr
# RUN: at line 3
c:\_work\llvm-project\llvm-project\build\bin\opt.exe -S -vectorize-num-stores-pred=1 -force-vector-width=1 -force-vector-interleave=2 -passes=loop-vectorize -verify-loop-info < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopVectorize\if-pred-stores.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopVectorize\if-pred-stores.ll --check-prefix=UNROLL-NOSIMPLIFY
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' -S -vectorize-num-stores-pred=1 -force-vector-width=1 -force-vector-interleave=2 -passes=loop-vectorize -verify-loop-info
# 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\LoopVectorize\if-pred-stores.ll' --check-prefix=UNROLL-NOSIMPLIFY
# note: command had no output on stdout or stderr
# RUN: at line 4
c:\_work\llvm-project\llvm-project\build\bin\opt.exe -S -vectorize-num-stores-pred=1 -force-vector-width=2 -force-vector-interleave=1 -passes=loop-vectorize,simplifycfg -verify-loop-info -simplifycfg-require-and-preserve-domtree=1 < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopVectorize\if-pred-stores.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopVectorize\if-pred-stores.ll --check-prefix=VEC
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' -S -vectorize-num-stores-pred=1 -force-vector-width=2 -force-vector-interleave=1 -passes=loop-vectorize,simplifycfg -verify-loop-info -simplifycfg-require-and-preserve-domtree=1
# 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\LoopVectorize\if-pred-stores.ll' --check-prefix=VEC
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopVectorize\if-pred-stores.ll:836:13: error: VEC-NEXT: expected string not found in input
# | ; VEC-NEXT: [[TMP0:%.*]] = add i64 [[INDEX]], 0
# |             ^
# | <stdin>:233:63: note: scanning from here
# |  %index = phi i64 [ %index.next, %vector.body ], [ 0, %entry ]
# |                                                               ^
# | <stdin>:233:63: note: with "INDEX" equal to "%index"
# |  %index = phi i64 [ %index.next, %vector.body ], [ 0, %entry ]
# |                                                               ^
# | <stdin>:270:5: note: possible intended match here
# |  %iv.next = add i64 %iv, 1
# |     ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopVectorize\if-pred-stores.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           228:  %bound1 = icmp ult ptr %B, %scevgep 
# |           229:  %found.conflict = and i1 %bound0, %bound1 
# |           230:  br i1 %found.conflict, label %scalar.ph, label %vector.body 
# |           231:  
# |           232: vector.body: ; preds = %entry, %vector.body 
# |           233:  %index = phi i64 [ %index.next, %vector.body ], [ 0, %entry ] 
# | next:836'0                                                                   X error: no match found
# | next:836'1                                                                     with "INDEX" equal to "%index"
# |           234:  %0 = add i64 %index, 1 
# | next:836'0     ~~~~~~~~~~~~~~~~~~~~~~~~
# |           235:  %1 = getelementptr i32, ptr %A, i64 %index 
# | next:836'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           236:  %2 = getelementptr i32, ptr %A, i64 %0 
# | next:836'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           237:  %3 = getelementptr i32, ptr %B, i64 %index 
# | next:836'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           238:  %wide.load = load <2 x i32>, ptr %3, align 4, !alias.scope !8 
# | next:836'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           265: if.else: ; preds = %loop 
# | next:836'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
# |           266:  store i32 1, ptr %gep.A, align 4 
# | next:836'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           267:  br label %loop.latch 
# | next:836'0     ~~~~~~~~~~~~~~~~~~~~~~
# |           268:  
# | next:836'0     ~
# |           269: loop.latch: ; preds = %if.else, %if.then 
# | next:836'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           270:  %iv.next = add i64 %iv, 1 
# | next:836'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:836'2         ?                       possible intended match
# |           271:  %ec = icmp eq i64 %iv, 100 
# | next:836'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           272:  br i1 %ec, label %for.end, label %loop, !llvm.loop !14 
# | next:836'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           273:  
# | next:836'0     ~
# |           274: for.end: ; preds = %loop.latch 
# | next:836'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           275:  ret void 
# | next:836'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/170053


More information about the llvm-commits mailing list