[llvm] [SROA] Prefer legal integers for aggregate partitions (PR #219134)

via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 27 01:52:15 PDT 2026


github-actions[bot] wrote:

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

* 181366 tests passed
* 3741 tests skipped
* 2 tests failed

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

### LLVM
<details>
<summary>LLVM.CodeGen/NVPTX/lower-byval-args.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/NVPTX/lower-byval-args.ll -mtriple nvptx64 -mcpu=sm_60 -mattr=ptx77 -nvptx-lower-args -S | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/NVPTX/lower-byval-args.ll --check-prefixes=COMMON,LOWER-ARGS,SM_60
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -mtriple nvptx64 -mcpu=sm_60 -mattr=ptx77 -nvptx-lower-args -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/CodeGen/NVPTX/lower-byval-args.ll --check-prefixes=COMMON,LOWER-ARGS,SM_60
# 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 < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/NVPTX/lower-byval-args.ll -mtriple nvptx64 -mcpu=sm_70 -mattr=ptx77 -nvptx-lower-args -S | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/NVPTX/lower-byval-args.ll --check-prefixes=COMMON,LOWER-ARGS,SM_70
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -mtriple nvptx64 -mcpu=sm_70 -mattr=ptx77 -nvptx-lower-args -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/CodeGen/NVPTX/lower-byval-args.ll --check-prefixes=COMMON,LOWER-ARGS,SM_70
# note: command had no output on stdout or stderr
# RUN: at line 4
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/NVPTX/lower-byval-args.ll -mtriple nvptx64 -mcpu=sm_60 -mattr=ptx77 -passes=nvptx-lower-args -S | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/NVPTX/lower-byval-args.ll --check-prefixes=COMMON,LOWER-ARGS,SM_60
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -mtriple nvptx64 -mcpu=sm_60 -mattr=ptx77 -passes=nvptx-lower-args -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/CodeGen/NVPTX/lower-byval-args.ll --check-prefixes=COMMON,LOWER-ARGS,SM_60
# note: command had no output on stdout or stderr
# RUN: at line 5
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/NVPTX/lower-byval-args.ll -mtriple nvptx64 -mcpu=sm_70 -mattr=ptx77 -passes=nvptx-lower-args -S | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/NVPTX/lower-byval-args.ll --check-prefixes=COMMON,LOWER-ARGS,SM_70
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -mtriple nvptx64 -mcpu=sm_70 -mattr=ptx77 -passes=nvptx-lower-args -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/CodeGen/NVPTX/lower-byval-args.ll --check-prefixes=COMMON,LOWER-ARGS,SM_70
# note: command had no output on stdout or stderr
# RUN: at line 6
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/NVPTX/lower-byval-args.ll -mtriple nvptx64 -mcpu=sm_70 -mattr=ptx77 -passes=nvptx-copy-byval-args -S | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/NVPTX/lower-byval-args.ll --check-prefixes=COMMON,COPY
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -mtriple nvptx64 -mcpu=sm_70 -mattr=ptx77 -passes=nvptx-copy-byval-args -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/CodeGen/NVPTX/lower-byval-args.ll --check-prefixes=COMMON,COPY
# note: command had no output on stdout or stderr
# RUN: at line 7
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/NVPTX/lower-byval-args.ll -mcpu=sm_60 -mattr=ptx77 | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/NVPTX/lower-byval-args.ll --check-prefixes=PTX,PTX_60
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mcpu=sm_60 -mattr=ptx77
# 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/CodeGen/NVPTX/lower-byval-args.ll --check-prefixes=PTX,PTX_60
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/NVPTX/lower-byval-args.ll:494:13: error: PTX-NEXT: expected string not found in input
# | ; PTX-NEXT: .reg .b32 %r<23>;
# |             ^
# | <stdin>:290:17: note: scanning from here
# |  .reg .b64 %SPL;
# |                 ^
# | <stdin>:291:2: note: possible intended match here
# |  .reg .b64 %rd<29>;
# |  ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/NVPTX/lower-byval-args.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           285:  .param .align 4 .b8 memcpy_to_param_param_1[8] 
# |           286: ) // @memcpy_to_param 
# |           287: { 
# |           288:  .local .align 8 .b8 __local_depot9[8]; 
# |           289:  .reg .b64 %SP; 
# |           290:  .reg .b64 %SPL; 
# | next:494'0                    {   search range start (exclusive)
# | next:494'1                        error: no match found in search range
# |           291:  .reg .b64 %rd<29>; 
# | next:494'2      ?                    possible intended match
# |           292:  
# |           293: // %bb.0: // %entry 
# |           294:  mov.b64 %SPL, __local_depot9; 
# |           295:  ld.param.b64 %rd1, [memcpy_to_param_param_0]; 
# |           296:  cvta.to.global.u64 %rd2, %rd1; 
# |             .
# |             .
# |             .
# |           324:  st.local.b64 [%SPL], %rd28; 
# |           325:  ret; 
# |           326:  // -- End function 
# |           327: } 
# |           328:  // .globl copy_on_store // -- Begin function copy_on_store 
# |           329: .visible .entry copy_on_store( 
# | next:494'3                                   }  search range end (exclusive)
# |           330:  .param .u64 .ptr .align 1 copy_on_store_param_0, 
# |           331:  .param .align 4 .b8 copy_on_store_param_1[8], 
# |           332:  .param .u8 copy_on_store_param_2 
# |           333: ) // @copy_on_store 
# |           334: { 
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/SROA/tbaa-struct3.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -p sroa -S /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/SROA/tbaa-struct3.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/tbaa-struct3.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -p sroa -S /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/SROA/tbaa-struct3.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/tbaa-struct3.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/SROA/tbaa-struct3.ll:76:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[TMP:%.*]] = alloca { i31, i31 }, align 4
# |               ^
# | <stdin>:37:7: note: scanning from here
# | entry:
# |       ^
# | <stdin>:37:7: note: pattern attempts to capture variables: "TMP"
# | entry:
# |       ^
# | <stdin>:38:9: note: possible intended match here
# |  %tmp.sroa.0 = alloca i64, align 8
# |         ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/SROA/tbaa-struct3.ll:555:12: error: undefined variable: TBAA_STRUCT4
# | ; CHECK: [[TBAA_STRUCT4]] = !{i64 0, i64 4, [[FLOAT_TBAA0]], i64 4, i64 4, [[FLOAT_TBAA0]]}
# |            ^
# | <stdin>:326:27: note: with "FLOAT_TBAA0" equal to "!0"
# | !3 = !{!"Simple C++ TBAA"}
# |                           ^
# | <stdin>:326:27: note: with "FLOAT_TBAA0" equal to "!0"
# | !3 = !{!"Simple C++ TBAA"}
# |                           ^
# | <stdin>:327:2: note: possible intended match here
# | !4 = !{i64 0, i64 4, !0, i64 4, i64 4, !0}
# |  ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/SROA/tbaa-struct3.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |              .
# |              .
# |              .
# |             32:  store i16 %tmp.sroa.2.0.extract.trunc, ptr %tmp.sroa.2.0.l.ptr.sroa_idx, align 1 
# |             33:  ret void 
# |             34: } 
# |             35:  
# |             36: define void @load_store_transfer_split_struct_tbaa_2_i31(ptr dereferenceable(24) %res, i31 %a, i31 %b) { 
# |             37: entry: 
# | next:76'0            {   search range start (exclusive)
# | next:76'1                error: no match found in search range
# | next:76'2                pattern attempts to capture variables: "TMP"
# |             38:  %tmp.sroa.0 = alloca i64, align 8 
# | next:76'3               ?                            possible intended match
# |             39:  store i31 %a, ptr %tmp.sroa.0, align 8 
# |             40:  %tmp.sroa.0.4.tmp.4.sroa_idx1 = getelementptr inbounds i8, ptr %tmp.sroa.0, i64 4 
# |             41:  store i31 %b, ptr %tmp.sroa.0.4.tmp.4.sroa_idx1, align 4 
# |             42:  %tmp.sroa.0.0.tmp.sroa.0.0.l1 = load i62, ptr %tmp.sroa.0, align 8, !tbaa.struct !4 
# |             43:  store i62 %tmp.sroa.0.0.tmp.sroa.0.0.l1, ptr %res, align 4, !tbaa.struct !4 
# |             44:  ret void 
# |             45: } 
# |             46:  
# |             47: declare <2 x float> @foo(ptr) 
# |             48:  
# |             49: define void @store_vector_part_first(ptr %y2, float %f) { 
# | next:76'4                                            }                      search range end (exclusive)
# |             50:  %v.1 = call <2 x float> @foo(ptr %y2) 
# |             51:  store <2 x float> %v.1, ptr %y2, align 8, !tbaa !5 
# |             52:  %x7.sroa.2.0.y2.sroa_idx = getelementptr inbounds i8, ptr %y2, i64 8 
# |             53:  store float %f, ptr %x7.sroa.2.0.y2.sroa_idx, align 8, !tbaa !0 
# |             54:  ret void 
# |              .
# |              .
# |              .
# |            321: attributes #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: write) } 
# |            322:  
# |            323: !0 = !{!1, !1, i64 0} 
# |            324: !1 = !{!"float", !2, i64 0} 
# |            325: !2 = !{!"omnipotent char", !3, i64 0} 
# |            326: !3 = !{!"Simple C++ TBAA"} 
# | check:555'0                              {   search range start (exclusive)
# | check:555'1                                  error: match failed for invalid pattern
# | check:555'2                                  undefined variable: TBAA_STRUCT4
# | check:555'3                                  with "FLOAT_TBAA0" equal to "!0"
# | check:555'4                                  with "FLOAT_TBAA0" equal to "!0"
# |            327: !4 = !{i64 0, i64 4, !0, i64 4, i64 4, !0} 
# | check:555'5      ?                                           possible intended match
# |            328: !5 = !{!6, !6, i64 0} 
# |            329: !6 = !{!"v2f32", !2, i64 0} 
# | check:555'6                                 } 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/219134


More information about the llvm-commits mailing list