1 | // RUN: %clang_cc1 -fopenmp -x c++ -triple x86_64-unknown-unknown -emit-llvm -fexceptions -fcxx-exceptions -o - %s | FileCheck %s |
2 | |
3 | // RUN: %clang_cc1 -fopenmp-simd -x c++ -triple x86_64-unknown-unknown -emit-llvm -fexceptions -fcxx-exceptions -o - %s | FileCheck --check-prefix SIMD-ONLY0 %s |
4 | // SIMD-ONLY0-NOT: {{__kmpc|__tgt}} |
5 | |
6 | int main() { |
7 | // CHECK: @__kmpc_for_static_init |
8 | // CHECK-NOT: !llvm.access.group |
9 | // CHECK: @__kmpc_for_static_fini |
10 | #pragma omp for |
11 | for(int i = 0; i < 10; ++i); |
12 | // CHECK: @__kmpc_for_static_init |
13 | // CHECK-NOT: !llvm.access.group |
14 | // CHECK: @__kmpc_for_static_fini |
15 | #pragma omp for simd |
16 | for(int i = 0; i < 10; ++i); |
17 | // CHECK: @__kmpc_for_static_init |
18 | // CHECK-NOT: !llvm.access.group |
19 | // CHECK: @__kmpc_for_static_fini |
20 | #pragma omp for schedule(static) |
21 | for(int i = 0; i < 10; ++i); |
22 | // CHECK: @__kmpc_for_static_init |
23 | // CHECK-NOT: !llvm.access.group |
24 | // CHECK: @__kmpc_for_static_fini |
25 | #pragma omp for simd schedule(static) |
26 | for(int i = 0; i < 10; ++i); |
27 | // CHECK: @__kmpc_for_static_init |
28 | // CHECK-NOT: !llvm.access.group |
29 | // CHECK: @__kmpc_for_static_fini |
30 | #pragma omp for schedule(static, 2) |
31 | for(int i = 0; i < 10; ++i); |
32 | // CHECK: @__kmpc_for_static_init |
33 | // CHECK-NOT: !llvm.access.group |
34 | // CHECK: @__kmpc_for_static_fini |
35 | #pragma omp for simd schedule(static, 2) |
36 | for(int i = 0; i < 10; ++i); |
37 | // CHECK: @__kmpc_dispatch_init |
38 | // CHECK: !llvm.access.group |
39 | #pragma omp for schedule(auto) |
40 | for(int i = 0; i < 10; ++i); |
41 | // CHECK: @__kmpc_dispatch_init |
42 | // CHECK: !llvm.access.group |
43 | #pragma omp for simd schedule(auto) |
44 | for(int i = 0; i < 10; ++i); |
45 | // CHECK: @__kmpc_dispatch_init |
46 | // CHECK: !llvm.access.group |
47 | #pragma omp for schedule(runtime) |
48 | for(int i = 0; i < 10; ++i); |
49 | // CHECK: @__kmpc_dispatch_init |
50 | // CHECK: !llvm.access.group |
51 | #pragma omp for simd schedule(runtime) |
52 | for(int i = 0; i < 10; ++i); |
53 | // CHECK: @__kmpc_dispatch_init |
54 | // CHECK: !llvm.access.group |
55 | #pragma omp for schedule(guided) |
56 | for(int i = 0; i < 10; ++i); |
57 | // CHECK: @__kmpc_dispatch_init |
58 | // CHECK: !llvm.access.group |
59 | #pragma omp for simd schedule(guided) |
60 | for(int i = 0; i < 10; ++i); |
61 | // CHECK: @__kmpc_dispatch_init |
62 | // CHECK: !llvm.access.group |
63 | #pragma omp for schedule(dynamic) |
64 | for(int i = 0; i < 10; ++i); |
65 | // CHECK: @__kmpc_dispatch_init |
66 | // CHECK: !llvm.access.group |
67 | #pragma omp for simd schedule(dynamic) |
68 | for(int i = 0; i < 10; ++i); |
69 | // CHECK: @__kmpc_for_static_init |
70 | // CHECK-NOT: !llvm.access.group |
71 | // CHECK: @__kmpc_for_static_fini |
72 | #pragma omp for schedule(monotonic: static) |
73 | for(int i = 0; i < 10; ++i); |
74 | // CHECK: @__kmpc_for_static_init |
75 | // CHECK-NOT: !llvm.access.group |
76 | // CHECK: @__kmpc_for_static_fini |
77 | #pragma omp for simd schedule(monotonic: static) |
78 | for(int i = 0; i < 10; ++i); |
79 | // CHECK: @__kmpc_for_static_init |
80 | // CHECK-NOT: !llvm.access.group |
81 | // CHECK: @__kmpc_for_static_fini |
82 | #pragma omp for schedule(monotonic: static, 2) |
83 | for(int i = 0; i < 10; ++i); |
84 | // CHECK: @__kmpc_for_static_init |
85 | // CHECK-NOT: !llvm.access.group |
86 | // CHECK: @__kmpc_for_static_fini |
87 | #pragma omp for simd schedule(monotonic: static, 2) |
88 | for(int i = 0; i < 10; ++i); |
89 | // CHECK: @__kmpc_dispatch_init |
90 | // CHECK-NOT: !llvm.access.group |
91 | #pragma omp for schedule(monotonic: auto) |
92 | for(int i = 0; i < 10; ++i); |
93 | // CHECK: @__kmpc_dispatch_init |
94 | // CHECK-NOT: !llvm.access.group |
95 | #pragma omp for simd schedule(monotonic: auto) |
96 | for(int i = 0; i < 10; ++i); |
97 | // CHECK: @__kmpc_dispatch_init |
98 | // CHECK-NOT: !llvm.access.group |
99 | #pragma omp for schedule(monotonic: runtime) |
100 | for(int i = 0; i < 10; ++i); |
101 | // CHECK: @__kmpc_dispatch_init |
102 | // CHECK-NOT: !llvm.access.group |
103 | #pragma omp for simd schedule(monotonic: runtime) |
104 | for(int i = 0; i < 10; ++i); |
105 | // CHECK: @__kmpc_dispatch_init |
106 | // CHECK-NOT: !llvm.access.group |
107 | #pragma omp for schedule(monotonic: guided) |
108 | for(int i = 0; i < 10; ++i); |
109 | // CHECK: @__kmpc_dispatch_init |
110 | // CHECK-NOT: !llvm.access.group |
111 | #pragma omp for simd schedule(monotonic: guided) |
112 | for(int i = 0; i < 10; ++i); |
113 | // CHECK: @__kmpc_dispatch_init |
114 | // CHECK-NOT: !llvm.access.group |
115 | #pragma omp for schedule(monotonic: dynamic) |
116 | for(int i = 0; i < 10; ++i); |
117 | // CHECK: @__kmpc_dispatch_init |
118 | // CHECK-NOT: !llvm.access.group |
119 | #pragma omp for simd schedule(monotonic: dynamic) |
120 | for(int i = 0; i < 10; ++i); |
121 | // CHECK: @__kmpc_dispatch_init |
122 | // CHECK: !llvm.access.group |
123 | #pragma omp for schedule(nonmonotonic: guided) |
124 | for(int i = 0; i < 10; ++i); |
125 | // CHECK: @__kmpc_dispatch_init |
126 | // CHECK: !llvm.access.group |
127 | #pragma omp for simd schedule(nonmonotonic: guided) |
128 | for(int i = 0; i < 10; ++i); |
129 | // CHECK: @__kmpc_dispatch_init |
130 | // CHECK: !llvm.access.group |
131 | #pragma omp for schedule(nonmonotonic: dynamic) |
132 | for(int i = 0; i < 10; ++i); |
133 | // CHECK: @__kmpc_dispatch_init |
134 | // CHECK: !llvm.access.group |
135 | #pragma omp for simd schedule(nonmonotonic: dynamic) |
136 | for(int i = 0; i < 10; ++i); |
137 | // CHECK: @__kmpc_dispatch_init |
138 | // CHECK-NOT: !llvm.access.group |
139 | // CHECK: @__kmpc_dispatch_next |
140 | #pragma omp for schedule(static) ordered |
141 | for(int i = 0; i < 10; ++i); |
142 | // CHECK: @__kmpc_dispatch_init |
143 | // CHECK-NOT: !llvm.access.group |
144 | // CHECK: @__kmpc_dispatch_next |
145 | #pragma omp for simd schedule(static) ordered |
146 | for(int i = 0; i < 10; ++i); |
147 | // CHECK: @__kmpc_dispatch_init |
148 | // CHECK-NOT: !llvm.access.group |
149 | // CHECK: @__kmpc_dispatch_next |
150 | #pragma omp for schedule(static, 2) ordered(1) |
151 | for(int i = 0; i < 10; ++i); |
152 | // CHECK: @__kmpc_dispatch_init |
153 | // CHECK-NOT: !llvm.access.group |
154 | // CHECK: @__kmpc_dispatch_next |
155 | #pragma omp for simd schedule(static, 2) ordered |
156 | for(int i = 0; i < 10; ++i); |
157 | // CHECK: @__kmpc_dispatch_init |
158 | // CHECK-NOT: !llvm.access.group |
159 | // CHECK: @__kmpc_dispatch_next |
160 | #pragma omp for schedule(auto) ordered(1) |
161 | for(int i = 0; i < 10; ++i); |
162 | // CHECK: @__kmpc_dispatch_init |
163 | // CHECK-NOT: !llvm.access.group |
164 | #pragma omp for simd schedule(auto) ordered |
165 | for(int i = 0; i < 10; ++i); |
166 | // CHECK: @__kmpc_dispatch_init |
167 | // CHECK-NOT: !llvm.access.group |
168 | // CHECK: @__kmpc_dispatch_next |
169 | #pragma omp for schedule(runtime) ordered |
170 | for(int i = 0; i < 10; ++i); |
171 | // CHECK: @__kmpc_dispatch_init |
172 | // CHECK-NOT: !llvm.access.group |
173 | // CHECK: @__kmpc_dispatch_next |
174 | #pragma omp for simd schedule(runtime) ordered |
175 | for(int i = 0; i < 10; ++i); |
176 | // CHECK: @__kmpc_dispatch_init |
177 | // CHECK-NOT: !llvm.access.group |
178 | // CHECK: @__kmpc_dispatch_next |
179 | #pragma omp for schedule(guided) ordered(1) |
180 | for(int i = 0; i < 10; ++i); |
181 | // CHECK: @__kmpc_dispatch_init |
182 | // CHECK-NOT: !llvm.access.group |
183 | // CHECK: @__kmpc_dispatch_next |
184 | #pragma omp for simd schedule(guided) ordered |
185 | for(int i = 0; i < 10; ++i); |
186 | // CHECK: @__kmpc_dispatch_init |
187 | // CHECK-NOT: !llvm.access.group |
188 | // CHECK: @__kmpc_dispatch_next |
189 | #pragma omp for schedule(dynamic) ordered(1) |
190 | for(int i = 0; i < 10; ++i); |
191 | // CHECK: @__kmpc_dispatch_init |
192 | // CHECK-NOT: !llvm.access.group |
193 | // CHECK: @__kmpc_dispatch_next |
194 | #pragma omp for simd schedule(dynamic) |
195 | for(int i = 0; i < 10; ++i); |
196 | return 0; |
197 | } |
198 | |