Subversion Repositories QNX 8.QNX8 LLVM/Clang compiler suite

Rev

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