[llvm] [SLP] Skip MMRA metadata if instruction can't have it (PR #173319)

via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 22 15:53:41 PST 2025


github-actions[bot] wrote:

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

* 167411 tests passed
* 2973 tests skipped
* 1 test failed

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

### LLVM
<details>
<summary>LLVM.Transforms/SLPVectorizer/X86/propagate-mmra.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=slp-vectorizer -S -mtriple=x86_64-unknown-linux-gnu -slp-vectorize-hor < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/SLPVectorizer/X86/propagate-mmra.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/SLPVectorizer/X86/propagate-mmra.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=slp-vectorizer -S -mtriple=x86_64-unknown-linux-gnu -slp-vectorize-hor
# 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/SLPVectorizer/X86/propagate-mmra.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/SLPVectorizer/X86/propagate-mmra.ll:8:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: [[TMP1:%.*]] = insertelement <2 x float> poison, float [[TMP0]], i32 0
# |               ^
# | <stdin>:10:2: note: 'next' match was here
# |  %2 = insertelement <2 x float> poison, float %0, i32 0
# |  ^
# | <stdin>:8:46: note: previous match ended here
# |  %0 = load float, ptr null, align 4, !mmra !0
# |                                              ^
# | <stdin>:9:1: note: non-matching line after previous match is here
# |  %1 = fmul float %0, 0.000000e+00
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/SLPVectorizer/X86/propagate-mmra.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |         .
# |         .
# |         .
# |         5:  
# |         6: define void @foo() { 
# |         7: .preheader16.preheader: 
# |         8:  %0 = load float, ptr null, align 4, !mmra !0 
# |         9:  %1 = fmul float %0, 0.000000e+00 
# |        10:  %2 = insertelement <2 x float> poison, float %0, i32 0 
# | next:8      !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |        11:  %3 = insertelement <2 x float> %2, float %1, i32 1 
# |        12:  %4 = fadd <2 x float> %3, zeroinitializer 
# |        13:  %5 = select <2 x i1> zeroinitializer, <2 x float> %4, <2 x float> zeroinitializer 
# |        14:  store <2 x float> %5, ptr null, align 16 
# |        15:  ret void 
# |        16: } 
# |        17:  
# |        18: !0 = !{!"scope", !"device"} 
# | >>>>>>
# `-----------------------------
# 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/173319


More information about the llvm-commits mailing list