Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
14 | pmbaty | 1 | //===--- OpenMPKinds.def - OpenMP directives and clauses list ---*- C++ -*-===// |
2 | // |
||
3 | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
||
4 | // See https://llvm.org/LICENSE.txt for license information. |
||
5 | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
||
6 | // |
||
7 | //===----------------------------------------------------------------------===// |
||
8 | /// \file |
||
9 | /// This file defines the list of supported OpenMP directives and |
||
10 | /// clauses. |
||
11 | /// |
||
12 | //===----------------------------------------------------------------------===// |
||
13 | |||
14 | #ifndef OPENMP_SCHEDULE_KIND |
||
15 | #define OPENMP_SCHEDULE_KIND(Name) |
||
16 | #endif |
||
17 | #ifndef OPENMP_SCHEDULE_MODIFIER |
||
18 | #define OPENMP_SCHEDULE_MODIFIER(Name) |
||
19 | #endif |
||
20 | #ifndef OPENMP_DEPEND_KIND |
||
21 | #define OPENMP_DEPEND_KIND(Name) |
||
22 | #endif |
||
23 | #ifndef OPENMP_LINEAR_KIND |
||
24 | #define OPENMP_LINEAR_KIND(Name) |
||
25 | #endif |
||
26 | #ifndef OPENMP_MAP_KIND |
||
27 | #define OPENMP_MAP_KIND(Name) |
||
28 | #endif |
||
29 | #ifndef OPENMP_MAP_MODIFIER_KIND |
||
30 | #define OPENMP_MAP_MODIFIER_KIND(Name) |
||
31 | #endif |
||
32 | #ifndef OPENMP_MOTION_MODIFIER_KIND |
||
33 | #define OPENMP_MOTION_MODIFIER_KIND(Name) |
||
34 | #endif |
||
35 | #ifndef OPENMP_DIST_SCHEDULE_KIND |
||
36 | #define OPENMP_DIST_SCHEDULE_KIND(Name) |
||
37 | #endif |
||
38 | #ifndef OPENMP_DEFAULTMAP_KIND |
||
39 | #define OPENMP_DEFAULTMAP_KIND(Name) |
||
40 | #endif |
||
41 | #ifndef OPENMP_ATOMIC_DEFAULT_MEM_ORDER_KIND |
||
42 | #define OPENMP_ATOMIC_DEFAULT_MEM_ORDER_KIND(Name) |
||
43 | #endif |
||
44 | #ifndef OPENMP_AT_KIND |
||
45 | #define OPENMP_AT_KIND(Name) |
||
46 | #endif |
||
47 | #ifndef OPENMP_SEVERITY_KIND |
||
48 | #define OPENMP_SEVERITY_KIND(Name) |
||
49 | #endif |
||
50 | #ifndef OPENMP_DEFAULTMAP_MODIFIER |
||
51 | #define OPENMP_DEFAULTMAP_MODIFIER(Name) |
||
52 | #endif |
||
53 | #ifndef OPENMP_DEVICE_TYPE_KIND |
||
54 | #define OPENMP_DEVICE_TYPE_KIND(Name) |
||
55 | #endif |
||
56 | #ifndef OPENMP_LASTPRIVATE_KIND |
||
57 | #define OPENMP_LASTPRIVATE_KIND(Name) |
||
58 | #endif |
||
59 | #ifndef OPENMP_ORDER_KIND |
||
60 | #define OPENMP_ORDER_KIND(Name) |
||
61 | #endif |
||
62 | #ifndef OPENMP_ORDER_MODIFIER |
||
63 | #define OPENMP_ORDER_MODIFIER(Name) |
||
64 | #endif |
||
65 | #ifndef OPENMP_DEVICE_MODIFIER |
||
66 | #define OPENMP_DEVICE_MODIFIER(Name) |
||
67 | #endif |
||
68 | #ifndef OPENMP_REDUCTION_MODIFIER |
||
69 | #define OPENMP_REDUCTION_MODIFIER(Name) |
||
70 | #endif |
||
71 | #ifndef OPENMP_ADJUST_ARGS_KIND |
||
72 | #define OPENMP_ADJUST_ARGS_KIND(Name) |
||
73 | #endif |
||
74 | #ifndef OPENMP_BIND_KIND |
||
75 | #define OPENMP_BIND_KIND(Name) |
||
76 | #endif |
||
77 | #ifndef OPENMP_GRAINSIZE_MODIFIER |
||
78 | #define OPENMP_GRAINSIZE_MODIFIER(Name) |
||
79 | #endif |
||
80 | #ifndef OPENMP_NUMTASKS_MODIFIER |
||
81 | #define OPENMP_NUMTASKS_MODIFIER(Name) |
||
82 | #endif |
||
83 | |||
84 | // Static attributes for 'schedule' clause. |
||
85 | OPENMP_SCHEDULE_KIND(static) |
||
86 | OPENMP_SCHEDULE_KIND(dynamic) |
||
87 | OPENMP_SCHEDULE_KIND(guided) |
||
88 | OPENMP_SCHEDULE_KIND(auto) |
||
89 | OPENMP_SCHEDULE_KIND(runtime) |
||
90 | |||
91 | // Modifiers for 'schedule' clause. |
||
92 | OPENMP_SCHEDULE_MODIFIER(monotonic) |
||
93 | OPENMP_SCHEDULE_MODIFIER(nonmonotonic) |
||
94 | OPENMP_SCHEDULE_MODIFIER(simd) |
||
95 | |||
96 | // Modifiers for 'device' clause. |
||
97 | OPENMP_DEVICE_MODIFIER(ancestor) |
||
98 | OPENMP_DEVICE_MODIFIER(device_num) |
||
99 | |||
100 | // Static attributes for 'defaultmap' clause. |
||
101 | OPENMP_DEFAULTMAP_KIND(scalar) |
||
102 | OPENMP_DEFAULTMAP_KIND(aggregate) |
||
103 | OPENMP_DEFAULTMAP_KIND(pointer) |
||
104 | |||
105 | // Modifiers for 'defaultmap' clause. |
||
106 | OPENMP_DEFAULTMAP_MODIFIER(alloc) |
||
107 | OPENMP_DEFAULTMAP_MODIFIER(to) |
||
108 | OPENMP_DEFAULTMAP_MODIFIER(from) |
||
109 | OPENMP_DEFAULTMAP_MODIFIER(tofrom) |
||
110 | OPENMP_DEFAULTMAP_MODIFIER(firstprivate) |
||
111 | OPENMP_DEFAULTMAP_MODIFIER(none) |
||
112 | OPENMP_DEFAULTMAP_MODIFIER(default) |
||
113 | OPENMP_DEFAULTMAP_MODIFIER(present) |
||
114 | |||
115 | // Static attributes for 'depend' clause. |
||
116 | OPENMP_DEPEND_KIND(in) |
||
117 | OPENMP_DEPEND_KIND(out) |
||
118 | OPENMP_DEPEND_KIND(inout) |
||
119 | OPENMP_DEPEND_KIND(mutexinoutset) |
||
120 | OPENMP_DEPEND_KIND(depobj) |
||
121 | OPENMP_DEPEND_KIND(source) |
||
122 | OPENMP_DEPEND_KIND(sink) |
||
123 | OPENMP_DEPEND_KIND(inoutset) |
||
124 | OPENMP_DEPEND_KIND(outallmemory) |
||
125 | OPENMP_DEPEND_KIND(inoutallmemory) |
||
126 | |||
127 | // Modifiers for 'linear' clause. |
||
128 | OPENMP_LINEAR_KIND(val) |
||
129 | OPENMP_LINEAR_KIND(ref) |
||
130 | OPENMP_LINEAR_KIND(uval) |
||
131 | |||
132 | // Modifiers for 'atomic_default_mem_order' clause. |
||
133 | OPENMP_ATOMIC_DEFAULT_MEM_ORDER_KIND(seq_cst) |
||
134 | OPENMP_ATOMIC_DEFAULT_MEM_ORDER_KIND(acq_rel) |
||
135 | OPENMP_ATOMIC_DEFAULT_MEM_ORDER_KIND(relaxed) |
||
136 | |||
137 | // Modifiers for 'at' clause. |
||
138 | OPENMP_AT_KIND(compilation) |
||
139 | OPENMP_AT_KIND(execution) |
||
140 | |||
141 | // Modifiers for 'severity' clause. |
||
142 | OPENMP_SEVERITY_KIND(fatal) |
||
143 | OPENMP_SEVERITY_KIND(warning) |
||
144 | |||
145 | // Map types for 'map' clause. |
||
146 | OPENMP_MAP_KIND(alloc) |
||
147 | OPENMP_MAP_KIND(to) |
||
148 | OPENMP_MAP_KIND(from) |
||
149 | OPENMP_MAP_KIND(tofrom) |
||
150 | OPENMP_MAP_KIND(delete) |
||
151 | OPENMP_MAP_KIND(release) |
||
152 | |||
153 | // Map-type-modifiers for 'map' clause. |
||
154 | OPENMP_MAP_MODIFIER_KIND(always) |
||
155 | OPENMP_MAP_MODIFIER_KIND(close) |
||
156 | OPENMP_MAP_MODIFIER_KIND(mapper) |
||
157 | OPENMP_MAP_MODIFIER_KIND(iterator) |
||
158 | OPENMP_MAP_MODIFIER_KIND(present) |
||
159 | // This is an OpenMP extension for the sake of OpenACC support. |
||
160 | OPENMP_MAP_MODIFIER_KIND(ompx_hold) |
||
161 | |||
162 | // Modifiers for 'to' or 'from' clause. |
||
163 | OPENMP_MOTION_MODIFIER_KIND(mapper) |
||
164 | OPENMP_MOTION_MODIFIER_KIND(present) |
||
165 | |||
166 | // Static attributes for 'dist_schedule' clause. |
||
167 | OPENMP_DIST_SCHEDULE_KIND(static) |
||
168 | |||
169 | // Device types for 'device_type' clause. |
||
170 | OPENMP_DEVICE_TYPE_KIND(host) |
||
171 | OPENMP_DEVICE_TYPE_KIND(nohost) |
||
172 | OPENMP_DEVICE_TYPE_KIND(any) |
||
173 | |||
174 | // Type of the 'lastprivate' clause. |
||
175 | OPENMP_LASTPRIVATE_KIND(conditional) |
||
176 | |||
177 | // Type of the 'order' clause. |
||
178 | OPENMP_ORDER_KIND(concurrent) |
||
179 | |||
180 | // Modifiers for the 'order' clause. |
||
181 | OPENMP_ORDER_MODIFIER(reproducible) |
||
182 | OPENMP_ORDER_MODIFIER(unconstrained) |
||
183 | |||
184 | // Modifiers for 'reduction' clause. |
||
185 | OPENMP_REDUCTION_MODIFIER(default) |
||
186 | OPENMP_REDUCTION_MODIFIER(inscan) |
||
187 | OPENMP_REDUCTION_MODIFIER(task) |
||
188 | |||
189 | // Adjust-op kinds for the 'adjust_args' clause. |
||
190 | OPENMP_ADJUST_ARGS_KIND(nothing) |
||
191 | OPENMP_ADJUST_ARGS_KIND(need_device_ptr) |
||
192 | |||
193 | // Binding kinds for the 'bind' clause. |
||
194 | OPENMP_BIND_KIND(teams) |
||
195 | OPENMP_BIND_KIND(parallel) |
||
196 | OPENMP_BIND_KIND(thread) |
||
197 | |||
198 | // Modifiers for the 'grainsize' clause. |
||
199 | OPENMP_GRAINSIZE_MODIFIER(strict) |
||
200 | |||
201 | // Modifiers for the 'num_tasks' clause. |
||
202 | OPENMP_NUMTASKS_MODIFIER(strict) |
||
203 | |||
204 | #undef OPENMP_NUMTASKS_MODIFIER |
||
205 | #undef OPENMP_GRAINSIZE_MODIFIER |
||
206 | #undef OPENMP_BIND_KIND |
||
207 | #undef OPENMP_ADJUST_ARGS_KIND |
||
208 | #undef OPENMP_REDUCTION_MODIFIER |
||
209 | #undef OPENMP_DEVICE_MODIFIER |
||
210 | #undef OPENMP_ORDER_KIND |
||
211 | #undef OPENMP_ORDER_MODIFIER |
||
212 | #undef OPENMP_LASTPRIVATE_KIND |
||
213 | #undef OPENMP_DEVICE_TYPE_KIND |
||
214 | #undef OPENMP_LINEAR_KIND |
||
215 | #undef OPENMP_DEPEND_KIND |
||
216 | #undef OPENMP_SCHEDULE_MODIFIER |
||
217 | #undef OPENMP_SCHEDULE_KIND |
||
218 | #undef OPENMP_ATOMIC_DEFAULT_MEM_ORDER_KIND |
||
219 | #undef OPENMP_AT_KIND |
||
220 | #undef OPENMP_SEVERITY_KIND |
||
221 | #undef OPENMP_MAP_KIND |
||
222 | #undef OPENMP_MAP_MODIFIER_KIND |
||
223 | #undef OPENMP_MOTION_MODIFIER_KIND |
||
224 | #undef OPENMP_DIST_SCHEDULE_KIND |
||
225 | #undef OPENMP_DEFAULTMAP_KIND |
||
226 | #undef OPENMP_DEFAULTMAP_MODIFIER |
||
227 |