[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:49:22 PST 2024


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `llvm-clang-x86_64-gcc-ubuntu` running on `sie-linux-worker3` while building `llvm` at step 6 "test-build-unified-tree-check-all".

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

<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: /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/clang -cc1 -internal-isystem /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/lib/clang/20/include -nostdsysteminc -O3 -triple aarch64                                  -target-feature +sve -target-feature +sve2p1 -mvscale-min=1 -mvscale-max=1 -emit-llvm -o - /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/clang/test/CodeGen/AArch64/pure-scalable-args.c | /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/FileCheck /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/clang/test/CodeGen/AArch64/pure-scalable-args.c --check-prefixes=CHECK,CHECK-AAPCS
+ /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/clang -cc1 -internal-isystem /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/lib/clang/20/include -nostdsysteminc -O3 -triple aarch64 -target-feature +sve -target-feature +sve2p1 -mvscale-min=1 -mvscale-max=1 -emit-llvm -o - /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/clang/test/CodeGen/AArch64/pure-scalable-args.c
+ /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/FileCheck /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/clang/test/CodeGen/AArch64/pure-scalable-args.c --check-prefixes=CHECK,CHECK-AAPCS
/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/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: /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/clang/test/CodeGen/AArch64/pure-scalable-args.c

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

Input was:
<<<<<<
             1: ; ModuleID = '/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/clang/test/CodeGen/AArch64/pure-scalable-args.c' 
             2: source_filename = "/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/clang/test/CodeGen/AArch64/pure-scalable-args.c" 
             3: target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32" 
             4: target triple = "aarch64" 
             5:  
             6: %struct.PST = type { <2 x i8>, <2 x double>, [2 x <4 x float>], <16 x i8>, <2 x i8> } 
check:52        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             7: %struct.SmallPST = type { <4 x float> } 
             8: %struct.BigPST = type { [2 x %struct.anon], <2 x double> } 
             9: %struct.anon = type { <2 x i8>, [4 x <4 x float>] } 
            10: %struct.__va_list = type { ptr, ptr, ptr, i32, i32 } 
            11:  
            12: ; Function Attrs: nounwind vscale_range(1,1) 
            13: define dso_local void @test_argpass_simple(ptr nocapture noundef readonly %p) local_unnamed_addr #0 { 
check:70        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            14: entry: 
next:71         ^~~~~~
            15:  %0 = load <2 x i8>, ptr %p, align 16 
next:72          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            16:  %cast.scalable = tail call <vscale x 2 x i8> @llvm.vector.insert.nxv2i8.v2i8(<vscale x 2 x i8> undef, <2 x i8> %0, i64 0) 
next:73          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            17:  %1 = bitcast <vscale x 2 x i8> %cast.scalable to <vscale x 16 x i1> 
next:74          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            18:  %2 = getelementptr inbounds nuw i8, ptr %p, i64 16 
next:75          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
...

```

</details>

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


More information about the llvm-commits mailing list