[llvm] [VPlan] - Generalize dead cycle removal in removeDeadRecipes. (PR #213632)

via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 24 04:35:17 PDT 2026


github-actions[bot] wrote:

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

* 181164 tests passed
* 3715 tests skipped
* 1 test failed

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

### LLVM
<details>
<summary>LLVM.Transforms/LoopVectorize/epilog-vectorization-anyof-no-rdx-result.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-vectorize -force-vector-width=4    -enable-epilogue-vectorization -epilogue-vectorization-force-VF=2 -S /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/epilog-vectorization-anyof-no-rdx-result.ll    | /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/epilog-vectorization-anyof-no-rdx-result.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-vectorize -force-vector-width=4 -enable-epilogue-vectorization -epilogue-vectorization-force-VF=2 -S /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/epilog-vectorization-anyof-no-rdx-result.ll
# 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/epilog-vectorization-anyof-no-rdx-result.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/epilog-vectorization-anyof-no-rdx-result.ll:80:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[TMP0:%.*]] = urem i32 [[SMAX]], 4
# |               ^
# | <stdin>:68:11: note: scanning from here
# | vector.ph: ; preds = %vector.main.loop.iter.check
# |           ^
# | <stdin>:68:11: note: with "SMAX" equal to "%smax"
# | vector.ph: ; preds = %vector.main.loop.iter.check
# |           ^
# | <stdin>:68:11: note: pattern attempts to capture variables: "TMP0"
# | vector.ph: ; preds = %vector.main.loop.iter.check
# |           ^
# | <stdin>:88:18: note: possible intended match here
# |  %vec.epilog.resume.val = phi i32 [ %n.vec, %vec.epilog.iter.check ], [ 0, %vector.main.loop.iter.check ]
# |                  ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/epilog-vectorization-anyof-no-rdx-result.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |            .
# |            .
# |            .
# |           63:  
# |           64: vector.main.loop.iter.check: ; preds = %iter.check 
# |           65:  %min.iters.check1 = icmp ult i32 %smax, 4 
# |           66:  br i1 %min.iters.check1, label %vec.epilog.ph, label %vector.ph 
# |           67:  
# |           68: vector.ph: ; preds = %vector.main.loop.iter.check 
# | next:80'0              {                                          search range start (exclusive)
# | next:80'1                                                         error: no match found in search range
# | next:80'2                                                         with "SMAX" equal to "%smax"
# | next:80'3                                                         pattern attempts to capture variables: "TMP0"
# |           69:  %0 = and i32 %smax, 3 
# |           70:  %n.vec = sub i32 %smax, %0 
# |           71:  br label %vector.body 
# |           72:  
# |           73: vector.body: ; preds = %vector.body, %vector.ph 
# |            .
# |            .
# |            .
# |           83: vec.epilog.iter.check: ; preds = %middle.block 
# |           84:  %min.epilog.iters.check = icmp ult i32 %0, 2 
# |           85:  br i1 %min.epilog.iters.check, label %vec.epilog.scalar.ph, label %vec.epilog.ph, !prof !3 
# |           86:  
# |           87: vec.epilog.ph: ; preds = %vector.main.loop.iter.check, %vec.epilog.iter.check 
# |           88:  %vec.epilog.resume.val = phi i32 [ %n.vec, %vec.epilog.iter.check ], [ 0, %vector.main.loop.iter.check ] 
# | next:80'4                      ?                                                                                          possible intended match
# |           89:  %2 = and i32 %smax, 1 
# |           90:  %n.vec2 = sub i32 %smax, %2 
# |           91:  br label %vec.epilog.vector.body 
# |           92:  
# |           93: vec.epilog.vector.body: ; preds = %vec.epilog.vector.body, %vec.epilog.ph 
# |            .
# |            .
# |            .
# |          137: !3 = !{!"branch_weights", i32 2, i32 2} 
# |          138: !4 = distinct !{!4, !1, !2} 
# |          139: !5 = distinct !{!5, !2, !1} 
# |          140: !6 = distinct !{!6, !1, !2} 
# |          141: !7 = distinct !{!7, !1, !2} 
# |          142: !8 = distinct !{!8, !2, !1} 
# | next:80'5                                 } 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/213632


More information about the llvm-commits mailing list