[llvm] [LoopVectorize] Add metadata to distinguish vectorized loop body from scalar remainder (PR #190258)

via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 3 09:23:20 PDT 2026


github-actions[bot] wrote:

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

* 172127 tests passed
* 3105 tests skipped
* 4 tests failed

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

### LLVM
<details>
<summary>LLVM.Transforms/LoopTransformWarning/amdgpu-vectorized-remainder-unroll-warning.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopTransformWarning/amdgpu-vectorized-remainder-unroll-warning.ll -passes='loop-vectorize,loop-unroll,transform-warning' -force-vector-width=4 -force-vector-interleave=1 -disable-output -pass-remarks-missed=transform-warning 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/LoopTransformWarning/amdgpu-vectorized-remainder-unroll-warning.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-vectorize,loop-unroll,transform-warning -force-vector-width=4 -force-vector-interleave=1 -disable-output -pass-remarks-missed=transform-warning
# 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/LoopTransformWarning/amdgpu-vectorized-remainder-unroll-warning.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopTransformWarning/amdgpu-vectorized-remainder-unroll-warning.ll:13:10: error: CHECK: expected string not found in input
# | ; CHECK: warning: {{.*}} scalar remainder loop after vectorization not unrolled: the optimizer was unable to perform the requested transformation
# |          ^
# | <stdin>:1:1: note: scanning from here
# | warning: test.hip:7:3: remainder loop not unrolled: the optimizer was unable to perform the requested transformation; the transformation might be disabled or specified as part of an unsupported transformation ordering
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopTransformWarning/amdgpu-vectorized-remainder-unroll-warning.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |           1: warning: test.hip:7:3: remainder loop not unrolled: the optimizer was unable to perform the requested transformation; the transformation might be disabled or specified as part of an unsupported transformation ordering 
# | check:13     X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopTransformWarning/vectorized-remainder-unroll-warning.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopTransformWarning/vectorized-remainder-unroll-warning.ll -passes='loop-vectorize,transform-warning' -force-vector-width=4 -force-vector-interleave=1 -disable-output -pass-remarks-missed=transform-warning 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/LoopTransformWarning/vectorized-remainder-unroll-warning.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-vectorize,transform-warning -force-vector-width=4 -force-vector-interleave=1 -disable-output -pass-remarks-missed=transform-warning
# 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/LoopTransformWarning/vectorized-remainder-unroll-warning.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopTransformWarning/vectorized-remainder-unroll-warning.ll:15:10: error: CHECK: expected string not found in input
# | ; CHECK: warning: {{.*}} scalar remainder loop after vectorization not unrolled: the optimizer was unable to perform the requested transformation
# |          ^
# | <stdin>:1:118: note: scanning from here
# | warning: test.cpp:7:3: vectorized loop not unrolled: the optimizer was unable to perform the requested transformation; the transformation might be disabled or specified as part of an unsupported transformation ordering
# |                                                                                                                      ^
# | <stdin>:2:1: note: possible intended match here
# | warning: test.cpp:7:3: remainder loop not unrolled: the optimizer was unable to perform the requested transformation; the transformation might be disabled or specified as part of an unsupported transformation ordering
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopTransformWarning/vectorized-remainder-unroll-warning.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             1: warning: test.cpp:7:3: vectorized loop not unrolled: the optimizer was unable to perform the requested transformation; the transformation might be disabled or specified as part of an unsupported transformation ordering 
# | check:15'0                                                                                                                          X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# |             2: warning: test.cpp:7:3: remainder loop not unrolled: the optimizer was unable to perform the requested transformation; the transformation might be disabled or specified as part of an unsupported transformation ordering 
# | check:15'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:15'1     ?                                                                                                                                                                                                                          possible intended match
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopUnroll/remainder-loop-remarks.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopUnroll/remainder-loop-remarks.ll -S -passes=loop-unroll -pass-remarks=loop-unroll -pass-remarks-missed=loop-unroll -unroll-count=4 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/LoopUnroll/remainder-loop-remarks.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -S -passes=loop-unroll -pass-remarks=loop-unroll -pass-remarks-missed=loop-unroll -unroll-count=4
# 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/LoopUnroll/remainder-loop-remarks.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopUnroll/remainder-loop-remarks.ll:6:10: error: CHECK: expected string not found in input
# | ; CHECK: remark: {{.*}}: unrolled scalar remainder loop after vectorization by a factor of 4
# |          ^
# | <stdin>:1:1: note: scanning from here
# | remark: <unknown>:0:0: unrolled remainder loop by a factor of 4
# | ^
# | <stdin>:1:12: note: possible intended match here
# | remark: <unknown>:0:0: unrolled remainder loop by a factor of 4
# |            ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopUnroll/remainder-loop-remarks.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |            1: remark: <unknown>:0:0: unrolled remainder loop by a factor of 4 
# | check:6'0     X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | check:6'1                ?                                                     possible intended match
# |            2: remark: <unknown>:0:0: unrolled vectorized loop by a factor of 4 
# | check:6'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            3: remark: <unknown>:0:0: unrolled loop by a factor of 4 
# | check:6'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            4: ; ModuleID = '<stdin>' 
# | check:6'0     ~~~~~~~~~~~~~~~~~~~~~~~
# |            5: source_filename = "<stdin>" 
# | check:6'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            6:  
# | check:6'0     ~
# |            .
# |            .
# |            .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopUnroll/vectorize-then-unroll-remarks.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopUnroll/vectorize-then-unroll-remarks.ll -S -passes='loop-vectorize,loop-unroll'    -pass-remarks=loop-unroll -pass-remarks-missed=loop-unroll    -force-vector-width=4 -unroll-count=2 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/LoopUnroll/vectorize-then-unroll-remarks.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -S -passes=loop-vectorize,loop-unroll -pass-remarks=loop-unroll -pass-remarks-missed=loop-unroll -force-vector-width=4 -unroll-count=2
# 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/LoopUnroll/vectorize-then-unroll-remarks.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopUnroll/vectorize-then-unroll-remarks.ll:12:14: error: CHECK-DAG: expected string not found in input
# | ; CHECK-DAG: remark: <stdin>:1:1: {{(unrolled scalar remainder loop after vectorization|scalar remainder loop after vectorization is not unrolled)}}
# |              ^
# | <stdin>:1:1: note: scanning from here
# | remark: <stdin>:1:1: unrolled vectorized loop by a factor of 2
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopUnroll/vectorize-then-unroll-remarks.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |         1: remark: <stdin>:1:1: unrolled vectorized loop by a factor of 2 
# | dag:12     X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# |         2: remark: <stdin>:1:1: unrolled remainder loop by a factor of 2 
# | dag:12     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         3: ; ModuleID = '<stdin>' 
# | dag:12     ~~~~~~~~~~~~~~~~~~~~~~~
# |         4: source_filename = "<stdin>" 
# | dag:12     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         5:  
# | dag:12     ~
# |         6: define void @vec_then_unroll(ptr noalias %a, ptr noalias %b, i64 %n) !dbg !4 { 
# | dag:12     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         .
# |         .
# |         .
# | >>>>>>
# `-----------------------------
# 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/190258


More information about the llvm-commits mailing list