[llvm] [SLP] Allow strided memory operations with lengths equal to MinProfitableStridedOps (PR #194506)
via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 27 18:46:39 PDT 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results
* 133989 tests passed
* 3176 tests skipped
* 1 test failed
## Failed Tests
(click on a test name to see its output)
### LLVM
<details>
<summary>LLVM.Transforms/SLPVectorizer/RISCV/complex-loads.ll</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\opt.exe -S -mtriple riscv64-unknown-linux-gnu < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\SLPVectorizer\RISCV\complex-loads.ll --passes=slp-vectorizer -mattr=+v | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\SLPVectorizer\RISCV\complex-loads.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' -S -mtriple riscv64-unknown-linux-gnu --passes=slp-vectorizer -mattr=+v
# 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\SLPVectorizer\RISCV\complex-loads.ll'
# note: command had no output on stdout or stderr
# RUN: at line 3
c:\_work\llvm-project\llvm-project\build\bin\opt.exe -S -mtriple riscv64-unknown-linux-gnu < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\SLPVectorizer\RISCV\complex-loads.ll --passes=slp-vectorizer -mattr=+v -slp-threshold=-15 | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\SLPVectorizer\RISCV\complex-loads.ll --check-prefix=THR15
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' -S -mtriple riscv64-unknown-linux-gnu --passes=slp-vectorizer -mattr=+v -slp-threshold=-15
# 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\SLPVectorizer\RISCV\complex-loads.ll' --check-prefix=THR15
# note: command had no output on stdout or stderr
# RUN: at line 4
c:\_work\llvm-project\llvm-project\build\bin\opt.exe -S -mtriple riscv64-unknown-linux-gnu < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\SLPVectorizer\RISCV\complex-loads.ll --passes=slp-vectorizer -mattr=+v,+unaligned-vector-mem | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\SLPVectorizer\RISCV\complex-loads.ll --check-prefix=UNALIGNED_VEC_MEM
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' -S -mtriple riscv64-unknown-linux-gnu --passes=slp-vectorizer -mattr=+v,+unaligned-vector-mem
# 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\SLPVectorizer\RISCV\complex-loads.ll' --check-prefix=UNALIGNED_VEC_MEM
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\SLPVectorizer\RISCV\complex-loads.ll:292:27: error: UNALIGNED_VEC_MEM-NEXT: is not on the line after the previous match
# | ; UNALIGNED_VEC_MEM-NEXT: [[TMP2:%.*]] = load <4 x i8>, ptr [[PIX1]], align 1
# | ^
# | <stdin>:23:2: note: 'next' match was here
# | %3 = load <4 x i8>, ptr %pix1, align 1
# | ^
# | <stdin>:21:33: note: previous match ended here
# | %1 = load i8, ptr null, align 1
# | ^
# | <stdin>:22:1: note: non-matching line after previous match is here
# | %2 = load <4 x i8>, ptr %arrayidx3, align 1
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\Transforms\SLPVectorizer\RISCV\complex-loads.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 18: %arrayidx3.3 = getelementptr i8, ptr null, i64 4
# | 19: %arrayidx5.3 = getelementptr i8, ptr null, i64 4
# | 20: %0 = load i8, ptr null, align 1
# | 21: %1 = load i8, ptr null, align 1
# | 22: %2 = load <4 x i8>, ptr %arrayidx3, align 1
# | 23: %3 = load <4 x i8>, ptr %pix1, align 1
# | next:292 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: match on wrong line
# | 24: %4 = load <4 x i8>, ptr %pix2, align 1
# | 25: %5 = load <4 x i8>, ptr %arrayidx5, align 1
# | 26: %6 = zext <4 x i8> %3 to <4 x i32>
# | 27: %7 = zext <4 x i8> %4 to <4 x i32>
# | 28: %8 = sub <4 x i32> %6, %7
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# 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/194506
More information about the llvm-commits
mailing list