17 lines · c
1// RUN: %clang_cc1 -fpass-by-value-is-noalias -triple arm64-apple-iphoneos -emit-llvm -disable-llvm-optzns %s -o - 2>&1 | FileCheck --check-prefix=WITH_NOALIAS %s2// RUN: %clang_cc1 -triple arm64-apple-iphoneos -emit-llvm -disable-llvm-optzns %s -o - 2>&1 | FileCheck --check-prefix=NO_NOALIAS %s3 4// A struct large enough so it is not passed in registers on ARM64.5struct Foo {6 int a;7 int b;8 int c;9 int d;10 int e;11 int f;12};13 14// WITH_NOALIAS: define{{.*}} void @take(ptr dead_on_return noalias noundef %arg)15// NO_NOALIAS: define{{.*}} void @take(ptr dead_on_return noundef %arg)16void take(struct Foo arg) {}17