[llvm] [FunctionAttrs] Add the "initializes" attribute inference (PR #97373)

LLVM Continuous Integration via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 18 21:47:26 PST 2024


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `premerge-monolithic-linux` running on `premerge-linux-1` while building `llvm` at step 7 "test-build-unified-tree-check-all".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/153/builds/15052

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 7 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'Clang :: CodeGen/AArch64/pure-scalable-args.c' FAILED ********************
Exit Code: 1

Command Output (stderr):
--
RUN: at line 1: /build/buildbot/premerge-monolithic-linux/build/bin/clang -cc1 -internal-isystem /build/buildbot/premerge-monolithic-linux/build/lib/clang/20/include -nostdsysteminc -O3 -triple aarch64                                  -target-feature +sve -target-feature +sve2p1 -mvscale-min=1 -mvscale-max=1 -emit-llvm -o - /build/buildbot/premerge-monolithic-linux/llvm-project/clang/test/CodeGen/AArch64/pure-scalable-args.c | /build/buildbot/premerge-monolithic-linux/build/bin/FileCheck /build/buildbot/premerge-monolithic-linux/llvm-project/clang/test/CodeGen/AArch64/pure-scalable-args.c --check-prefixes=CHECK,CHECK-AAPCS
+ /build/buildbot/premerge-monolithic-linux/build/bin/FileCheck /build/buildbot/premerge-monolithic-linux/llvm-project/clang/test/CodeGen/AArch64/pure-scalable-args.c --check-prefixes=CHECK,CHECK-AAPCS
+ /build/buildbot/premerge-monolithic-linux/build/bin/clang -cc1 -internal-isystem /build/buildbot/premerge-monolithic-linux/build/lib/clang/20/include -nostdsysteminc -O3 -triple aarch64 -target-feature +sve -target-feature +sve2p1 -mvscale-min=1 -mvscale-max=1 -emit-llvm -o - /build/buildbot/premerge-monolithic-linux/llvm-project/clang/test/CodeGen/AArch64/pure-scalable-args.c
/build/buildbot/premerge-monolithic-linux/llvm-project/clang/test/CodeGen/AArch64/pure-scalable-args.c:311:17: error: CHECK-AAPCS: expected string not found in input
// CHECK-AAPCS: define dso_local void @test_return_big_pst(ptr dead_on_unwind noalias nocapture writable writeonly sret(%struct.BigPST) align 16 %agg.result, ptr nocapture noundef readonly %p)
                ^
<stdin>:376:65: note: scanning from here
define dso_local <vscale x 4 x float> @test_return_small_pst(ptr nocapture noundef readonly %p) local_unnamed_addr #6 {
                                                                ^
<stdin>:384:1: note: possible intended match here
define dso_local void @test_return_big_pst(ptr dead_on_unwind noalias nocapture writable writeonly sret(%struct.BigPST) align 16 initializes((0, 176)) %agg.result, ptr nocapture noundef readonly %p) local_unnamed_addr #7 {
^

Input file: <stdin>
Check file: /build/buildbot/premerge-monolithic-linux/llvm-project/clang/test/CodeGen/AArch64/pure-scalable-args.c

-dump-input=help explains the following input dump.

Input was:
<<<<<<
             .
             .
             .
           371:  %7 = insertvalue <{ <vscale x 16 x i1>, <vscale x 2 x double>, <vscale x 4 x float>, <vscale x 4 x float>, <vscale x 16 x i8>, <vscale x 16 x i1> }> %6, <vscale x 16 x i1> %1, 5 
           372:  ret <{ <vscale x 16 x i1>, <vscale x 2 x double>, <vscale x 4 x float>, <vscale x 4 x float>, <vscale x 16 x i8>, <vscale x 16 x i1> }> %7 
           373: } 
           374:  
           375: ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: read) vscale_range(1,1) 
           376: define dso_local <vscale x 4 x float> @test_return_small_pst(ptr nocapture noundef readonly %p) local_unnamed_addr #6 { 
check:311'0                                                                     X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
           377: entry: 
check:311'0     ~~~~~~~
           378:  %retval.sroa.0.0.copyload = load <4 x float>, ptr %p, align 16, !tbaa !3 
check:311'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           379:  %cast.scalable = tail call <vscale x 4 x float> @llvm.vector.insert.nxv4f32.v4f32(<vscale x 4 x float> undef, <4 x float> %retval.sroa.0.0.copyload, i64 0) 
check:311'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           380:  ret <vscale x 4 x float> %cast.scalable 
check:311'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           381: } 
check:311'0     ~~
           382:  
check:311'0     ~
           383: ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite) vscale_range(1,1) 
check:311'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           384: define dso_local void @test_return_big_pst(ptr dead_on_unwind noalias nocapture writable writeonly sret(%struct.BigPST) align 16 initializes((0, 176)) %agg.result, ptr nocapture noundef readonly %p) local_unnamed_addr #7 { 
...

```

</details>

https://github.com/llvm/llvm-project/pull/97373


More information about the llvm-commits mailing list