[llvm] [VPlan] Optimize pre-increment IV latch users with tail folding (PR #206499)

via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 2 19:08:55 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results

* 176677 tests passed
* 3570 tests skipped
* 1 test failed

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

### LLVM
<details>
<summary>LLVM.Transforms/LoopVectorize/VPlan/buildvector-first-lane-only.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/LoopVectorize/VPlan/buildvector-first-lane-only.ll -p loop-vectorize -force-vector-width=4 -tail-folding-policy=must-fold-tail -force-tail-folding-style=data -vplan-print-after=printFinalVPlan -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/Transforms/LoopVectorize/VPlan/buildvector-first-lane-only.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -p loop-vectorize -force-vector-width=4 -tail-folding-policy=must-fold-tail -force-tail-folding-style=data -vplan-print-after=printFinalVPlan -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/Transforms/LoopVectorize/VPlan/buildvector-first-lane-only.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/VPlan/buildvector-first-lane-only.ll:7:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: Live-in ir<2> = original trip-count
# |               ^
# | <stdin>:2:40: note: scanning from here
# | VPlan 'Final VPlan for VF={4},UF={1}' {
# |                                        ^
# | <stdin>:8:2: note: possible intended match here
# |  EMIT vp<%2> = shl ir<%x>, ir<1>
# |  ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/VPlan/buildvector-first-lane-only.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |           1: VPlan for loop in 'last_active_lane_live_out' after printFinalVPlan 
# |           2: VPlan 'Final VPlan for VF={4},UF={1}' { 
# | next:7'0                                           {   search range start (exclusive)
# | next:7'1                                               error: no match found in search range
# |           3:  
# |           4: ir-bb<entry>: 
# |           5: Successor(s): vector.ph 
# |           6:  
# |           7: vector.ph: 
# |           8:  EMIT vp<%2> = shl ir<%x>, ir<1> 
# | next:7'2      ?                                 possible intended match
# |           9: Successor(s): vector.body 
# |          10:  
# |          11: vector.body: 
# |          12: Successor(s): middle.block 
# |          13:  
# |          14: middle.block: 
# |          15:  EMIT vp<%ind.escape> = sub vp<%2>, ir<%x> 
# |          16: Successor(s): ir-bb<exit> 
# |          17:  
# |          18: ir-bb<exit>: 
# |          19:  IR %red.lcssa = phi i32 [ %red, %loop ] (extra operand: vp<%ind.escape> from middle.block) 
# |          20: No successors 
# |          21: } 
# |          22:  
# | next:7'3      } search range end (exclusive)
# | >>>>>>
# `-----------------------------
# 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/206499


More information about the llvm-commits mailing list