summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/CodeGen/bpf-attr-preserve-access-index-1.c23
-rw-r--r--clang/test/CodeGen/bpf-attr-preserve-access-index-2.c24
-rw-r--r--clang/test/CodeGen/bpf-attr-preserve-access-index-3.c32
-rw-r--r--clang/test/CodeGen/bpf-attr-preserve-access-index-4.c33
-rw-r--r--clang/test/CodeGen/bpf-attr-preserve-access-index-5.c32
-rw-r--r--clang/test/CodeGen/bpf-attr-preserve-access-index-6.c32
-rw-r--r--clang/test/CodeGen/bpf-attr-preserve-access-index-7.c36
-rw-r--r--clang/test/CodeGen/bpf-attr-preserve-access-index-8.c36
-rw-r--r--clang/test/Sema/bpf-attr-preserve-access-index.c48
9 files changed, 0 insertions, 296 deletions
diff --git a/clang/test/CodeGen/bpf-attr-preserve-access-index-1.c b/clang/test/CodeGen/bpf-attr-preserve-access-index-1.c
deleted file mode 100644
index accf6ab2cf9..00000000000
--- a/clang/test/CodeGen/bpf-attr-preserve-access-index-1.c
+++ /dev/null
@@ -1,23 +0,0 @@
-// REQUIRES: bpf-registered-target
-// RUN: %clang -target bpf -emit-llvm -S -g %s -o - | FileCheck %s
-
-#define __reloc__ __attribute__((preserve_access_index))
-
-// test simple member access and initial struct with non-zero stride access
-struct s1 {
- int a;
- union {
- int b;
- int c;
- };
-} __reloc__;
-typedef struct s1 __s1;
-
-int test(__s1 *arg) {
- return arg->a + arg[1].b;
-}
-
-// CHECK: call i32* @llvm.preserve.struct.access.index.p0i32.p0s_struct.s1s(%struct.s1* %{{[0-9a-z]+}}, i32 0, i32 0)
-// CHECK: call %struct.s1* @llvm.preserve.array.access.index.p0s_struct.s1s.p0s_struct.s1s(%struct.s1* %{{[0-9a-z]+}}, i32 0, i32 1)
-// CHECK: call %union.anon* @llvm.preserve.struct.access.index.p0s_union.anons.p0s_struct.s1s(%struct.s1* %{{[0-9a-z]+}}, i32 1, i32 1)
-// CHECK: call %union.anon* @llvm.preserve.union.access.index.p0s_union.anons.p0s_union.anons(%union.anon* %{{[0-9a-z]+}}, i32 0)
diff --git a/clang/test/CodeGen/bpf-attr-preserve-access-index-2.c b/clang/test/CodeGen/bpf-attr-preserve-access-index-2.c
deleted file mode 100644
index a136eeea9f1..00000000000
--- a/clang/test/CodeGen/bpf-attr-preserve-access-index-2.c
+++ /dev/null
@@ -1,24 +0,0 @@
-// REQUIRES: bpf-registered-target
-// RUN: %clang -target bpf -emit-llvm -S -g %s -o - | FileCheck %s
-
-#define __reloc__ __attribute__((preserve_access_index))
-
-// test array access
-struct s1 {
- int a[3];
- union {
- int b;
- int c[4];
- };
-} __reloc__;
-typedef struct s1 __s1;
-
-int test(__s1 *arg) {
- return arg->a[2] + arg->c[2];
-}
-
-// CHECK: call [3 x i32]* @llvm.preserve.struct.access.index.p0a3i32.p0s_struct.s1s(%struct.s1* %{{[0-9a-z]+}}, i32 0, i32 0)
-// CHECK: call i32* @llvm.preserve.array.access.index.p0i32.p0a3i32([3 x i32]* %{{[0-9a-z]+}}, i32 1, i32 2)
-// CHECK: call %union.anon* @llvm.preserve.struct.access.index.p0s_union.anons.p0s_struct.s1s(%struct.s1* %{{[0-9a-z]+}}, i32 1, i32 1)
-// CHECK: call %union.anon* @llvm.preserve.union.access.index.p0s_union.anons.p0s_union.anons(%union.anon* %{{[0-9a-z]+}}, i32 1)
-// CHECK: call i32* @llvm.preserve.array.access.index.p0i32.p0a4i32([4 x i32]* %{{[0-9a-z]+}}, i32 1, i32 2)
diff --git a/clang/test/CodeGen/bpf-attr-preserve-access-index-3.c b/clang/test/CodeGen/bpf-attr-preserve-access-index-3.c
deleted file mode 100644
index 917b508704a..00000000000
--- a/clang/test/CodeGen/bpf-attr-preserve-access-index-3.c
+++ /dev/null
@@ -1,32 +0,0 @@
-// REQUIRES: bpf-registered-target
-// RUN: %clang -target bpf -emit-llvm -S -g %s -o - | FileCheck %s
-
-#define __reloc__ __attribute__((preserve_access_index))
-
-// chain of records, all with attributes
-struct s1 {
- int c;
-} __reloc__;
-typedef struct s1 __s1;
-
-struct s2 {
- union {
- __s1 b[3];
- };
-} __reloc__;
-typedef struct s2 __s2;
-
-struct s3 {
- __s2 a;
-} __reloc__;
-typedef struct s3 __s3;
-
-int test(__s3 *arg) {
- return arg->a.b[2].c;
-}
-
-// CHECK: call %struct.s2* @llvm.preserve.struct.access.index.p0s_struct.s2s.p0s_struct.s3s(%struct.s3* %{{[0-9a-z]+}}, i32 0, i32 0)
-// CHECK: call %union.anon* @llvm.preserve.struct.access.index.p0s_union.anons.p0s_struct.s2s(%struct.s2* %{{[0-9a-z]+}}, i32 0, i32 0)
-// CHECK: call %union.anon* @llvm.preserve.union.access.index.p0s_union.anons.p0s_union.anons(%union.anon* %{{[0-9a-z]+}}, i32 0)
-// CHECK: call %struct.s1* @llvm.preserve.array.access.index.p0s_struct.s1s.p0a3s_struct.s1s([3 x %struct.s1]* %{{[0-9a-z]+}}, i32 1, i32 2)
-// CHECK: call i32* @llvm.preserve.struct.access.index.p0i32.p0s_struct.s1s(%struct.s1* %{{[0-9a-z]+}}, i32 0, i32 0)
diff --git a/clang/test/CodeGen/bpf-attr-preserve-access-index-4.c b/clang/test/CodeGen/bpf-attr-preserve-access-index-4.c
deleted file mode 100644
index 5ec56d96de1..00000000000
--- a/clang/test/CodeGen/bpf-attr-preserve-access-index-4.c
+++ /dev/null
@@ -1,33 +0,0 @@
-// REQUIRES: bpf-registered-target
-// RUN: %clang -target bpf -emit-llvm -S -g %s -o - | FileCheck %s
-
-#define __reloc__ __attribute__((preserve_access_index))
-
-// chain of records, some do not have attributes.
-struct s1 {
- int c;
-};
-typedef struct s1 __s1;
-
-struct s2 {
- union {
- __s1 b[3];
- };
-} __reloc__;
-typedef struct s2 __s2;
-
-struct s3 {
- __s2 a;
-};
-typedef struct s3 __s3;
-
-int test(__s3 *arg) {
- return arg->a.b[2].c;
-}
-
-// CHECK: define dso_local i32 @test
-// CHECK-NOT: call %struct.s2* @llvm.preserve.struct.access.index.p0s_struct.s2s.p0s_struct.s3s
-// CHECK: call %union.anon* @llvm.preserve.struct.access.index.p0s_union.anons.p0s_struct.s2s(%struct.s2* %a, i32 0, i32 0)
-// CHECK: call %union.anon* @llvm.preserve.union.access.index.p0s_union.anons.p0s_union.anons(%union.anon* %1, i32 0)
-// CHECK: call %struct.s1* @llvm.preserve.array.access.index.p0s_struct.s1s.p0a3s_struct.s1s([3 x %struct.s1]* %b, i32 1, i32 2)
-// CHECK-NOT: call i32* @llvm.preserve.struct.access.index.p0i32.p0s_struct.s1s
diff --git a/clang/test/CodeGen/bpf-attr-preserve-access-index-5.c b/clang/test/CodeGen/bpf-attr-preserve-access-index-5.c
deleted file mode 100644
index 281bcdd782c..00000000000
--- a/clang/test/CodeGen/bpf-attr-preserve-access-index-5.c
+++ /dev/null
@@ -1,32 +0,0 @@
-// REQUIRES: bpf-registered-target
-// RUN: %clang -target bpf -emit-llvm -S -g %s -o - | FileCheck %s
-
-#define __reloc__ __attribute__((preserve_access_index))
-
-// chain of records, attribute may be in inner record.
-struct s1 {
- int c;
-} __reloc__;
-typedef struct s1 __s1;
-
-struct s2 {
- union {
- __s1 b[3];
- } __reloc__;
-};
-typedef struct s2 __s2;
-
-struct s3 {
- __s2 a;
-} __reloc__;
-typedef struct s3 __s3;
-
-int test(__s3 *arg) {
- return arg->a.b[2].c;
-}
-
-// CHECK: call %struct.s2* @llvm.preserve.struct.access.index.p0s_struct.s2s.p0s_struct.s3s(%struct.s3* %{{[0-9a-z]+}}, i32 0, i32 0)
-// CHECK-NOT: call %union.anon* @llvm.preserve.struct.access.index.p0s_union.anons.p0s_struct.s2s
-// CHECK: call %union.anon* @llvm.preserve.union.access.index.p0s_union.anons.p0s_union.anons(%union.anon* %{{[0-9a-z]+}}, i32 0)
-// CHECK: call %struct.s1* @llvm.preserve.array.access.index.p0s_struct.s1s.p0a3s_struct.s1s([3 x %struct.s1]* %{{[0-9a-z]+}}, i32 1, i32 2)
-// CHECK: call i32* @llvm.preserve.struct.access.index.p0i32.p0s_struct.s1s(%struct.s1* %{{[0-9a-z]+}}, i32 0, i32 0)
diff --git a/clang/test/CodeGen/bpf-attr-preserve-access-index-6.c b/clang/test/CodeGen/bpf-attr-preserve-access-index-6.c
deleted file mode 100644
index a763f28bcd6..00000000000
--- a/clang/test/CodeGen/bpf-attr-preserve-access-index-6.c
+++ /dev/null
@@ -1,32 +0,0 @@
-// REQUIRES: bpf-registered-target
-// RUN: %clang -target bpf -emit-llvm -S -g %s -o - | FileCheck %s
-
-#define __reloc__ __attribute__((preserve_access_index))
-
-// chain of records, both inner and outer record have attributes.
-struct s1 {
- int c;
-} __reloc__;
-typedef struct s1 __s1;
-
-struct s2 {
- union {
- __s1 b[3];
- } __reloc__;
-} __reloc__;
-typedef struct s2 __s2;
-
-struct s3 {
- __s2 a;
-} __reloc__;
-typedef struct s3 __s3;
-
-int test(__s3 *arg) {
- return arg->a.b[2].c;
-}
-
-// CHECK: call %struct.s2* @llvm.preserve.struct.access.index.p0s_struct.s2s.p0s_struct.s3s(%struct.s3* %{{[0-9a-z]+}}, i32 0, i32 0)
-// CHECK: call %union.anon* @llvm.preserve.struct.access.index.p0s_union.anons.p0s_struct.s2s(%struct.s2* %{{[0-9a-z]+}}, i32 0, i32 0)
-// CHECK: call %union.anon* @llvm.preserve.union.access.index.p0s_union.anons.p0s_union.anons(%union.anon* %{{[0-9a-z]+}}, i32 0)
-// CHECK: call %struct.s1* @llvm.preserve.array.access.index.p0s_struct.s1s.p0a3s_struct.s1s([3 x %struct.s1]* %{{[0-9a-z]+}}, i32 1, i32 2)
-// CHECK: call i32* @llvm.preserve.struct.access.index.p0i32.p0s_struct.s1s(%struct.s1* %{{[0-9a-z]+}}, i32 0, i32 0)
diff --git a/clang/test/CodeGen/bpf-attr-preserve-access-index-7.c b/clang/test/CodeGen/bpf-attr-preserve-access-index-7.c
deleted file mode 100644
index 49f4a4d2b26..00000000000
--- a/clang/test/CodeGen/bpf-attr-preserve-access-index-7.c
+++ /dev/null
@@ -1,36 +0,0 @@
-// REQUIRES: bpf-registered-target
-// RUN: %clang -target bpf -emit-llvm -S -g %s -o - | FileCheck %s
-
-#define __reloc__ __attribute__((preserve_access_index))
-
-// chain of records, all with attributes
-struct __reloc__ s1;
-struct __reloc__ s2;
-struct __reloc__ s3;
-
-struct s1 {
- int c;
-};
-typedef struct s1 __s1;
-
-struct s2 {
- union {
- __s1 b[3];
- };
-};
-typedef struct s2 __s2;
-
-struct s3 {
- __s2 a;
-};
-typedef struct s3 __s3;
-
-int test(__s3 *arg) {
- return arg->a.b[2].c;
-}
-
-// CHECK: call %struct.s2* @llvm.preserve.struct.access.index.p0s_struct.s2s.p0s_struct.s3s(%struct.s3* %{{[0-9a-z]+}}, i32 0, i32 0)
-// CHECK: call %union.anon* @llvm.preserve.struct.access.index.p0s_union.anons.p0s_struct.s2s(%struct.s2* %{{[0-9a-z]+}}, i32 0, i32 0)
-// CHECK: call %union.anon* @llvm.preserve.union.access.index.p0s_union.anons.p0s_union.anons(%union.anon* %{{[0-9a-z]+}}, i32 0)
-// CHECK: call %struct.s1* @llvm.preserve.array.access.index.p0s_struct.s1s.p0a3s_struct.s1s([3 x %struct.s1]* %{{[0-9a-z]+}}, i32 1, i32 2)
-// CHECK: call i32* @llvm.preserve.struct.access.index.p0i32.p0s_struct.s1s(%struct.s1* %{{[0-9a-z]+}}, i32 0, i32 0)
diff --git a/clang/test/CodeGen/bpf-attr-preserve-access-index-8.c b/clang/test/CodeGen/bpf-attr-preserve-access-index-8.c
deleted file mode 100644
index 7febf7cbe2e..00000000000
--- a/clang/test/CodeGen/bpf-attr-preserve-access-index-8.c
+++ /dev/null
@@ -1,36 +0,0 @@
-// REQUIRES: bpf-registered-target
-// RUN: %clang -target bpf -emit-llvm -S -g %s -o - | FileCheck %s
-
-#define __reloc__ __attribute__((preserve_access_index))
-
-// chain of records, all with attributes
-struct s1;
-struct s2;
-struct s3;
-
-struct s1 {
- int c;
-} __reloc__;
-typedef struct s1 __s1;
-
-struct s2 {
- union {
- __s1 b[3];
- };
-} __reloc__;
-typedef struct s2 __s2;
-
-struct s3 {
- __s2 a;
-} __reloc__;
-typedef struct s3 __s3;
-
-int test(__s3 *arg) {
- return arg->a.b[2].c;
-}
-
-// CHECK: call %struct.s2* @llvm.preserve.struct.access.index.p0s_struct.s2s.p0s_struct.s3s(%struct.s3* %{{[0-9a-z]+}}, i32 0, i32 0)
-// CHECK: call %union.anon* @llvm.preserve.struct.access.index.p0s_union.anons.p0s_struct.s2s(%struct.s2* %{{[0-9a-z]+}}, i32 0, i32 0)
-// CHECK: call %union.anon* @llvm.preserve.union.access.index.p0s_union.anons.p0s_union.anons(%union.anon* %{{[0-9a-z]+}}, i32 0)
-// CHECK: call %struct.s1* @llvm.preserve.array.access.index.p0s_struct.s1s.p0a3s_struct.s1s([3 x %struct.s1]* %{{[0-9a-z]+}}, i32 1, i32 2)
-// CHECK: call i32* @llvm.preserve.struct.access.index.p0i32.p0s_struct.s1s(%struct.s1* %{{[0-9a-z]+}}, i32 0, i32 0)
diff --git a/clang/test/Sema/bpf-attr-preserve-access-index.c b/clang/test/Sema/bpf-attr-preserve-access-index.c
deleted file mode 100644
index 472f778b6b5..00000000000
--- a/clang/test/Sema/bpf-attr-preserve-access-index.c
+++ /dev/null
@@ -1,48 +0,0 @@
-// RUN: %clang_cc1 -x c -triple bpf-pc-linux-gnu -dwarf-version=4 -fsyntax-only -verify %s
-
-#define __reloc__ __attribute__((preserve_access_index))
-#define __err_reloc__ __attribute__((preserve_access_index(0)))
-
-struct t1 {
- int a;
- int b[4];
- int c:1;
-} __reloc__;
-
-union t2 {
- int a;
- int b[4];
- int c:1;
-} __reloc__;
-
-struct t3 {
- int a;
-} __err_reloc__; // expected-error {{'preserve_access_index' attribute takes no arguments}}
-
-struct t4 {
- union {
- int a;
- char b[5];
- };
- struct {
- int c:1;
- } __reloc__;
- int d;
-} __reloc__;
-
-struct __reloc__ p;
-struct __reloc__ q;
-struct p {
- int a;
-};
-
-int a __reloc__; // expected-error {{preserve_addess_index attribute only applies to struct or union type}}
-struct s *p __reloc__; // expected-error {{preserve_addess_index attribute only applies to struct or union type}}
-
-void invalid1(const int __reloc__ *arg) {} // expected-error {{preserve_addess_index attribute only applies to struct or union type}}
-void invalid2() { const int __reloc__ *arg; } // expected-error {{preserve_addess_index attribute only applies to struct or union type}}
-int valid3(struct t4 *arg) { return arg->a + arg->b[3] + arg->c + arg->d; }
-int valid4(void *arg) {
- struct local_t { int a; int b; } __reloc__;
- return ((struct local_t *)arg)->b;
-}
OpenPOWER on IntegriCloud