• Home
  • Raw
  • Download

Lines Matching +full:test +full:- +full:check

1 // RUN: %clang_cc1 -fms-extensions -emit-llvm -o - %s | FileCheck %s
3 // CHECK: %struct.test = type { i32, %struct.nested2, i32 }
4 // CHECK: %struct.nested2 = type { i32, %struct.nested1, i32 }
5 // CHECK: %struct.nested1 = type { i32, i32 }
17 struct test { struct
26 // CHECK: %var = alloca %struct.test, align 4 in foo() argument
27 struct test var; in foo()
29 // CHECK: getelementptr inbounds %struct.test, %struct.test* %var, i32 0, i32 1 in foo()
30 // CHECK-NEXT: getelementptr inbounds %struct.nested2, %struct.nested2* %{{.*}}, i32 0, i32 0 in foo()
31 // CHECK-NEXT: load i32, i32* %{{.*}}, align 4 in foo()
34 // CHECK-NEXT: getelementptr inbounds %struct.test, %struct.test* %var, i32 0, i32 1 in foo()
35 // CHECK-NEXT: getelementptr inbounds %struct.nested2, %struct.nested2* %{{.*}}, i32 0, i32 2 in foo()
36 // CHECK-NEXT: load i32, i32* %{{.*}}, align 4 in foo()
39 // CHECK-NEXT: getelementptr inbounds %struct.test, %struct.test* %var, i32 0, i32 1 in foo()
40 // CHECK-NEXT: getelementptr inbounds %struct.nested2, %struct.nested2* %{{.*}}, i32 0, i32 1 in foo()
41 // CHECK-NEXT: getelementptr inbounds %struct.nested1, %struct.nested1* %{{.*}}, i32 0, i32 0 in foo()
42 // CHECK-NEXT: load i32, i32* %{{.*}}, align 4 in foo()
45 // CHECK-NEXT: getelementptr inbounds %struct.test, %struct.test* %{{.*}}var, i32 0, i32 1 in foo()
46 // CHECK-NEXT: getelementptr inbounds %struct.nested2, %struct.nested2* %{{.*}}, i32 0, i32 1 in foo()
47 // CHECK-NEXT: getelementptr inbounds %struct.nested1, %struct.nested1* %{{.*}}, i32 0, i32 1 in foo()
48 // CHECK-NEXT: load i32, i32* %{{.*}}, align 4 in foo()
51 // CHECK-NEXT: getelementptr inbounds %struct.test, %struct.test* %var, i32 0, i32 0 in foo()
52 // CHECK-NEXT: load i32, i32* %{{.*}}, align 4 in foo()
55 // CHECK-NEXT: getelementptr inbounds %struct.test, %struct.test* %var, i32 0, i32 2 in foo()
56 // CHECK-NEXT: load i32, i32* %{{.*}}, align 4 in foo()
60 void foo2(struct test* var) in foo2()
62 // CHECK: alloca %struct.test*, align in foo2()
63 // CHECK-NEXT: store %struct.test* %var, %struct.test** %{{.*}}, align in foo2()
64 // CHECK-NEXT: load %struct.test*, %struct.test** %{{.*}}, align in foo2()
65 // CHECK-NEXT: getelementptr inbounds %struct.test, %struct.test* %{{.*}}, i32 0, i32 1 in foo2()
66 // CHECK-NEXT: getelementptr inbounds %struct.nested2, %struct.nested2* %{{.*}}, i32 0, i32 0 in foo2()
67 // CHECK-NEXT: load i32, i32* %{{.*}}, align 4 in foo2()
68 var->a; in foo2()
70 // CHECK-NEXT: load %struct.test*, %struct.test** %{{.*}}, align in foo2()
71 // CHECK-NEXT: getelementptr inbounds %struct.test, %struct.test* %{{.*}}, i32 0, i32 1 in foo2()
72 // CHECK-NEXT: getelementptr inbounds %struct.nested2, %struct.nested2* %{{.*}}, i32 0, i32 2 in foo2()
73 // CHECK-NEXT: load i32, i32* %{{.*}}, align 4 in foo2()
74 var->b; in foo2()
76 // CHECK-NEXT: load %struct.test*, %struct.test** %{{.*}}, align in foo2()
77 // CHECK-NEXT: getelementptr inbounds %struct.test, %struct.test* %{{.*}}, i32 0, i32 1 in foo2()
78 // CHECK-NEXT: getelementptr inbounds %struct.nested2, %struct.nested2* %{{.*}}, i32 0, i32 1 in foo2()
79 // CHECK-NEXT: getelementptr inbounds %struct.nested1, %struct.nested1* %{{.*}}, i32 0, i32 0 in foo2()
80 // CHECK-NEXT: load i32, i32* %{{.*}}, align 4 in foo2()
81 var->a1; in foo2()
83 // CHECK-NEXT: load %struct.test*, %struct.test** %{{.*}}, align in foo2()
84 // CHECK-NEXT: getelementptr inbounds %struct.test, %struct.test* %{{.*}}, i32 0, i32 1 in foo2()
85 // CHECK-NEXT: getelementptr inbounds %struct.nested2, %struct.nested2* %{{.*}}, i32 0, i32 1 in foo2()
86 // CHECK-NEXT: getelementptr inbounds %struct.nested1, %struct.nested1* %{{.*}}, i32 0, i32 1 in foo2()
87 // CHECK-NEXT: load i32, i32* %{{.*}}, align 4 in foo2()
88 var->b1; in foo2()
90 // CHECK-NEXT: load %struct.test*, %struct.test** %{{.*}}, align in foo2()
91 // CHECK-NEXT: getelementptr inbounds %struct.test, %struct.test* %{{.*}}, i32 0, i32 0 in foo2()
92 // CHECK-NEXT: load i32, i32* %{{.*}}, align 4 in foo2()
93 var->x; in foo2()
95 // CHECK-NEXT: load %struct.test*, %struct.test** %{{.*}}, align in foo2()
96 // CHECK-NEXT: getelementptr inbounds %struct.test, %struct.test* %{{.*}}, i32 0, i32 2 in foo2()
97 // CHECK-NEXT: load i32, i32* %{{.*}}, align 4 in foo2()
98 var->y; in foo2()