[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:56:14 PST 2024


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `clang-debian-cpp20` running on `clang-debian-cpp20` while building `llvm` at step 6 "test-build-unified-tree-check-all".

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

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

```
Step 6 (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: /vol/worker/clang-debian-cpp20/clang-debian-cpp20/build/bin/clang -cc1 -internal-isystem /vol/worker/clang-debian-cpp20/clang-debian-cpp20/build/lib/clang/20/include -nostdsysteminc -O3 -triple aarch64                                  -target-feature +sve -target-feature +sve2p1 -mvscale-min=1 -mvscale-max=1 -emit-llvm -o - /vol/worker/clang-debian-cpp20/clang-debian-cpp20/llvm-project/clang/test/CodeGen/AArch64/pure-scalable-args.c | /vol/worker/clang-debian-cpp20/clang-debian-cpp20/build/bin/FileCheck /vol/worker/clang-debian-cpp20/clang-debian-cpp20/llvm-project/clang/test/CodeGen/AArch64/pure-scalable-args.c --check-prefixes=CHECK,CHECK-AAPCS
+ /vol/worker/clang-debian-cpp20/clang-debian-cpp20/build/bin/clang -cc1 -internal-isystem /vol/worker/clang-debian-cpp20/clang-debian-cpp20/build/lib/clang/20/include -nostdsysteminc -O3 -triple aarch64 -target-feature +sve -target-feature +sve2p1 -mvscale-min=1 -mvscale-max=1 -emit-llvm -o - /vol/worker/clang-debian-cpp20/clang-debian-cpp20/llvm-project/clang/test/CodeGen/AArch64/pure-scalable-args.c
+ /vol/worker/clang-debian-cpp20/clang-debian-cpp20/build/bin/FileCheck /vol/worker/clang-debian-cpp20/clang-debian-cpp20/llvm-project/clang/test/CodeGen/AArch64/pure-scalable-args.c --check-prefixes=CHECK,CHECK-AAPCS
/vol/worker/clang-debian-cpp20/clang-debian-cpp20/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: /vol/worker/clang-debian-cpp20/clang-debian-cpp20/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