[clang] [llvm] struct to vector test (PR #197823)
via cfe-commits
cfe-commits at lists.llvm.org
Thu May 14 15:55:18 PDT 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results
* 174317 tests passed
* 3343 tests skipped
* 7 tests failed
## Failed Tests
(click on a test name to see its output)
### LLVM
<details>
<summary>LLVM.DebugInfo/Generic/assignment-tracking/sroa/user-memcpy.ll</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=sroa -S /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/user-memcpy.ll -o - | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/user-memcpy.ll --implicit-check-not="#dbg_"
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=sroa -S /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/user-memcpy.ll -o -
# 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/DebugInfo/Generic/assignment-tracking/sroa/user-memcpy.ll '--implicit-check-not=#dbg_'
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/user-memcpy.ll:25:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: #dbg_value(<2 x i64> zeroinitializer, ![[point:[0-9]+]], !DIExpression(DW_OP_LLVM_fragment, 0, 128), !{{[0-9]+}})
# | ^
# | <stdin>:11:7: note: scanning from here
# | entry:
# | ^
# | <stdin>:12:2: note: possible intended match here
# | #dbg_value(i64 0, !105, !DIExpression(DW_OP_LLVM_fragment, 0, 64), !113)
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/user-memcpy.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 6: %struct.V3i = type { i64, i64, i64 }
# | 7:
# | 8: @__const._Z3funv.other = private unnamed_addr constant %struct.V3i { i64 10, i64 9, i64 8 }, align 8
# | 9:
# | 10: define dso_local void @_Z3funv() !dbg !101 {
# | 11: entry:
# | next:25'0 X error: no match found
# | 12: #dbg_value(i64 0, !105, !DIExpression(DW_OP_LLVM_fragment, 0, 64), !113)
# | next:25'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:25'1 ? possible intended match
# | 13: #dbg_value(i64 0, !105, !DIExpression(DW_OP_LLVM_fragment, 64, 64), !113)
# | next:25'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 14: #dbg_value(i64 5000, !105, !DIExpression(DW_OP_LLVM_fragment, 128, 64), !114)
# | next:25'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 15: %other.sroa.0.0.copyload = load i64, ptr @__const._Z3funv.other, align 8, !dbg !115
# | next:25'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 16: %other.sroa.2.0.copyload = load i64, ptr getelementptr inbounds (i8, ptr @__const._Z3funv.other, i64 8), align 8, !dbg !115
# | next:25'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 17: %other.sroa.3.0.copyload = load i64, ptr getelementptr inbounds (i8, ptr @__const._Z3funv.other, i64 16), align 8, !dbg !115
# | next:25'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>LLVM.DebugInfo/Generic/sroa-alloca-offset.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/DebugInfo/Generic/sroa-alloca-offset.ll -passes=sroa -S | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/DebugInfo/Generic/sroa-alloca-offset.ll --check-prefixes=COMMON,OLD
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/DebugInfo/Generic/sroa-alloca-offset.ll -passes=sroa -S
# 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/DebugInfo/Generic/sroa-alloca-offset.ll --check-prefixes=COMMON,OLD
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/DebugInfo/Generic/sroa-alloca-offset.ll:145:16: error: COMMON-NEXT: is not on the line after the previous match
# | ; COMMON-NEXT: %[[ve:.*]] = load i32, ptr @gf, align 4{{.*}}
# | ^
# | <stdin>:43:2: note: 'next' match was here
# | %.sroa.0.0.copyload = load i32, ptr @gf, align 4, !dbg !39
# | ^
# | <stdin>:40:7: note: previous match ended here
# | entry:
# | ^
# | <stdin>:41:1: note: non-matching line after previous match is here
# | %.sroa.2 = alloca %struct.two, align 8
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/DebugInfo/Generic/sroa-alloca-offset.ll:217:18: error: undefined variable: e
# | ; COMMON-DAG: ![[e]] = !DILocalVariable(name: "e",
# | ^
# | <stdin>:112:2: note: possible intended match here
# | !40 = !DILocalVariable(name: "e", scope: !35, file: !3, line: 9, type: !38)
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/DebugInfo/Generic/sroa-alloca-offset.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 38:
# | 39: define dso_local noundef i32 @_Z4fun3v() !dbg !35 {
# | 40: entry:
# | 41: %.sroa.2 = alloca %struct.two, align 8
# | 42: #dbg_declare(ptr %.sroa.2, !37, !DIExpression(), !39)
# | 43: %.sroa.0.0.copyload = load i32, ptr @gf, align 4, !dbg !39
# | next:145 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: match on wrong line
# | 44: #dbg_value(i32 %.sroa.0.0.copyload, !40, !DIExpression(DW_OP_plus_uconst, 2), !41)
# | 45: %.sroa.1.0.copyload = load i32, ptr getelementptr inbounds (i8, ptr @gf, i64 4), align 4, !dbg !39
# | 46: #dbg_value(i32 %.sroa.1.0.copyload, !42, !DIExpression(), !41)
# | 47: #dbg_value(i32 %.sroa.1.0.copyload, !43, !DIExpression(DW_OP_plus_uconst, 2), !41)
# | 48: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %.sroa.2, ptr align 4 getelementptr inbounds (i8, ptr @gf, i64 8), i64 8, i1 false), !dbg !39
# | 49: ret i32 %.sroa.1.0.copyload, !dbg !39
# | 50: }
# | 51:
# | 52: define dso_local noundef i32 @fun4(i64 %0) !dbg !44 {
# | 53: entry:
# | 54: %p.sroa.0.8.extract.trunc = trunc i64 %0 to i32
# | 55: #dbg_value(i32 %p.sroa.0.8.extract.trunc, !45, !DIExpression(DW_OP_LLVM_extract_bits_zext, 0, 32), !46)
# | 56: #dbg_value(i32 %p.sroa.0.8.extract.trunc, !47, !DIExpression(DW_OP_LLVM_extract_bits_zext, 16, 8), !46)
# | 57: #dbg_value(i32 %p.sroa.0.8.extract.trunc, !48, !DIExpression(DW_OP_plus_uconst, 2, DW_OP_LLVM_extract_bits_zext, 8, 8), !46)
# | dag:217'0 X~~~~~~ error: match failed for invalid pattern
# | dag:217'1 undefined variable: e
# | 58: %p.sroa.2.8.extract.shift = lshr i64 %0, 32
# | dag:217'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 59: %p.sroa.2.8.extract.trunc = trunc i64 %p.sroa.2.8.extract.shift to i32
# | dag:217'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 60: ret i32 %p.sroa.0.8.extract.trunc
# | dag:217'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 61: }
# | dag:217'0 ~~
# | 62:
# | dag:217'0 ~
# | .
# | .
# | .
# | 107: !35 = distinct !DISubprogram(name: "fun3", linkageName: "_Z4fun3v", scope: !3, file: !3, line: 8, type: !20, scopeLine: 8, flags: DIFlagPrototyped | DIFlagAllCallsDescribed, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !2, retainedNodes: !36)
# | dag:217'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 108: !36 = !{}
# | dag:217'0 ~~~~~~~~~~
# | 109: !37 = !DILocalVariable(name: "h", scope: !35, file: !3, line: 9, type: !38)
# | dag:217'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 110: !38 = !DIBasicType(name: "short", size: 16, encoding: DW_ATE_signed)
# | dag:217'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 111: !39 = !DILocation(line: 9, column: 9, scope: !35)
# | dag:217'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 112: !40 = !DILocalVariable(name: "e", scope: !35, file: !3, line: 9, type: !38)
# | dag:217'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | dag:217'2 ? possible intended match
# | 113: !41 = !DILocation(line: 0, scope: !35)
# | dag:217'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 114: !42 = !DILocalVariable(name: "f", scope: !35, file: !3, line: 9, type: !38)
# | dag:217'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 115: !43 = !DILocalVariable(name: "g", scope: !35, file: !3, line: 9, type: !38)
# | dag:217'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 116: !44 = distinct !DISubprogram(name: "fun4", linkageName: "_Z4fun4v", scope: !3, file: !3, line: 8, type: !20, scopeLine: 8, flags: DIFlagPrototyped | DIFlagAllCallsDescribed, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !2, retainedNodes: !36)
# | dag:217'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 117: !45 = !DILocalVariable(name: "p", scope: !44, file: !3, line: 9, type: !13)
# | dag:217'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>LLVM.Transforms/SROA/struct-to-vector-before-memcpyopt.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='sroa,memcpyopt,dse,instcombine,sroa<canonicalize-struct-to-vector>' -S /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/SROA/struct-to-vector-before-memcpyopt.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/SROA/struct-to-vector-before-memcpyopt.ll --check-prefix=DELAYED
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt '-passes=sroa,memcpyopt,dse,instcombine,sroa<canonicalize-struct-to-vector>' -S /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/SROA/struct-to-vector-before-memcpyopt.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/SROA/struct-to-vector-before-memcpyopt.ll --check-prefix=DELAYED
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/SROA/struct-to-vector-before-memcpyopt.ll:37:17: error: DELAYED-NEXT: expected string not found in input
# | ; DELAYED-NEXT: [[TMP_SROA_0_0_COPYLOAD:%.*]] = load <2 x i64>, ptr [[OTHER]], align 8
# | ^
# | <stdin>:11:7: note: scanning from here
# | entry:
# | ^
# | <stdin>:11:7: note: with "OTHER" equal to "%other"
# | entry:
# | ^
# | <stdin>:12:25: note: possible intended match here
# | %tmp.sroa.0.0.copyload = load <16 x i8>, ptr %other, align 8
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/SROA/struct-to-vector-before-memcpyopt.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 6:
# | 7: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: write)
# | 8: declare void @llvm.memset.p0.i64(ptr writeonly captures(none), i8, i64, i1 immarg) #1
# | 9:
# | 10: define void @move_then_swap(ptr %dst, ptr %src, ptr %other) {
# | 11: entry:
# | next:37'0 X error: no match found
# | next:37'1 with "OTHER" equal to "%other"
# | 12: %tmp.sroa.0.0.copyload = load <16 x i8>, ptr %other, align 8
# | next:37'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:37'2 ? possible intended match
# | 13: call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %other, ptr noundef nonnull align 8 dereferenceable(16) %src, i64 16, i1 false)
# | next:37'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 14: store <16 x i8> %tmp.sroa.0.0.copyload, ptr %dst, align 8
# | next:37'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 15: ret void
# | next:37'0 ~~~~~~~~~~
# | 16: }
# | next:37'0 ~~
# | 17:
# | next:37'0 ~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>LLVM.Transforms/SROA/struct-to-vector-fp-store-only-tail.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='sroa,gvn,instcombine,memcpyopt,sroa' -S /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/SROA/struct-to-vector-fp-store-only-tail.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/SROA/struct-to-vector-fp-store-only-tail.ll --check-prefixes=NO-CANON
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=sroa,gvn,instcombine,memcpyopt,sroa -S /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/SROA/struct-to-vector-fp-store-only-tail.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/SROA/struct-to-vector-fp-store-only-tail.ll --check-prefixes=NO-CANON
# note: command had no output on stdout or stderr
# RUN: at line 3
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes='sroa<canonicalize-struct-to-vector>,gvn,instcombine,memcpyopt,sroa' -S /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/SROA/struct-to-vector-fp-store-only-tail.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/SROA/struct-to-vector-fp-store-only-tail.ll --check-prefixes=CANON
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt '-passes=sroa<canonicalize-struct-to-vector>,gvn,instcombine,memcpyopt,sroa' -S /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/SROA/struct-to-vector-fp-store-only-tail.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/SROA/struct-to-vector-fp-store-only-tail.ll --check-prefixes=CANON
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/SROA/struct-to-vector-fp-store-only-tail.ll:29:15: error: CANON-NEXT: expected string not found in input
# | ; CANON-NEXT: store <4 x float> poison, ptr null, align 1
# | ^
# | <stdin>:7:35: note: scanning from here
# | define ptr @store_only_fp_tail() {
# | ^
# | <stdin>:8:2: note: possible intended match here
# | store <4 x i32> poison, ptr null, align 1
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/SROA/struct-to-vector-fp-store-only-tail.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | 1: ; ModuleID = '/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/SROA/struct-to-vector-fp-store-only-tail.ll'
# | 2: source_filename = "/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/SROA/struct-to-vector-fp-store-only-tail.ll"
# | 3:
# | 4: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
# | 5: declare void @llvm.memcpy.p0.p0.i64(ptr noalias writeonly captures(none), ptr noalias readonly captures(none), i64, i1 immarg) #0
# | 6:
# | 7: define ptr @store_only_fp_tail() {
# | next:29'0 X error: no match found
# | 8: store <4 x i32> poison, ptr null, align 1
# | next:29'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:29'1 ? possible intended match
# | 9: store float 0.000000e+00, ptr inttoptr (i64 16 to ptr), align 1
# | next:29'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 10: ret ptr null
# | next:29'0 ~~~~~~~~~~~~~~
# | 11: }
# | next:29'0 ~~
# | 12:
# | next:29'0 ~
# | 13: attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
# | next:29'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>LLVM.Transforms/SROA/struct-to-vector-subpartition.ll</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes='sroa<canonicalize-struct-to-vector>' -S /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/SROA/struct-to-vector-subpartition.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/SROA/struct-to-vector-subpartition.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt '-passes=sroa<canonicalize-struct-to-vector>' -S /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/SROA/struct-to-vector-subpartition.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/SROA/struct-to-vector-subpartition.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/SROA/struct-to-vector-subpartition.ll:11:10: error: CHECK: expected string not found in input
# | ; CHECK: %a.sroa.6.0.copyload = load <2 x i64>, ptr %a.sroa.6.0.src.sroa_idx, align 8
# | ^
# | <stdin>:4:37: note: scanning from here
# | define void @test_subpartition_type(ptr %src, ptr %dst) {
# | ^
# | <stdin>:10:2: note: possible intended match here
# | %a.sroa.6.0.copyload = load <16 x i8>, ptr %a.sroa.6.0.src.sroa_idx, align 8
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/SROA/struct-to-vector-subpartition.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | 1: ; ModuleID = '/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/SROA/struct-to-vector-subpartition.ll'
# | 2: source_filename = "/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/SROA/struct-to-vector-subpartition.ll"
# | 3:
# | 4: define void @test_subpartition_type(ptr %src, ptr %dst) {
# | check:11'0 X~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | 5: entry:
# | check:11'0 ~~~~~~~
# | 6: %a.sroa.0.0.copyload = load ptr, ptr %src, align 8
# | check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 7: %a.sroa.5.0.src.sroa_idx = getelementptr inbounds i8, ptr %src, i64 8
# | check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 8: %a.sroa.5.0.copyload = load i64, ptr %a.sroa.5.0.src.sroa_idx, align 8
# | check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 9: %a.sroa.6.0.src.sroa_idx = getelementptr inbounds i8, ptr %src, i64 16
# | check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 10: %a.sroa.6.0.copyload = load <16 x i8>, ptr %a.sroa.6.0.src.sroa_idx, align 8
# | check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:11'1 ? possible intended match
# | 11: store ptr %a.sroa.0.0.copyload, ptr %dst, align 8
# | check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 12: %a.sroa.5.0.dst.sroa_idx = getelementptr inbounds i8, ptr %dst, i64 8
# | check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 13: store i64 %a.sroa.5.0.copyload, ptr %a.sroa.5.0.dst.sroa_idx, align 8
# | check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 14: %a.sroa.6.0.dst.sroa_idx = getelementptr inbounds i8, ptr %dst, i64 16
# | check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 15: store <16 x i8> %a.sroa.6.0.copyload, ptr %a.sroa.6.0.dst.sroa_idx, align 8
# | check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>LLVM.Transforms/SROA/struct-to-vector.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='sroa<canonicalize-struct-to-vector>,gvn,instcombine,simplifycfg' -S /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/SROA/struct-to-vector.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/SROA/struct-to-vector.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt '-passes=sroa<canonicalize-struct-to-vector>,gvn,instcombine,simplifycfg' -S /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/SROA/struct-to-vector.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/SROA/struct-to-vector.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/SROA/struct-to-vector.ll:119:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[ZERO:%.*]] = alloca [[STRUCT_PADDED]], align 4
# | ^
# | <stdin>:32:40: note: scanning from here
# | %temp = alloca %struct.padded, align 4
# | ^
# | <stdin>:32:40: note: with "STRUCT_PADDED" equal to "%struct.padded"
# | %temp = alloca %struct.padded, align 4
# | ^
# | <stdin>:34:12: note: possible intended match here
# | store i32 %a0, ptr %temp, align 4
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/SROA/struct-to-vector.ll:270:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[TEMP:%.*]] = alloca [[STRUCT_I1X4:%.*]], align 1
# | ^
# | <stdin>:76:7: note: scanning from here
# | entry:
# | ^
# | <stdin>:77:26: note: possible intended match here
# | store <4 x i8> zeroinitializer, ptr %x, align 1
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/SROA/struct-to-vector.ll:337:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[DATA_SROA_0_0_COPYLOAD_PRE:%.*]] = load <4 x ptr>, ptr [[TEMP]], align 8
# | ^
# | <stdin>:92:40: note: scanning from here
# | %tobool.ptr.not = icmp eq i32 %cond, 0
# | ^
# | <stdin>:92:40: note: with "TEMP" equal to "%temp"
# | %tobool.ptr.not = icmp eq i32 %cond, 0
# | ^
# | <stdin>:93:28: note: possible intended match here
# | %data.sroa.0.0.copyload.pre = load <32 x i8>, ptr %temp, align 8
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/SROA/struct-to-vector.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 27: ret void
# | 28: }
# | 29:
# | 30: define dso_local void @foo_padded(ptr noundef %x, i32 %a0, i8 %a1, i32 %a2, i8 %a3, i32 noundef %cond) {
# | 31: entry:
# | 32: %temp = alloca %struct.padded, align 4
# | next:119'0 X error: no match found
# | next:119'1 with "STRUCT_PADDED" equal to "%struct.padded"
# | 33: call void @llvm.lifetime.start.p0(ptr nonnull %temp)
# | next:119'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 34: store i32 %a0, ptr %temp, align 4
# | next:119'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:119'2 ? possible intended match
# | 35: %temp.4.temp.sroa_idx = getelementptr inbounds nuw i8, ptr %temp, i64 4
# | next:119'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 36: store i8 %a1, ptr %temp.4.temp.sroa_idx, align 4
# | next:119'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 37: %temp.8.temp.sroa_idx = getelementptr inbounds nuw i8, ptr %temp, i64 8
# | next:119'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 38: store i32 %a2, ptr %temp.8.temp.sroa_idx, align 4
# | next:119'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 39: %temp.12.temp.sroa_idx = getelementptr inbounds nuw i8, ptr %temp, i64 12
# | next:119'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 71: call void @llvm.lifetime.end.p0(ptr nonnull %temp)
# | 72: ret void
# | 73: }
# | 74:
# | 75: define dso_local void @foo_i1(ptr noundef %x, i64 %dummy0, i64 %dummy1, i32 noundef %cond) {
# | 76: entry:
# | next:270'0 X error: no match found
# | 77: store <4 x i8> zeroinitializer, ptr %x, align 1
# | next:270'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:270'1 ? possible intended match
# | 78: ret void
# | next:270'0 ~~~~~~~~~~
# | 79: }
# | next:270'0 ~~
# | 80:
# | next:270'0 ~
# | 81: define dso_local void @foo_ptr(ptr noundef %x, ptr %p0, ptr %p1, ptr %p2, ptr %p3, i32 noundef %cond) {
# | next:270'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 82: entry:
# | .
# | .
# | .
# | 87: store ptr %p1, ptr %temp.8.temp.sroa_idx, align 8
# | 88: %temp.16.temp.sroa_idx = getelementptr inbounds nuw i8, ptr %temp, i64 16
# | 89: store ptr %p2, ptr %temp.16.temp.sroa_idx, align 8
# | 90: %temp.24.temp.sroa_idx = getelementptr inbounds nuw i8, ptr %temp, i64 24
# | 91: store ptr %p3, ptr %temp.24.temp.sroa_idx, align 8
# | 92: %tobool.ptr.not = icmp eq i32 %cond, 0
# | next:337'0 X error: no match found
# | next:337'1 with "TEMP" equal to "%temp"
# | 93: %data.sroa.0.0.copyload.pre = load <32 x i8>, ptr %temp, align 8
# | next:337'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:337'2 ? possible intended match
# | 94: %data.sroa.0.0.copyload = select i1 %tobool.ptr.not, <32 x i8> zeroinitializer, <32 x i8> %data.sroa.0.0.copyload.pre
# | next:337'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 95: store <32 x i8> %data.sroa.0.0.copyload, ptr %x, align 8
# | next:337'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 96: call void @llvm.lifetime.end.p0(ptr nonnull %temp)
# | next:337'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 97: ret void
# | next:337'0 ~~~~~~~~~~
# | 98: }
# | next:337'0 ~~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
### Clang
<details>
<summary>Clang.CodeGenOpenCL/nullptr.cl</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang -cc1 -internal-isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/lib/clang/23/include -nostdsysteminc -no-enable-noundef-analysis /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGenOpenCL/nullptr.cl -cl-std=CL2.0 -include opencl-c.h -triple spir64 -emit-llvm -o - -Wno-void-pointer-to-int-cast -Wno-pointer-to-int-cast -Wno-int-to-pointer-cast | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGenOpenCL/nullptr.cl --check-prefixes=CHECK,SPIR64
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang -cc1 -internal-isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/lib/clang/23/include -nostdsysteminc -no-enable-noundef-analysis /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGenOpenCL/nullptr.cl -cl-std=CL2.0 -include opencl-c.h -triple spir64 -emit-llvm -o - -Wno-void-pointer-to-int-cast -Wno-pointer-to-int-cast -Wno-int-to-pointer-cast
# 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/clang/test/CodeGenOpenCL/nullptr.cl --check-prefixes=CHECK,SPIR64
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGenOpenCL/nullptr.cl:600:12: error: SPIR64: expected string not found in input
# | // SPIR64: store <4 x i64> zeroinitializer, ptr %ptr, align 8
# | ^
# | <stdin>:526:53: note: scanning from here
# | define dso_local spir_func void @test_memset_private(ptr writeonly captures(none) initializes((0, 40)) %ptr) local_unnamed_addr #2 {
# | ^
# | <stdin>:529:37: note: possible intended match here
# | %S3.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %ptr, i64 32
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CodeGenOpenCL/nullptr.cl
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 521: if.end: ; preds = %if.then, %entry
# | 522: ret void
# | 523: }
# | 524:
# | 525: ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: write)
# | 526: define dso_local spir_func void @test_memset_private(ptr writeonly captures(none) initializes((0, 40)) %ptr) local_unnamed_addr #2 {
# | check:600'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | 527: entry:
# | check:600'0 ~~~~~~~
# | 528: tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %ptr, i8 0, i64 32, i1 false)
# | check:600'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 529: %S3.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %ptr, i64 32
# | check:600'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:600'1 ? possible intended match
# | 530: store ptr addrspacecast (ptr addrspace(4) null to ptr), ptr %S3.sroa.4.0..sroa_idx, align 8, !tbaa !7
# | check:600'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 531: ret void
# | check:600'0 ~~~~~~~~~~
# | 532: }
# | check:600'0 ~~
# | 533:
# | check:600'0 ~
# | 534: ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none)
# | check:600'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# 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/197823
More information about the cfe-commits
mailing list