blob: 80df71a40ffae90719bf9c4831bae06867588f79 [file] [log] [blame]
Olivier Deprezf4ef2d02021-04-20 13:36:24 +02001#ifdef GEN_FLANG_DIRECTIVE_CLAUSE_SETS
2#undef GEN_FLANG_DIRECTIVE_CLAUSE_SETS
3
4namespace llvm {
5namespace omp {
6
7 // Sets for allocate
8
9 static OmpClauseSet allowedClauses_OMPD_allocate {
10 llvm::omp::Clause::OMPC_allocator,
11 };
12
13 static OmpClauseSet allowedOnceClauses_OMPD_allocate {
14 };
15
16 static OmpClauseSet allowedExclusiveClauses_OMPD_allocate {
17 };
18
19 static OmpClauseSet requiredClauses_OMPD_allocate {
20 };
21
22 // Sets for assumes
23
24 static OmpClauseSet allowedClauses_OMPD_assumes {
25 };
26
27 static OmpClauseSet allowedOnceClauses_OMPD_assumes {
28 };
29
30 static OmpClauseSet allowedExclusiveClauses_OMPD_assumes {
31 };
32
33 static OmpClauseSet requiredClauses_OMPD_assumes {
34 };
35
36 // Sets for atomic
37
38 static OmpClauseSet allowedClauses_OMPD_atomic {
39 llvm::omp::Clause::OMPC_read,
40 llvm::omp::Clause::OMPC_write,
41 llvm::omp::Clause::OMPC_update,
42 llvm::omp::Clause::OMPC_capture,
43 };
44
45 static OmpClauseSet allowedOnceClauses_OMPD_atomic {
46 llvm::omp::Clause::OMPC_seq_cst,
47 llvm::omp::Clause::OMPC_acq_rel,
48 llvm::omp::Clause::OMPC_acquire,
49 llvm::omp::Clause::OMPC_release,
50 llvm::omp::Clause::OMPC_relaxed,
51 llvm::omp::Clause::OMPC_hint,
52 };
53
54 static OmpClauseSet allowedExclusiveClauses_OMPD_atomic {
55 };
56
57 static OmpClauseSet requiredClauses_OMPD_atomic {
58 };
59
60 // Sets for barrier
61
62 static OmpClauseSet allowedClauses_OMPD_barrier {
63 };
64
65 static OmpClauseSet allowedOnceClauses_OMPD_barrier {
66 };
67
68 static OmpClauseSet allowedExclusiveClauses_OMPD_barrier {
69 };
70
71 static OmpClauseSet requiredClauses_OMPD_barrier {
72 };
73
74 // Sets for begin assumes
75
76 static OmpClauseSet allowedClauses_OMPD_begin_assumes {
77 };
78
79 static OmpClauseSet allowedOnceClauses_OMPD_begin_assumes {
80 };
81
82 static OmpClauseSet allowedExclusiveClauses_OMPD_begin_assumes {
83 };
84
85 static OmpClauseSet requiredClauses_OMPD_begin_assumes {
86 };
87
88 // Sets for begin declare variant
89
90 static OmpClauseSet allowedClauses_OMPD_begin_declare_variant {
91 };
92
93 static OmpClauseSet allowedOnceClauses_OMPD_begin_declare_variant {
94 };
95
96 static OmpClauseSet allowedExclusiveClauses_OMPD_begin_declare_variant {
97 };
98
99 static OmpClauseSet requiredClauses_OMPD_begin_declare_variant {
100 };
101
102 // Sets for cancel
103
104 static OmpClauseSet allowedClauses_OMPD_cancel {
105 llvm::omp::Clause::OMPC_if,
106 };
107
108 static OmpClauseSet allowedOnceClauses_OMPD_cancel {
109 };
110
111 static OmpClauseSet allowedExclusiveClauses_OMPD_cancel {
112 };
113
114 static OmpClauseSet requiredClauses_OMPD_cancel {
115 };
116
117 // Sets for cancellation point
118
119 static OmpClauseSet allowedClauses_OMPD_cancellation_point {
120 };
121
122 static OmpClauseSet allowedOnceClauses_OMPD_cancellation_point {
123 };
124
125 static OmpClauseSet allowedExclusiveClauses_OMPD_cancellation_point {
126 };
127
128 static OmpClauseSet requiredClauses_OMPD_cancellation_point {
129 };
130
131 // Sets for critical
132
133 static OmpClauseSet allowedClauses_OMPD_critical {
134 llvm::omp::Clause::OMPC_hint,
135 };
136
137 static OmpClauseSet allowedOnceClauses_OMPD_critical {
138 };
139
140 static OmpClauseSet allowedExclusiveClauses_OMPD_critical {
141 };
142
143 static OmpClauseSet requiredClauses_OMPD_critical {
144 };
145
146 // Sets for declare mapper
147
148 static OmpClauseSet allowedClauses_OMPD_declare_mapper {
149 llvm::omp::Clause::OMPC_map,
150 };
151
152 static OmpClauseSet allowedOnceClauses_OMPD_declare_mapper {
153 };
154
155 static OmpClauseSet allowedExclusiveClauses_OMPD_declare_mapper {
156 };
157
158 static OmpClauseSet requiredClauses_OMPD_declare_mapper {
159 };
160
161 // Sets for declare reduction
162
163 static OmpClauseSet allowedClauses_OMPD_declare_reduction {
164 };
165
166 static OmpClauseSet allowedOnceClauses_OMPD_declare_reduction {
167 };
168
169 static OmpClauseSet allowedExclusiveClauses_OMPD_declare_reduction {
170 };
171
172 static OmpClauseSet requiredClauses_OMPD_declare_reduction {
173 };
174
175 // Sets for declare simd
176
177 static OmpClauseSet allowedClauses_OMPD_declare_simd {
178 llvm::omp::Clause::OMPC_linear,
179 llvm::omp::Clause::OMPC_aligned,
180 llvm::omp::Clause::OMPC_uniform,
181 };
182
183 static OmpClauseSet allowedOnceClauses_OMPD_declare_simd {
184 llvm::omp::Clause::OMPC_simdlen,
185 };
186
187 static OmpClauseSet allowedExclusiveClauses_OMPD_declare_simd {
188 llvm::omp::Clause::OMPC_inbranch,
189 llvm::omp::Clause::OMPC_notinbranch,
190 };
191
192 static OmpClauseSet requiredClauses_OMPD_declare_simd {
193 };
194
195 // Sets for declare target
196
197 static OmpClauseSet allowedClauses_OMPD_declare_target {
198 llvm::omp::Clause::OMPC_to,
199 llvm::omp::Clause::OMPC_link,
200 };
201
202 static OmpClauseSet allowedOnceClauses_OMPD_declare_target {
203 };
204
205 static OmpClauseSet allowedExclusiveClauses_OMPD_declare_target {
206 };
207
208 static OmpClauseSet requiredClauses_OMPD_declare_target {
209 };
210
211 // Sets for declare variant
212
213 static OmpClauseSet allowedClauses_OMPD_declare_variant {
214 llvm::omp::Clause::OMPC_match,
215 };
216
217 static OmpClauseSet allowedOnceClauses_OMPD_declare_variant {
218 };
219
220 static OmpClauseSet allowedExclusiveClauses_OMPD_declare_variant {
221 };
222
223 static OmpClauseSet requiredClauses_OMPD_declare_variant {
224 };
225
226 // Sets for depobj
227
228 static OmpClauseSet allowedClauses_OMPD_depobj {
229 llvm::omp::Clause::OMPC_depend,
230 llvm::omp::Clause::OMPC_destroy,
231 llvm::omp::Clause::OMPC_update,
232 llvm::omp::Clause::OMPC_depobj,
233 };
234
235 static OmpClauseSet allowedOnceClauses_OMPD_depobj {
236 };
237
238 static OmpClauseSet allowedExclusiveClauses_OMPD_depobj {
239 };
240
241 static OmpClauseSet requiredClauses_OMPD_depobj {
242 };
243
244 // Sets for distribute
245
246 static OmpClauseSet allowedClauses_OMPD_distribute {
247 llvm::omp::Clause::OMPC_private,
248 llvm::omp::Clause::OMPC_firstprivate,
249 llvm::omp::Clause::OMPC_lastprivate,
250 llvm::omp::Clause::OMPC_allocate,
251 };
252
253 static OmpClauseSet allowedOnceClauses_OMPD_distribute {
254 llvm::omp::Clause::OMPC_collapse,
255 llvm::omp::Clause::OMPC_dist_schedule,
256 };
257
258 static OmpClauseSet allowedExclusiveClauses_OMPD_distribute {
259 };
260
261 static OmpClauseSet requiredClauses_OMPD_distribute {
262 };
263
264 // Sets for distribute parallel do
265
266 static OmpClauseSet allowedClauses_OMPD_distribute_parallel_do {
267 llvm::omp::Clause::OMPC_private,
268 llvm::omp::Clause::OMPC_firstprivate,
269 llvm::omp::Clause::OMPC_lastprivate,
270 llvm::omp::Clause::OMPC_allocate,
271 llvm::omp::Clause::OMPC_order,
272 llvm::omp::Clause::OMPC_default,
273 llvm::omp::Clause::OMPC_shared,
274 llvm::omp::Clause::OMPC_reduction,
275 llvm::omp::Clause::OMPC_copyin,
276 llvm::omp::Clause::OMPC_linear,
277 };
278
279 static OmpClauseSet allowedOnceClauses_OMPD_distribute_parallel_do {
280 llvm::omp::Clause::OMPC_collapse,
281 llvm::omp::Clause::OMPC_dist_schedule,
282 llvm::omp::Clause::OMPC_if,
283 llvm::omp::Clause::OMPC_num_threads,
284 llvm::omp::Clause::OMPC_proc_bind,
285 llvm::omp::Clause::OMPC_schedule,
286 llvm::omp::Clause::OMPC_ordered,
287 };
288
289 static OmpClauseSet allowedExclusiveClauses_OMPD_distribute_parallel_do {
290 };
291
292 static OmpClauseSet requiredClauses_OMPD_distribute_parallel_do {
293 };
294
295 // Sets for distribute parallel do simd
296
297 static OmpClauseSet allowedClauses_OMPD_distribute_parallel_do_simd {
298 llvm::omp::Clause::OMPC_firstprivate,
299 llvm::omp::Clause::OMPC_lastprivate,
300 llvm::omp::Clause::OMPC_collapse,
301 llvm::omp::Clause::OMPC_dist_schedule,
302 llvm::omp::Clause::OMPC_if,
303 llvm::omp::Clause::OMPC_num_threads,
304 llvm::omp::Clause::OMPC_default,
305 llvm::omp::Clause::OMPC_proc_bind,
306 llvm::omp::Clause::OMPC_private,
307 llvm::omp::Clause::OMPC_shared,
308 llvm::omp::Clause::OMPC_reduction,
309 llvm::omp::Clause::OMPC_copyin,
310 llvm::omp::Clause::OMPC_schedule,
311 llvm::omp::Clause::OMPC_linear,
312 llvm::omp::Clause::OMPC_aligned,
313 llvm::omp::Clause::OMPC_safelen,
314 llvm::omp::Clause::OMPC_simdlen,
315 llvm::omp::Clause::OMPC_allocate,
316 llvm::omp::Clause::OMPC_nontemporal,
317 llvm::omp::Clause::OMPC_order,
318 };
319
320 static OmpClauseSet allowedOnceClauses_OMPD_distribute_parallel_do_simd {
321 };
322
323 static OmpClauseSet allowedExclusiveClauses_OMPD_distribute_parallel_do_simd {
324 };
325
326 static OmpClauseSet requiredClauses_OMPD_distribute_parallel_do_simd {
327 };
328
329 // Sets for distribute parallel for
330
331 static OmpClauseSet allowedClauses_OMPD_distribute_parallel_for {
332 llvm::omp::Clause::OMPC_firstprivate,
333 llvm::omp::Clause::OMPC_lastprivate,
334 llvm::omp::Clause::OMPC_collapse,
335 llvm::omp::Clause::OMPC_dist_schedule,
336 llvm::omp::Clause::OMPC_if,
337 llvm::omp::Clause::OMPC_num_threads,
338 llvm::omp::Clause::OMPC_default,
339 llvm::omp::Clause::OMPC_proc_bind,
340 llvm::omp::Clause::OMPC_private,
341 llvm::omp::Clause::OMPC_shared,
342 llvm::omp::Clause::OMPC_reduction,
343 llvm::omp::Clause::OMPC_copyin,
344 llvm::omp::Clause::OMPC_schedule,
345 llvm::omp::Clause::OMPC_allocate,
346 llvm::omp::Clause::OMPC_order,
347 };
348
349 static OmpClauseSet allowedOnceClauses_OMPD_distribute_parallel_for {
350 };
351
352 static OmpClauseSet allowedExclusiveClauses_OMPD_distribute_parallel_for {
353 };
354
355 static OmpClauseSet requiredClauses_OMPD_distribute_parallel_for {
356 };
357
358 // Sets for distribute parallel for simd
359
360 static OmpClauseSet allowedClauses_OMPD_distribute_parallel_for_simd {
361 llvm::omp::Clause::OMPC_firstprivate,
362 llvm::omp::Clause::OMPC_lastprivate,
363 llvm::omp::Clause::OMPC_collapse,
364 llvm::omp::Clause::OMPC_dist_schedule,
365 llvm::omp::Clause::OMPC_if,
366 llvm::omp::Clause::OMPC_num_threads,
367 llvm::omp::Clause::OMPC_default,
368 llvm::omp::Clause::OMPC_proc_bind,
369 llvm::omp::Clause::OMPC_private,
370 llvm::omp::Clause::OMPC_shared,
371 llvm::omp::Clause::OMPC_reduction,
372 llvm::omp::Clause::OMPC_copyin,
373 llvm::omp::Clause::OMPC_schedule,
374 llvm::omp::Clause::OMPC_linear,
375 llvm::omp::Clause::OMPC_aligned,
376 llvm::omp::Clause::OMPC_safelen,
377 llvm::omp::Clause::OMPC_simdlen,
378 llvm::omp::Clause::OMPC_allocate,
379 llvm::omp::Clause::OMPC_nontemporal,
380 llvm::omp::Clause::OMPC_order,
381 };
382
383 static OmpClauseSet allowedOnceClauses_OMPD_distribute_parallel_for_simd {
384 };
385
386 static OmpClauseSet allowedExclusiveClauses_OMPD_distribute_parallel_for_simd {
387 };
388
389 static OmpClauseSet requiredClauses_OMPD_distribute_parallel_for_simd {
390 };
391
392 // Sets for distribute simd
393
394 static OmpClauseSet allowedClauses_OMPD_distribute_simd {
395 llvm::omp::Clause::OMPC_aligned,
396 llvm::omp::Clause::OMPC_allocate,
397 llvm::omp::Clause::OMPC_copyin,
398 llvm::omp::Clause::OMPC_default,
399 llvm::omp::Clause::OMPC_linear,
400 llvm::omp::Clause::OMPC_firstprivate,
401 llvm::omp::Clause::OMPC_lastprivate,
402 llvm::omp::Clause::OMPC_nontemporal,
403 llvm::omp::Clause::OMPC_order,
404 llvm::omp::Clause::OMPC_private,
405 llvm::omp::Clause::OMPC_reduction,
406 };
407
408 static OmpClauseSet allowedOnceClauses_OMPD_distribute_simd {
409 llvm::omp::Clause::OMPC_collapse,
410 llvm::omp::Clause::OMPC_dist_schedule,
411 llvm::omp::Clause::OMPC_if,
412 llvm::omp::Clause::OMPC_num_threads,
413 llvm::omp::Clause::OMPC_ordered,
414 llvm::omp::Clause::OMPC_proc_bind,
415 llvm::omp::Clause::OMPC_schedule,
416 llvm::omp::Clause::OMPC_safelen,
417 llvm::omp::Clause::OMPC_simdlen,
418 };
419
420 static OmpClauseSet allowedExclusiveClauses_OMPD_distribute_simd {
421 };
422
423 static OmpClauseSet requiredClauses_OMPD_distribute_simd {
424 };
425
426 // Sets for do
427
428 static OmpClauseSet allowedClauses_OMPD_do {
429 llvm::omp::Clause::OMPC_private,
430 llvm::omp::Clause::OMPC_firstprivate,
431 llvm::omp::Clause::OMPC_lastprivate,
432 llvm::omp::Clause::OMPC_linear,
433 llvm::omp::Clause::OMPC_reduction,
434 };
435
436 static OmpClauseSet allowedOnceClauses_OMPD_do {
437 llvm::omp::Clause::OMPC_schedule,
438 llvm::omp::Clause::OMPC_collapse,
439 llvm::omp::Clause::OMPC_ordered,
440 llvm::omp::Clause::OMPC_nowait,
441 };
442
443 static OmpClauseSet allowedExclusiveClauses_OMPD_do {
444 };
445
446 static OmpClauseSet requiredClauses_OMPD_do {
447 };
448
449 // Sets for do simd
450
451 static OmpClauseSet allowedClauses_OMPD_do_simd {
452 llvm::omp::Clause::OMPC_aligned,
453 llvm::omp::Clause::OMPC_private,
454 llvm::omp::Clause::OMPC_firstprivate,
455 llvm::omp::Clause::OMPC_lastprivate,
456 llvm::omp::Clause::OMPC_linear,
457 llvm::omp::Clause::OMPC_reduction,
458 };
459
460 static OmpClauseSet allowedOnceClauses_OMPD_do_simd {
461 llvm::omp::Clause::OMPC_schedule,
462 llvm::omp::Clause::OMPC_collapse,
463 llvm::omp::Clause::OMPC_ordered,
464 llvm::omp::Clause::OMPC_safelen,
465 llvm::omp::Clause::OMPC_simdlen,
466 llvm::omp::Clause::OMPC_nowait,
467 };
468
469 static OmpClauseSet allowedExclusiveClauses_OMPD_do_simd {
470 };
471
472 static OmpClauseSet requiredClauses_OMPD_do_simd {
473 };
474
475 // Sets for end assumes
476
477 static OmpClauseSet allowedClauses_OMPD_end_assumes {
478 };
479
480 static OmpClauseSet allowedOnceClauses_OMPD_end_assumes {
481 };
482
483 static OmpClauseSet allowedExclusiveClauses_OMPD_end_assumes {
484 };
485
486 static OmpClauseSet requiredClauses_OMPD_end_assumes {
487 };
488
489 // Sets for end declare target
490
491 static OmpClauseSet allowedClauses_OMPD_end_declare_target {
492 };
493
494 static OmpClauseSet allowedOnceClauses_OMPD_end_declare_target {
495 };
496
497 static OmpClauseSet allowedExclusiveClauses_OMPD_end_declare_target {
498 };
499
500 static OmpClauseSet requiredClauses_OMPD_end_declare_target {
501 };
502
503 // Sets for end declare variant
504
505 static OmpClauseSet allowedClauses_OMPD_end_declare_variant {
506 };
507
508 static OmpClauseSet allowedOnceClauses_OMPD_end_declare_variant {
509 };
510
511 static OmpClauseSet allowedExclusiveClauses_OMPD_end_declare_variant {
512 };
513
514 static OmpClauseSet requiredClauses_OMPD_end_declare_variant {
515 };
516
517 // Sets for end do
518
519 static OmpClauseSet allowedClauses_OMPD_end_do {
520 };
521
522 static OmpClauseSet allowedOnceClauses_OMPD_end_do {
523 };
524
525 static OmpClauseSet allowedExclusiveClauses_OMPD_end_do {
526 };
527
528 static OmpClauseSet requiredClauses_OMPD_end_do {
529 };
530
531 // Sets for end do simd
532
533 static OmpClauseSet allowedClauses_OMPD_end_do_simd {
534 };
535
536 static OmpClauseSet allowedOnceClauses_OMPD_end_do_simd {
537 };
538
539 static OmpClauseSet allowedExclusiveClauses_OMPD_end_do_simd {
540 };
541
542 static OmpClauseSet requiredClauses_OMPD_end_do_simd {
543 };
544
545 // Sets for end sections
546
547 static OmpClauseSet allowedClauses_OMPD_end_sections {
548 };
549
550 static OmpClauseSet allowedOnceClauses_OMPD_end_sections {
551 llvm::omp::Clause::OMPC_nowait,
552 };
553
554 static OmpClauseSet allowedExclusiveClauses_OMPD_end_sections {
555 };
556
557 static OmpClauseSet requiredClauses_OMPD_end_sections {
558 };
559
560 // Sets for end single
561
562 static OmpClauseSet allowedClauses_OMPD_end_single {
563 llvm::omp::Clause::OMPC_copyprivate,
564 };
565
566 static OmpClauseSet allowedOnceClauses_OMPD_end_single {
567 llvm::omp::Clause::OMPC_nowait,
568 };
569
570 static OmpClauseSet allowedExclusiveClauses_OMPD_end_single {
571 };
572
573 static OmpClauseSet requiredClauses_OMPD_end_single {
574 };
575
576 // Sets for end workshare
577
578 static OmpClauseSet allowedClauses_OMPD_end_workshare {
579 llvm::omp::Clause::OMPC_nowait,
580 };
581
582 static OmpClauseSet allowedOnceClauses_OMPD_end_workshare {
583 };
584
585 static OmpClauseSet allowedExclusiveClauses_OMPD_end_workshare {
586 };
587
588 static OmpClauseSet requiredClauses_OMPD_end_workshare {
589 };
590
591 // Sets for flush
592
593 static OmpClauseSet allowedClauses_OMPD_flush {
594 };
595
596 static OmpClauseSet allowedOnceClauses_OMPD_flush {
597 llvm::omp::Clause::OMPC_acq_rel,
598 llvm::omp::Clause::OMPC_acquire,
599 llvm::omp::Clause::OMPC_release,
600 llvm::omp::Clause::OMPC_flush,
601 };
602
603 static OmpClauseSet allowedExclusiveClauses_OMPD_flush {
604 };
605
606 static OmpClauseSet requiredClauses_OMPD_flush {
607 };
608
609 // Sets for for
610
611 static OmpClauseSet allowedClauses_OMPD_for {
612 llvm::omp::Clause::OMPC_private,
613 llvm::omp::Clause::OMPC_lastprivate,
614 llvm::omp::Clause::OMPC_firstprivate,
615 llvm::omp::Clause::OMPC_reduction,
616 llvm::omp::Clause::OMPC_collapse,
617 llvm::omp::Clause::OMPC_schedule,
618 llvm::omp::Clause::OMPC_ordered,
619 llvm::omp::Clause::OMPC_nowait,
620 llvm::omp::Clause::OMPC_linear,
621 llvm::omp::Clause::OMPC_allocate,
622 llvm::omp::Clause::OMPC_order,
623 };
624
625 static OmpClauseSet allowedOnceClauses_OMPD_for {
626 };
627
628 static OmpClauseSet allowedExclusiveClauses_OMPD_for {
629 };
630
631 static OmpClauseSet requiredClauses_OMPD_for {
632 };
633
634 // Sets for for simd
635
636 static OmpClauseSet allowedClauses_OMPD_for_simd {
637 llvm::omp::Clause::OMPC_private,
638 llvm::omp::Clause::OMPC_firstprivate,
639 llvm::omp::Clause::OMPC_lastprivate,
640 llvm::omp::Clause::OMPC_reduction,
641 llvm::omp::Clause::OMPC_schedule,
642 llvm::omp::Clause::OMPC_collapse,
643 llvm::omp::Clause::OMPC_nowait,
644 llvm::omp::Clause::OMPC_safelen,
645 llvm::omp::Clause::OMPC_simdlen,
646 llvm::omp::Clause::OMPC_linear,
647 llvm::omp::Clause::OMPC_aligned,
648 llvm::omp::Clause::OMPC_ordered,
649 llvm::omp::Clause::OMPC_allocate,
650 llvm::omp::Clause::OMPC_if,
651 llvm::omp::Clause::OMPC_nontemporal,
652 llvm::omp::Clause::OMPC_order,
653 };
654
655 static OmpClauseSet allowedOnceClauses_OMPD_for_simd {
656 };
657
658 static OmpClauseSet allowedExclusiveClauses_OMPD_for_simd {
659 };
660
661 static OmpClauseSet requiredClauses_OMPD_for_simd {
662 };
663
664 // Sets for master
665
666 static OmpClauseSet allowedClauses_OMPD_master {
667 };
668
669 static OmpClauseSet allowedOnceClauses_OMPD_master {
670 };
671
672 static OmpClauseSet allowedExclusiveClauses_OMPD_master {
673 };
674
675 static OmpClauseSet requiredClauses_OMPD_master {
676 };
677
678 // Sets for master taskloop
679
680 static OmpClauseSet allowedClauses_OMPD_master_taskloop {
681 llvm::omp::Clause::OMPC_if,
682 llvm::omp::Clause::OMPC_shared,
683 llvm::omp::Clause::OMPC_private,
684 llvm::omp::Clause::OMPC_firstprivate,
685 llvm::omp::Clause::OMPC_lastprivate,
686 llvm::omp::Clause::OMPC_default,
687 llvm::omp::Clause::OMPC_collapse,
688 llvm::omp::Clause::OMPC_final,
689 llvm::omp::Clause::OMPC_untied,
690 llvm::omp::Clause::OMPC_mergeable,
691 llvm::omp::Clause::OMPC_priority,
692 llvm::omp::Clause::OMPC_grainsize,
693 llvm::omp::Clause::OMPC_nogroup,
694 llvm::omp::Clause::OMPC_num_tasks,
695 llvm::omp::Clause::OMPC_reduction,
696 llvm::omp::Clause::OMPC_in_reduction,
697 llvm::omp::Clause::OMPC_allocate,
698 };
699
700 static OmpClauseSet allowedOnceClauses_OMPD_master_taskloop {
701 };
702
703 static OmpClauseSet allowedExclusiveClauses_OMPD_master_taskloop {
704 };
705
706 static OmpClauseSet requiredClauses_OMPD_master_taskloop {
707 };
708
709 // Sets for master taskloop simd
710
711 static OmpClauseSet allowedClauses_OMPD_master_taskloop_simd {
712 llvm::omp::Clause::OMPC_if,
713 llvm::omp::Clause::OMPC_shared,
714 llvm::omp::Clause::OMPC_private,
715 llvm::omp::Clause::OMPC_firstprivate,
716 llvm::omp::Clause::OMPC_lastprivate,
717 llvm::omp::Clause::OMPC_default,
718 llvm::omp::Clause::OMPC_collapse,
719 llvm::omp::Clause::OMPC_final,
720 llvm::omp::Clause::OMPC_untied,
721 llvm::omp::Clause::OMPC_mergeable,
722 llvm::omp::Clause::OMPC_priority,
723 llvm::omp::Clause::OMPC_linear,
724 llvm::omp::Clause::OMPC_aligned,
725 llvm::omp::Clause::OMPC_safelen,
726 llvm::omp::Clause::OMPC_simdlen,
727 llvm::omp::Clause::OMPC_grainsize,
728 llvm::omp::Clause::OMPC_nogroup,
729 llvm::omp::Clause::OMPC_num_tasks,
730 llvm::omp::Clause::OMPC_reduction,
731 llvm::omp::Clause::OMPC_in_reduction,
732 llvm::omp::Clause::OMPC_allocate,
733 llvm::omp::Clause::OMPC_nontemporal,
734 llvm::omp::Clause::OMPC_order,
735 };
736
737 static OmpClauseSet allowedOnceClauses_OMPD_master_taskloop_simd {
738 };
739
740 static OmpClauseSet allowedExclusiveClauses_OMPD_master_taskloop_simd {
741 };
742
743 static OmpClauseSet requiredClauses_OMPD_master_taskloop_simd {
744 };
745
746 // Sets for ordered
747
748 static OmpClauseSet allowedClauses_OMPD_ordered {
749 llvm::omp::Clause::OMPC_threads,
750 llvm::omp::Clause::OMPC_simd,
751 llvm::omp::Clause::OMPC_depend,
752 };
753
754 static OmpClauseSet allowedOnceClauses_OMPD_ordered {
755 };
756
757 static OmpClauseSet allowedExclusiveClauses_OMPD_ordered {
758 };
759
760 static OmpClauseSet requiredClauses_OMPD_ordered {
761 };
762
763 // Sets for parallel
764
765 static OmpClauseSet allowedClauses_OMPD_parallel {
766 llvm::omp::Clause::OMPC_private,
767 llvm::omp::Clause::OMPC_firstprivate,
768 llvm::omp::Clause::OMPC_shared,
769 llvm::omp::Clause::OMPC_reduction,
770 llvm::omp::Clause::OMPC_copyin,
771 llvm::omp::Clause::OMPC_allocate,
772 };
773
774 static OmpClauseSet allowedOnceClauses_OMPD_parallel {
775 llvm::omp::Clause::OMPC_default,
776 llvm::omp::Clause::OMPC_if,
777 llvm::omp::Clause::OMPC_num_threads,
778 llvm::omp::Clause::OMPC_proc_bind,
779 };
780
781 static OmpClauseSet allowedExclusiveClauses_OMPD_parallel {
782 };
783
784 static OmpClauseSet requiredClauses_OMPD_parallel {
785 };
786
787 // Sets for parallel do
788
789 static OmpClauseSet allowedClauses_OMPD_parallel_do {
790 llvm::omp::Clause::OMPC_default,
791 llvm::omp::Clause::OMPC_private,
792 llvm::omp::Clause::OMPC_firstprivate,
793 llvm::omp::Clause::OMPC_shared,
794 llvm::omp::Clause::OMPC_reduction,
795 llvm::omp::Clause::OMPC_copyin,
796 llvm::omp::Clause::OMPC_lastprivate,
797 llvm::omp::Clause::OMPC_linear,
798 };
799
800 static OmpClauseSet allowedOnceClauses_OMPD_parallel_do {
801 llvm::omp::Clause::OMPC_if,
802 llvm::omp::Clause::OMPC_num_threads,
803 llvm::omp::Clause::OMPC_proc_bind,
804 llvm::omp::Clause::OMPC_schedule,
805 llvm::omp::Clause::OMPC_ordered,
806 llvm::omp::Clause::OMPC_collapse,
807 };
808
809 static OmpClauseSet allowedExclusiveClauses_OMPD_parallel_do {
810 };
811
812 static OmpClauseSet requiredClauses_OMPD_parallel_do {
813 };
814
815 // Sets for parallel do simd
816
817 static OmpClauseSet allowedClauses_OMPD_parallel_do_simd {
818 llvm::omp::Clause::OMPC_default,
819 llvm::omp::Clause::OMPC_private,
820 llvm::omp::Clause::OMPC_firstprivate,
821 llvm::omp::Clause::OMPC_shared,
822 llvm::omp::Clause::OMPC_reduction,
823 llvm::omp::Clause::OMPC_copyin,
824 llvm::omp::Clause::OMPC_lastprivate,
825 llvm::omp::Clause::OMPC_linear,
826 llvm::omp::Clause::OMPC_aligned,
827 llvm::omp::Clause::OMPC_allocate,
828 llvm::omp::Clause::OMPC_nontemporal,
829 llvm::omp::Clause::OMPC_order,
830 };
831
832 static OmpClauseSet allowedOnceClauses_OMPD_parallel_do_simd {
833 llvm::omp::Clause::OMPC_if,
834 llvm::omp::Clause::OMPC_num_threads,
835 llvm::omp::Clause::OMPC_proc_bind,
836 llvm::omp::Clause::OMPC_schedule,
837 llvm::omp::Clause::OMPC_ordered,
838 llvm::omp::Clause::OMPC_collapse,
839 llvm::omp::Clause::OMPC_safelen,
840 llvm::omp::Clause::OMPC_simdlen,
841 };
842
843 static OmpClauseSet allowedExclusiveClauses_OMPD_parallel_do_simd {
844 };
845
846 static OmpClauseSet requiredClauses_OMPD_parallel_do_simd {
847 };
848
849 // Sets for parallel for
850
851 static OmpClauseSet allowedClauses_OMPD_parallel_for {
852 llvm::omp::Clause::OMPC_if,
853 llvm::omp::Clause::OMPC_num_threads,
854 llvm::omp::Clause::OMPC_default,
855 llvm::omp::Clause::OMPC_proc_bind,
856 llvm::omp::Clause::OMPC_private,
857 llvm::omp::Clause::OMPC_firstprivate,
858 llvm::omp::Clause::OMPC_shared,
859 llvm::omp::Clause::OMPC_reduction,
860 llvm::omp::Clause::OMPC_copyin,
861 llvm::omp::Clause::OMPC_lastprivate,
862 llvm::omp::Clause::OMPC_collapse,
863 llvm::omp::Clause::OMPC_schedule,
864 llvm::omp::Clause::OMPC_ordered,
865 llvm::omp::Clause::OMPC_linear,
866 llvm::omp::Clause::OMPC_allocate,
867 llvm::omp::Clause::OMPC_order,
868 };
869
870 static OmpClauseSet allowedOnceClauses_OMPD_parallel_for {
871 };
872
873 static OmpClauseSet allowedExclusiveClauses_OMPD_parallel_for {
874 };
875
876 static OmpClauseSet requiredClauses_OMPD_parallel_for {
877 };
878
879 // Sets for parallel for simd
880
881 static OmpClauseSet allowedClauses_OMPD_parallel_for_simd {
882 llvm::omp::Clause::OMPC_if,
883 llvm::omp::Clause::OMPC_num_threads,
884 llvm::omp::Clause::OMPC_default,
885 llvm::omp::Clause::OMPC_proc_bind,
886 llvm::omp::Clause::OMPC_private,
887 llvm::omp::Clause::OMPC_firstprivate,
888 llvm::omp::Clause::OMPC_shared,
889 llvm::omp::Clause::OMPC_reduction,
890 llvm::omp::Clause::OMPC_copyin,
891 llvm::omp::Clause::OMPC_lastprivate,
892 llvm::omp::Clause::OMPC_collapse,
893 llvm::omp::Clause::OMPC_schedule,
894 llvm::omp::Clause::OMPC_safelen,
895 llvm::omp::Clause::OMPC_simdlen,
896 llvm::omp::Clause::OMPC_linear,
897 llvm::omp::Clause::OMPC_aligned,
898 llvm::omp::Clause::OMPC_ordered,
899 llvm::omp::Clause::OMPC_allocate,
900 llvm::omp::Clause::OMPC_nontemporal,
901 llvm::omp::Clause::OMPC_order,
902 };
903
904 static OmpClauseSet allowedOnceClauses_OMPD_parallel_for_simd {
905 };
906
907 static OmpClauseSet allowedExclusiveClauses_OMPD_parallel_for_simd {
908 };
909
910 static OmpClauseSet requiredClauses_OMPD_parallel_for_simd {
911 };
912
913 // Sets for parallel master
914
915 static OmpClauseSet allowedClauses_OMPD_parallel_master {
916 llvm::omp::Clause::OMPC_if,
917 llvm::omp::Clause::OMPC_num_threads,
918 llvm::omp::Clause::OMPC_default,
919 llvm::omp::Clause::OMPC_private,
920 llvm::omp::Clause::OMPC_firstprivate,
921 llvm::omp::Clause::OMPC_shared,
922 llvm::omp::Clause::OMPC_copyin,
923 llvm::omp::Clause::OMPC_reduction,
924 llvm::omp::Clause::OMPC_proc_bind,
925 llvm::omp::Clause::OMPC_allocate,
926 };
927
928 static OmpClauseSet allowedOnceClauses_OMPD_parallel_master {
929 };
930
931 static OmpClauseSet allowedExclusiveClauses_OMPD_parallel_master {
932 };
933
934 static OmpClauseSet requiredClauses_OMPD_parallel_master {
935 };
936
937 // Sets for parallel master taskloop
938
939 static OmpClauseSet allowedClauses_OMPD_parallel_master_taskloop {
940 llvm::omp::Clause::OMPC_if,
941 llvm::omp::Clause::OMPC_shared,
942 llvm::omp::Clause::OMPC_private,
943 llvm::omp::Clause::OMPC_firstprivate,
944 llvm::omp::Clause::OMPC_lastprivate,
945 llvm::omp::Clause::OMPC_default,
946 llvm::omp::Clause::OMPC_collapse,
947 llvm::omp::Clause::OMPC_final,
948 llvm::omp::Clause::OMPC_untied,
949 llvm::omp::Clause::OMPC_mergeable,
950 llvm::omp::Clause::OMPC_priority,
951 llvm::omp::Clause::OMPC_grainsize,
952 llvm::omp::Clause::OMPC_nogroup,
953 llvm::omp::Clause::OMPC_num_tasks,
954 llvm::omp::Clause::OMPC_reduction,
955 llvm::omp::Clause::OMPC_allocate,
956 llvm::omp::Clause::OMPC_num_threads,
957 llvm::omp::Clause::OMPC_proc_bind,
958 llvm::omp::Clause::OMPC_copyin,
959 };
960
961 static OmpClauseSet allowedOnceClauses_OMPD_parallel_master_taskloop {
962 };
963
964 static OmpClauseSet allowedExclusiveClauses_OMPD_parallel_master_taskloop {
965 };
966
967 static OmpClauseSet requiredClauses_OMPD_parallel_master_taskloop {
968 };
969
970 // Sets for parallel master taskloop simd
971
972 static OmpClauseSet allowedClauses_OMPD_parallel_master_taskloop_simd {
973 llvm::omp::Clause::OMPC_if,
974 llvm::omp::Clause::OMPC_shared,
975 llvm::omp::Clause::OMPC_private,
976 llvm::omp::Clause::OMPC_firstprivate,
977 llvm::omp::Clause::OMPC_lastprivate,
978 llvm::omp::Clause::OMPC_default,
979 llvm::omp::Clause::OMPC_collapse,
980 llvm::omp::Clause::OMPC_final,
981 llvm::omp::Clause::OMPC_untied,
982 llvm::omp::Clause::OMPC_mergeable,
983 llvm::omp::Clause::OMPC_priority,
984 llvm::omp::Clause::OMPC_grainsize,
985 llvm::omp::Clause::OMPC_nogroup,
986 llvm::omp::Clause::OMPC_num_tasks,
987 llvm::omp::Clause::OMPC_reduction,
988 llvm::omp::Clause::OMPC_allocate,
989 llvm::omp::Clause::OMPC_num_threads,
990 llvm::omp::Clause::OMPC_proc_bind,
991 llvm::omp::Clause::OMPC_copyin,
992 llvm::omp::Clause::OMPC_linear,
993 llvm::omp::Clause::OMPC_aligned,
994 llvm::omp::Clause::OMPC_safelen,
995 llvm::omp::Clause::OMPC_simdlen,
996 llvm::omp::Clause::OMPC_nontemporal,
997 llvm::omp::Clause::OMPC_order,
998 };
999
1000 static OmpClauseSet allowedOnceClauses_OMPD_parallel_master_taskloop_simd {
1001 };
1002
1003 static OmpClauseSet allowedExclusiveClauses_OMPD_parallel_master_taskloop_simd {
1004 };
1005
1006 static OmpClauseSet requiredClauses_OMPD_parallel_master_taskloop_simd {
1007 };
1008
1009 // Sets for parallel sections
1010
1011 static OmpClauseSet allowedClauses_OMPD_parallel_sections {
1012 llvm::omp::Clause::OMPC_if,
1013 llvm::omp::Clause::OMPC_default,
1014 llvm::omp::Clause::OMPC_proc_bind,
1015 llvm::omp::Clause::OMPC_private,
1016 llvm::omp::Clause::OMPC_firstprivate,
1017 llvm::omp::Clause::OMPC_shared,
1018 llvm::omp::Clause::OMPC_reduction,
1019 llvm::omp::Clause::OMPC_copyin,
1020 llvm::omp::Clause::OMPC_lastprivate,
1021 llvm::omp::Clause::OMPC_allocate,
1022 };
1023
1024 static OmpClauseSet allowedOnceClauses_OMPD_parallel_sections {
1025 llvm::omp::Clause::OMPC_num_threads,
1026 };
1027
1028 static OmpClauseSet allowedExclusiveClauses_OMPD_parallel_sections {
1029 };
1030
1031 static OmpClauseSet requiredClauses_OMPD_parallel_sections {
1032 };
1033
1034 // Sets for parallel workshare
1035
1036 static OmpClauseSet allowedClauses_OMPD_parallel_workshare {
1037 llvm::omp::Clause::OMPC_allocate,
1038 llvm::omp::Clause::OMPC_copyin,
1039 llvm::omp::Clause::OMPC_default,
1040 llvm::omp::Clause::OMPC_firstprivate,
1041 llvm::omp::Clause::OMPC_private,
1042 llvm::omp::Clause::OMPC_reduction,
1043 llvm::omp::Clause::OMPC_shared,
1044 };
1045
1046 static OmpClauseSet allowedOnceClauses_OMPD_parallel_workshare {
1047 llvm::omp::Clause::OMPC_if,
1048 llvm::omp::Clause::OMPC_num_threads,
1049 llvm::omp::Clause::OMPC_proc_bind,
1050 };
1051
1052 static OmpClauseSet allowedExclusiveClauses_OMPD_parallel_workshare {
1053 };
1054
1055 static OmpClauseSet requiredClauses_OMPD_parallel_workshare {
1056 };
1057
1058 // Sets for requires
1059
1060 static OmpClauseSet allowedClauses_OMPD_requires {
1061 llvm::omp::Clause::OMPC_unified_address,
1062 llvm::omp::Clause::OMPC_unified_shared_memory,
1063 llvm::omp::Clause::OMPC_reverse_offload,
1064 llvm::omp::Clause::OMPC_dynamic_allocators,
1065 llvm::omp::Clause::OMPC_atomic_default_mem_order,
1066 };
1067
1068 static OmpClauseSet allowedOnceClauses_OMPD_requires {
1069 };
1070
1071 static OmpClauseSet allowedExclusiveClauses_OMPD_requires {
1072 };
1073
1074 static OmpClauseSet requiredClauses_OMPD_requires {
1075 };
1076
1077 // Sets for scan
1078
1079 static OmpClauseSet allowedClauses_OMPD_scan {
1080 llvm::omp::Clause::OMPC_inclusive,
1081 llvm::omp::Clause::OMPC_exclusive,
1082 };
1083
1084 static OmpClauseSet allowedOnceClauses_OMPD_scan {
1085 };
1086
1087 static OmpClauseSet allowedExclusiveClauses_OMPD_scan {
1088 };
1089
1090 static OmpClauseSet requiredClauses_OMPD_scan {
1091 };
1092
1093 // Sets for section
1094
1095 static OmpClauseSet allowedClauses_OMPD_section {
1096 };
1097
1098 static OmpClauseSet allowedOnceClauses_OMPD_section {
1099 };
1100
1101 static OmpClauseSet allowedExclusiveClauses_OMPD_section {
1102 };
1103
1104 static OmpClauseSet requiredClauses_OMPD_section {
1105 };
1106
1107 // Sets for sections
1108
1109 static OmpClauseSet allowedClauses_OMPD_sections {
1110 llvm::omp::Clause::OMPC_private,
1111 llvm::omp::Clause::OMPC_lastprivate,
1112 llvm::omp::Clause::OMPC_firstprivate,
1113 llvm::omp::Clause::OMPC_reduction,
1114 llvm::omp::Clause::OMPC_nowait,
1115 llvm::omp::Clause::OMPC_allocate,
1116 };
1117
1118 static OmpClauseSet allowedOnceClauses_OMPD_sections {
1119 };
1120
1121 static OmpClauseSet allowedExclusiveClauses_OMPD_sections {
1122 };
1123
1124 static OmpClauseSet requiredClauses_OMPD_sections {
1125 };
1126
1127 // Sets for simd
1128
1129 static OmpClauseSet allowedClauses_OMPD_simd {
1130 llvm::omp::Clause::OMPC_private,
1131 llvm::omp::Clause::OMPC_lastprivate,
1132 llvm::omp::Clause::OMPC_linear,
1133 llvm::omp::Clause::OMPC_aligned,
1134 llvm::omp::Clause::OMPC_reduction,
1135 llvm::omp::Clause::OMPC_allocate,
1136 llvm::omp::Clause::OMPC_nontemporal,
1137 llvm::omp::Clause::OMPC_order,
1138 };
1139
1140 static OmpClauseSet allowedOnceClauses_OMPD_simd {
1141 llvm::omp::Clause::OMPC_collapse,
1142 llvm::omp::Clause::OMPC_safelen,
1143 llvm::omp::Clause::OMPC_simdlen,
1144 llvm::omp::Clause::OMPC_if,
1145 };
1146
1147 static OmpClauseSet allowedExclusiveClauses_OMPD_simd {
1148 };
1149
1150 static OmpClauseSet requiredClauses_OMPD_simd {
1151 };
1152
1153 // Sets for single
1154
1155 static OmpClauseSet allowedClauses_OMPD_single {
1156 llvm::omp::Clause::OMPC_private,
1157 llvm::omp::Clause::OMPC_firstprivate,
1158 llvm::omp::Clause::OMPC_copyprivate,
1159 llvm::omp::Clause::OMPC_nowait,
1160 llvm::omp::Clause::OMPC_allocate,
1161 };
1162
1163 static OmpClauseSet allowedOnceClauses_OMPD_single {
1164 };
1165
1166 static OmpClauseSet allowedExclusiveClauses_OMPD_single {
1167 };
1168
1169 static OmpClauseSet requiredClauses_OMPD_single {
1170 };
1171
1172 // Sets for target
1173
1174 static OmpClauseSet allowedClauses_OMPD_target {
1175 llvm::omp::Clause::OMPC_if,
1176 llvm::omp::Clause::OMPC_map,
1177 llvm::omp::Clause::OMPC_private,
1178 llvm::omp::Clause::OMPC_depend,
1179 llvm::omp::Clause::OMPC_firstprivate,
1180 llvm::omp::Clause::OMPC_is_device_ptr,
1181 llvm::omp::Clause::OMPC_reduction,
1182 llvm::omp::Clause::OMPC_allocate,
1183 llvm::omp::Clause::OMPC_uses_allocators,
1184 };
1185
1186 static OmpClauseSet allowedOnceClauses_OMPD_target {
1187 llvm::omp::Clause::OMPC_device,
1188 llvm::omp::Clause::OMPC_defaultmap,
1189 llvm::omp::Clause::OMPC_nowait,
1190 };
1191
1192 static OmpClauseSet allowedExclusiveClauses_OMPD_target {
1193 };
1194
1195 static OmpClauseSet requiredClauses_OMPD_target {
1196 };
1197
1198 // Sets for target data
1199
1200 static OmpClauseSet allowedClauses_OMPD_target_data {
1201 llvm::omp::Clause::OMPC_use_device_ptr,
1202 llvm::omp::Clause::OMPC_use_device_addr,
1203 };
1204
1205 static OmpClauseSet allowedOnceClauses_OMPD_target_data {
1206 llvm::omp::Clause::OMPC_device,
1207 llvm::omp::Clause::OMPC_if,
1208 };
1209
1210 static OmpClauseSet allowedExclusiveClauses_OMPD_target_data {
1211 };
1212
1213 static OmpClauseSet requiredClauses_OMPD_target_data {
1214 llvm::omp::Clause::OMPC_map,
1215 };
1216
1217 // Sets for target enter data
1218
1219 static OmpClauseSet allowedClauses_OMPD_target_enter_data {
1220 llvm::omp::Clause::OMPC_depend,
1221 };
1222
1223 static OmpClauseSet allowedOnceClauses_OMPD_target_enter_data {
1224 llvm::omp::Clause::OMPC_if,
1225 llvm::omp::Clause::OMPC_device,
1226 llvm::omp::Clause::OMPC_nowait,
1227 };
1228
1229 static OmpClauseSet allowedExclusiveClauses_OMPD_target_enter_data {
1230 };
1231
1232 static OmpClauseSet requiredClauses_OMPD_target_enter_data {
1233 llvm::omp::Clause::OMPC_map,
1234 };
1235
1236 // Sets for target exit data
1237
1238 static OmpClauseSet allowedClauses_OMPD_target_exit_data {
1239 llvm::omp::Clause::OMPC_depend,
1240 };
1241
1242 static OmpClauseSet allowedOnceClauses_OMPD_target_exit_data {
1243 llvm::omp::Clause::OMPC_device,
1244 llvm::omp::Clause::OMPC_if,
1245 llvm::omp::Clause::OMPC_nowait,
1246 };
1247
1248 static OmpClauseSet allowedExclusiveClauses_OMPD_target_exit_data {
1249 };
1250
1251 static OmpClauseSet requiredClauses_OMPD_target_exit_data {
1252 llvm::omp::Clause::OMPC_map,
1253 };
1254
1255 // Sets for target parallel
1256
1257 static OmpClauseSet allowedClauses_OMPD_target_parallel {
1258 llvm::omp::Clause::OMPC_map,
1259 llvm::omp::Clause::OMPC_nowait,
1260 llvm::omp::Clause::OMPC_depend,
1261 llvm::omp::Clause::OMPC_private,
1262 llvm::omp::Clause::OMPC_firstprivate,
1263 llvm::omp::Clause::OMPC_default,
1264 llvm::omp::Clause::OMPC_shared,
1265 llvm::omp::Clause::OMPC_reduction,
1266 llvm::omp::Clause::OMPC_is_device_ptr,
1267 llvm::omp::Clause::OMPC_allocate,
1268 llvm::omp::Clause::OMPC_uses_allocators,
1269 };
1270
1271 static OmpClauseSet allowedOnceClauses_OMPD_target_parallel {
1272 llvm::omp::Clause::OMPC_defaultmap,
1273 llvm::omp::Clause::OMPC_device,
1274 llvm::omp::Clause::OMPC_if,
1275 llvm::omp::Clause::OMPC_num_threads,
1276 llvm::omp::Clause::OMPC_proc_bind,
1277 };
1278
1279 static OmpClauseSet allowedExclusiveClauses_OMPD_target_parallel {
1280 };
1281
1282 static OmpClauseSet requiredClauses_OMPD_target_parallel {
1283 };
1284
1285 // Sets for target parallel do
1286
1287 static OmpClauseSet allowedClauses_OMPD_target_parallel_do {
1288 llvm::omp::Clause::OMPC_map,
1289 llvm::omp::Clause::OMPC_private,
1290 llvm::omp::Clause::OMPC_firstprivate,
1291 llvm::omp::Clause::OMPC_lastprivate,
1292 llvm::omp::Clause::OMPC_depend,
1293 llvm::omp::Clause::OMPC_shared,
1294 llvm::omp::Clause::OMPC_reduction,
1295 llvm::omp::Clause::OMPC_linear,
1296 llvm::omp::Clause::OMPC_is_device_ptr,
1297 llvm::omp::Clause::OMPC_allocator,
1298 llvm::omp::Clause::OMPC_order,
1299 llvm::omp::Clause::OMPC_uses_allocators,
1300 llvm::omp::Clause::OMPC_default,
1301 llvm::omp::Clause::OMPC_copyin,
1302 };
1303
1304 static OmpClauseSet allowedOnceClauses_OMPD_target_parallel_do {
1305 llvm::omp::Clause::OMPC_if,
1306 llvm::omp::Clause::OMPC_num_threads,
1307 llvm::omp::Clause::OMPC_proc_bind,
1308 llvm::omp::Clause::OMPC_device,
1309 llvm::omp::Clause::OMPC_defaultmap,
1310 llvm::omp::Clause::OMPC_schedule,
1311 llvm::omp::Clause::OMPC_collapse,
1312 llvm::omp::Clause::OMPC_ordered,
1313 llvm::omp::Clause::OMPC_nowait,
1314 };
1315
1316 static OmpClauseSet allowedExclusiveClauses_OMPD_target_parallel_do {
1317 };
1318
1319 static OmpClauseSet requiredClauses_OMPD_target_parallel_do {
1320 };
1321
1322 // Sets for target parallel do simd
1323
1324 static OmpClauseSet allowedClauses_OMPD_target_parallel_do_simd {
1325 llvm::omp::Clause::OMPC_if,
1326 llvm::omp::Clause::OMPC_device,
1327 llvm::omp::Clause::OMPC_map,
1328 llvm::omp::Clause::OMPC_private,
1329 llvm::omp::Clause::OMPC_firstprivate,
1330 llvm::omp::Clause::OMPC_lastprivate,
1331 llvm::omp::Clause::OMPC_nowait,
1332 llvm::omp::Clause::OMPC_depend,
1333 llvm::omp::Clause::OMPC_defaultmap,
1334 llvm::omp::Clause::OMPC_num_threads,
1335 llvm::omp::Clause::OMPC_default,
1336 llvm::omp::Clause::OMPC_proc_bind,
1337 llvm::omp::Clause::OMPC_shared,
1338 llvm::omp::Clause::OMPC_reduction,
1339 llvm::omp::Clause::OMPC_collapse,
1340 llvm::omp::Clause::OMPC_schedule,
1341 llvm::omp::Clause::OMPC_ordered,
1342 llvm::omp::Clause::OMPC_linear,
1343 llvm::omp::Clause::OMPC_safelen,
1344 llvm::omp::Clause::OMPC_simdlen,
1345 llvm::omp::Clause::OMPC_aligned,
1346 llvm::omp::Clause::OMPC_is_device_ptr,
1347 llvm::omp::Clause::OMPC_allocate,
1348 llvm::omp::Clause::OMPC_nontemporal,
1349 llvm::omp::Clause::OMPC_order,
1350 llvm::omp::Clause::OMPC_uses_allocators,
1351 };
1352
1353 static OmpClauseSet allowedOnceClauses_OMPD_target_parallel_do_simd {
1354 };
1355
1356 static OmpClauseSet allowedExclusiveClauses_OMPD_target_parallel_do_simd {
1357 };
1358
1359 static OmpClauseSet requiredClauses_OMPD_target_parallel_do_simd {
1360 };
1361
1362 // Sets for target parallel for
1363
1364 static OmpClauseSet allowedClauses_OMPD_target_parallel_for {
1365 llvm::omp::Clause::OMPC_if,
1366 llvm::omp::Clause::OMPC_device,
1367 llvm::omp::Clause::OMPC_map,
1368 llvm::omp::Clause::OMPC_private,
1369 llvm::omp::Clause::OMPC_firstprivate,
1370 llvm::omp::Clause::OMPC_lastprivate,
1371 llvm::omp::Clause::OMPC_nowait,
1372 llvm::omp::Clause::OMPC_depend,
1373 llvm::omp::Clause::OMPC_defaultmap,
1374 llvm::omp::Clause::OMPC_num_threads,
1375 llvm::omp::Clause::OMPC_default,
1376 llvm::omp::Clause::OMPC_proc_bind,
1377 llvm::omp::Clause::OMPC_shared,
1378 llvm::omp::Clause::OMPC_reduction,
1379 llvm::omp::Clause::OMPC_collapse,
1380 llvm::omp::Clause::OMPC_schedule,
1381 llvm::omp::Clause::OMPC_ordered,
1382 llvm::omp::Clause::OMPC_linear,
1383 llvm::omp::Clause::OMPC_is_device_ptr,
1384 llvm::omp::Clause::OMPC_allocate,
1385 llvm::omp::Clause::OMPC_order,
1386 llvm::omp::Clause::OMPC_uses_allocators,
1387 };
1388
1389 static OmpClauseSet allowedOnceClauses_OMPD_target_parallel_for {
1390 };
1391
1392 static OmpClauseSet allowedExclusiveClauses_OMPD_target_parallel_for {
1393 };
1394
1395 static OmpClauseSet requiredClauses_OMPD_target_parallel_for {
1396 };
1397
1398 // Sets for target parallel for simd
1399
1400 static OmpClauseSet allowedClauses_OMPD_target_parallel_for_simd {
1401 llvm::omp::Clause::OMPC_if,
1402 llvm::omp::Clause::OMPC_device,
1403 llvm::omp::Clause::OMPC_map,
1404 llvm::omp::Clause::OMPC_private,
1405 llvm::omp::Clause::OMPC_firstprivate,
1406 llvm::omp::Clause::OMPC_lastprivate,
1407 llvm::omp::Clause::OMPC_nowait,
1408 llvm::omp::Clause::OMPC_depend,
1409 llvm::omp::Clause::OMPC_defaultmap,
1410 llvm::omp::Clause::OMPC_num_threads,
1411 llvm::omp::Clause::OMPC_default,
1412 llvm::omp::Clause::OMPC_proc_bind,
1413 llvm::omp::Clause::OMPC_shared,
1414 llvm::omp::Clause::OMPC_reduction,
1415 llvm::omp::Clause::OMPC_collapse,
1416 llvm::omp::Clause::OMPC_schedule,
1417 llvm::omp::Clause::OMPC_ordered,
1418 llvm::omp::Clause::OMPC_linear,
1419 llvm::omp::Clause::OMPC_safelen,
1420 llvm::omp::Clause::OMPC_simdlen,
1421 llvm::omp::Clause::OMPC_aligned,
1422 llvm::omp::Clause::OMPC_is_device_ptr,
1423 llvm::omp::Clause::OMPC_allocate,
1424 llvm::omp::Clause::OMPC_nontemporal,
1425 llvm::omp::Clause::OMPC_order,
1426 llvm::omp::Clause::OMPC_uses_allocators,
1427 };
1428
1429 static OmpClauseSet allowedOnceClauses_OMPD_target_parallel_for_simd {
1430 };
1431
1432 static OmpClauseSet allowedExclusiveClauses_OMPD_target_parallel_for_simd {
1433 };
1434
1435 static OmpClauseSet requiredClauses_OMPD_target_parallel_for_simd {
1436 };
1437
1438 // Sets for target simd
1439
1440 static OmpClauseSet allowedClauses_OMPD_target_simd {
1441 llvm::omp::Clause::OMPC_aligned,
1442 llvm::omp::Clause::OMPC_allocate,
1443 llvm::omp::Clause::OMPC_depend,
1444 llvm::omp::Clause::OMPC_firstprivate,
1445 llvm::omp::Clause::OMPC_is_device_ptr,
1446 llvm::omp::Clause::OMPC_lastprivate,
1447 llvm::omp::Clause::OMPC_linear,
1448 llvm::omp::Clause::OMPC_map,
1449 llvm::omp::Clause::OMPC_nontemporal,
1450 llvm::omp::Clause::OMPC_nowait,
1451 llvm::omp::Clause::OMPC_order,
1452 llvm::omp::Clause::OMPC_private,
1453 llvm::omp::Clause::OMPC_reduction,
1454 llvm::omp::Clause::OMPC_shared,
1455 llvm::omp::Clause::OMPC_uses_allocators,
1456 };
1457
1458 static OmpClauseSet allowedOnceClauses_OMPD_target_simd {
1459 llvm::omp::Clause::OMPC_collapse,
1460 llvm::omp::Clause::OMPC_safelen,
1461 llvm::omp::Clause::OMPC_simdlen,
1462 llvm::omp::Clause::OMPC_if,
1463 llvm::omp::Clause::OMPC_num_threads,
1464 llvm::omp::Clause::OMPC_proc_bind,
1465 llvm::omp::Clause::OMPC_device,
1466 llvm::omp::Clause::OMPC_defaultmap,
1467 llvm::omp::Clause::OMPC_schedule,
1468 };
1469
1470 static OmpClauseSet allowedExclusiveClauses_OMPD_target_simd {
1471 };
1472
1473 static OmpClauseSet requiredClauses_OMPD_target_simd {
1474 };
1475
1476 // Sets for target teams
1477
1478 static OmpClauseSet allowedClauses_OMPD_target_teams {
1479 llvm::omp::Clause::OMPC_if,
1480 llvm::omp::Clause::OMPC_map,
1481 llvm::omp::Clause::OMPC_private,
1482 llvm::omp::Clause::OMPC_depend,
1483 llvm::omp::Clause::OMPC_firstprivate,
1484 llvm::omp::Clause::OMPC_is_device_ptr,
1485 llvm::omp::Clause::OMPC_reduction,
1486 llvm::omp::Clause::OMPC_allocate,
1487 llvm::omp::Clause::OMPC_uses_allocators,
1488 llvm::omp::Clause::OMPC_shared,
1489 };
1490
1491 static OmpClauseSet allowedOnceClauses_OMPD_target_teams {
1492 llvm::omp::Clause::OMPC_device,
1493 llvm::omp::Clause::OMPC_nowait,
1494 llvm::omp::Clause::OMPC_defaultmap,
1495 llvm::omp::Clause::OMPC_default,
1496 llvm::omp::Clause::OMPC_num_teams,
1497 llvm::omp::Clause::OMPC_thread_limit,
1498 };
1499
1500 static OmpClauseSet allowedExclusiveClauses_OMPD_target_teams {
1501 };
1502
1503 static OmpClauseSet requiredClauses_OMPD_target_teams {
1504 };
1505
1506 // Sets for target teams distribute
1507
1508 static OmpClauseSet allowedClauses_OMPD_target_teams_distribute {
1509 llvm::omp::Clause::OMPC_if,
1510 llvm::omp::Clause::OMPC_map,
1511 llvm::omp::Clause::OMPC_private,
1512 llvm::omp::Clause::OMPC_depend,
1513 llvm::omp::Clause::OMPC_firstprivate,
1514 llvm::omp::Clause::OMPC_is_device_ptr,
1515 llvm::omp::Clause::OMPC_reduction,
1516 llvm::omp::Clause::OMPC_allocate,
1517 llvm::omp::Clause::OMPC_uses_allocators,
1518 llvm::omp::Clause::OMPC_shared,
1519 llvm::omp::Clause::OMPC_lastprivate,
1520 };
1521
1522 static OmpClauseSet allowedOnceClauses_OMPD_target_teams_distribute {
1523 llvm::omp::Clause::OMPC_device,
1524 llvm::omp::Clause::OMPC_nowait,
1525 llvm::omp::Clause::OMPC_defaultmap,
1526 llvm::omp::Clause::OMPC_default,
1527 llvm::omp::Clause::OMPC_num_teams,
1528 llvm::omp::Clause::OMPC_thread_limit,
1529 llvm::omp::Clause::OMPC_collapse,
1530 llvm::omp::Clause::OMPC_dist_schedule,
1531 };
1532
1533 static OmpClauseSet allowedExclusiveClauses_OMPD_target_teams_distribute {
1534 };
1535
1536 static OmpClauseSet requiredClauses_OMPD_target_teams_distribute {
1537 };
1538
1539 // Sets for target teams distribute parallel do
1540
1541 static OmpClauseSet allowedClauses_OMPD_target_teams_distribute_parallel_do {
1542 llvm::omp::Clause::OMPC_if,
1543 llvm::omp::Clause::OMPC_map,
1544 llvm::omp::Clause::OMPC_private,
1545 llvm::omp::Clause::OMPC_depend,
1546 llvm::omp::Clause::OMPC_firstprivate,
1547 llvm::omp::Clause::OMPC_is_device_ptr,
1548 llvm::omp::Clause::OMPC_reduction,
1549 llvm::omp::Clause::OMPC_allocate,
1550 llvm::omp::Clause::OMPC_uses_allocators,
1551 llvm::omp::Clause::OMPC_shared,
1552 llvm::omp::Clause::OMPC_lastprivate,
1553 llvm::omp::Clause::OMPC_copyin,
1554 llvm::omp::Clause::OMPC_linear,
1555 llvm::omp::Clause::OMPC_ordered,
1556 llvm::omp::Clause::OMPC_order,
1557 };
1558
1559 static OmpClauseSet allowedOnceClauses_OMPD_target_teams_distribute_parallel_do {
1560 llvm::omp::Clause::OMPC_device,
1561 llvm::omp::Clause::OMPC_defaultmap,
1562 llvm::omp::Clause::OMPC_nowait,
1563 llvm::omp::Clause::OMPC_default,
1564 llvm::omp::Clause::OMPC_num_teams,
1565 llvm::omp::Clause::OMPC_thread_limit,
1566 llvm::omp::Clause::OMPC_collapse,
1567 llvm::omp::Clause::OMPC_dist_schedule,
1568 llvm::omp::Clause::OMPC_num_threads,
1569 llvm::omp::Clause::OMPC_proc_bind,
1570 llvm::omp::Clause::OMPC_schedule,
1571 };
1572
1573 static OmpClauseSet allowedExclusiveClauses_OMPD_target_teams_distribute_parallel_do {
1574 };
1575
1576 static OmpClauseSet requiredClauses_OMPD_target_teams_distribute_parallel_do {
1577 };
1578
1579 // Sets for target teams distribute parallel do simd
1580
1581 static OmpClauseSet allowedClauses_OMPD_target_teams_distribute_parallel_do_simd {
1582 llvm::omp::Clause::OMPC_map,
1583 llvm::omp::Clause::OMPC_private,
1584 llvm::omp::Clause::OMPC_depend,
1585 llvm::omp::Clause::OMPC_firstprivate,
1586 llvm::omp::Clause::OMPC_is_device_ptr,
1587 llvm::omp::Clause::OMPC_reduction,
1588 llvm::omp::Clause::OMPC_allocate,
1589 llvm::omp::Clause::OMPC_uses_allocators,
1590 llvm::omp::Clause::OMPC_shared,
1591 llvm::omp::Clause::OMPC_lastprivate,
1592 llvm::omp::Clause::OMPC_copyin,
1593 llvm::omp::Clause::OMPC_linear,
1594 llvm::omp::Clause::OMPC_ordered,
1595 llvm::omp::Clause::OMPC_order,
1596 llvm::omp::Clause::OMPC_aligned,
1597 llvm::omp::Clause::OMPC_nontemporal,
1598 };
1599
1600 static OmpClauseSet allowedOnceClauses_OMPD_target_teams_distribute_parallel_do_simd {
1601 llvm::omp::Clause::OMPC_if,
1602 llvm::omp::Clause::OMPC_device,
1603 llvm::omp::Clause::OMPC_nowait,
1604 llvm::omp::Clause::OMPC_defaultmap,
1605 llvm::omp::Clause::OMPC_default,
1606 llvm::omp::Clause::OMPC_num_teams,
1607 llvm::omp::Clause::OMPC_thread_limit,
1608 llvm::omp::Clause::OMPC_collapse,
1609 llvm::omp::Clause::OMPC_dist_schedule,
1610 llvm::omp::Clause::OMPC_num_threads,
1611 llvm::omp::Clause::OMPC_proc_bind,
1612 llvm::omp::Clause::OMPC_schedule,
1613 llvm::omp::Clause::OMPC_safelen,
1614 llvm::omp::Clause::OMPC_simdlen,
1615 };
1616
1617 static OmpClauseSet allowedExclusiveClauses_OMPD_target_teams_distribute_parallel_do_simd {
1618 };
1619
1620 static OmpClauseSet requiredClauses_OMPD_target_teams_distribute_parallel_do_simd {
1621 };
1622
1623 // Sets for target teams distribute parallel for
1624
1625 static OmpClauseSet allowedClauses_OMPD_target_teams_distribute_parallel_for {
1626 llvm::omp::Clause::OMPC_if,
1627 llvm::omp::Clause::OMPC_device,
1628 llvm::omp::Clause::OMPC_map,
1629 llvm::omp::Clause::OMPC_private,
1630 llvm::omp::Clause::OMPC_nowait,
1631 llvm::omp::Clause::OMPC_depend,
1632 llvm::omp::Clause::OMPC_defaultmap,
1633 llvm::omp::Clause::OMPC_firstprivate,
1634 llvm::omp::Clause::OMPC_is_device_ptr,
1635 llvm::omp::Clause::OMPC_default,
1636 llvm::omp::Clause::OMPC_shared,
1637 llvm::omp::Clause::OMPC_reduction,
1638 llvm::omp::Clause::OMPC_num_teams,
1639 llvm::omp::Clause::OMPC_thread_limit,
1640 llvm::omp::Clause::OMPC_lastprivate,
1641 llvm::omp::Clause::OMPC_collapse,
1642 llvm::omp::Clause::OMPC_dist_schedule,
1643 llvm::omp::Clause::OMPC_num_threads,
1644 llvm::omp::Clause::OMPC_proc_bind,
1645 llvm::omp::Clause::OMPC_schedule,
1646 llvm::omp::Clause::OMPC_allocate,
1647 llvm::omp::Clause::OMPC_order,
1648 llvm::omp::Clause::OMPC_uses_allocators,
1649 };
1650
1651 static OmpClauseSet allowedOnceClauses_OMPD_target_teams_distribute_parallel_for {
1652 };
1653
1654 static OmpClauseSet allowedExclusiveClauses_OMPD_target_teams_distribute_parallel_for {
1655 };
1656
1657 static OmpClauseSet requiredClauses_OMPD_target_teams_distribute_parallel_for {
1658 };
1659
1660 // Sets for target teams distribute parallel for simd
1661
1662 static OmpClauseSet allowedClauses_OMPD_target_teams_distribute_parallel_for_simd {
1663 llvm::omp::Clause::OMPC_if,
1664 llvm::omp::Clause::OMPC_device,
1665 llvm::omp::Clause::OMPC_map,
1666 llvm::omp::Clause::OMPC_private,
1667 llvm::omp::Clause::OMPC_nowait,
1668 llvm::omp::Clause::OMPC_depend,
1669 llvm::omp::Clause::OMPC_defaultmap,
1670 llvm::omp::Clause::OMPC_firstprivate,
1671 llvm::omp::Clause::OMPC_is_device_ptr,
1672 llvm::omp::Clause::OMPC_default,
1673 llvm::omp::Clause::OMPC_shared,
1674 llvm::omp::Clause::OMPC_reduction,
1675 llvm::omp::Clause::OMPC_num_teams,
1676 llvm::omp::Clause::OMPC_thread_limit,
1677 llvm::omp::Clause::OMPC_lastprivate,
1678 llvm::omp::Clause::OMPC_collapse,
1679 llvm::omp::Clause::OMPC_dist_schedule,
1680 llvm::omp::Clause::OMPC_num_threads,
1681 llvm::omp::Clause::OMPC_proc_bind,
1682 llvm::omp::Clause::OMPC_schedule,
1683 llvm::omp::Clause::OMPC_linear,
1684 llvm::omp::Clause::OMPC_aligned,
1685 llvm::omp::Clause::OMPC_safelen,
1686 llvm::omp::Clause::OMPC_simdlen,
1687 llvm::omp::Clause::OMPC_allocate,
1688 llvm::omp::Clause::OMPC_nontemporal,
1689 llvm::omp::Clause::OMPC_order,
1690 llvm::omp::Clause::OMPC_uses_allocators,
1691 };
1692
1693 static OmpClauseSet allowedOnceClauses_OMPD_target_teams_distribute_parallel_for_simd {
1694 };
1695
1696 static OmpClauseSet allowedExclusiveClauses_OMPD_target_teams_distribute_parallel_for_simd {
1697 };
1698
1699 static OmpClauseSet requiredClauses_OMPD_target_teams_distribute_parallel_for_simd {
1700 };
1701
1702 // Sets for target teams distribute simd
1703
1704 static OmpClauseSet allowedClauses_OMPD_target_teams_distribute_simd {
1705 llvm::omp::Clause::OMPC_aligned,
1706 llvm::omp::Clause::OMPC_allocate,
1707 llvm::omp::Clause::OMPC_depend,
1708 llvm::omp::Clause::OMPC_firstprivate,
1709 llvm::omp::Clause::OMPC_if,
1710 llvm::omp::Clause::OMPC_is_device_ptr,
1711 llvm::omp::Clause::OMPC_lastprivate,
1712 llvm::omp::Clause::OMPC_linear,
1713 llvm::omp::Clause::OMPC_map,
1714 llvm::omp::Clause::OMPC_nontemporal,
1715 llvm::omp::Clause::OMPC_order,
1716 llvm::omp::Clause::OMPC_private,
1717 llvm::omp::Clause::OMPC_reduction,
1718 llvm::omp::Clause::OMPC_shared,
1719 llvm::omp::Clause::OMPC_uses_allocators,
1720 };
1721
1722 static OmpClauseSet allowedOnceClauses_OMPD_target_teams_distribute_simd {
1723 llvm::omp::Clause::OMPC_device,
1724 llvm::omp::Clause::OMPC_defaultmap,
1725 llvm::omp::Clause::OMPC_nowait,
1726 llvm::omp::Clause::OMPC_num_teams,
1727 llvm::omp::Clause::OMPC_thread_limit,
1728 llvm::omp::Clause::OMPC_collapse,
1729 llvm::omp::Clause::OMPC_dist_schedule,
1730 llvm::omp::Clause::OMPC_safelen,
1731 llvm::omp::Clause::OMPC_simdlen,
1732 };
1733
1734 static OmpClauseSet allowedExclusiveClauses_OMPD_target_teams_distribute_simd {
1735 };
1736
1737 static OmpClauseSet requiredClauses_OMPD_target_teams_distribute_simd {
1738 };
1739
1740 // Sets for target update
1741
1742 static OmpClauseSet allowedClauses_OMPD_target_update {
1743 llvm::omp::Clause::OMPC_if,
1744 llvm::omp::Clause::OMPC_device,
1745 llvm::omp::Clause::OMPC_to,
1746 llvm::omp::Clause::OMPC_from,
1747 llvm::omp::Clause::OMPC_nowait,
1748 llvm::omp::Clause::OMPC_depend,
1749 };
1750
1751 static OmpClauseSet allowedOnceClauses_OMPD_target_update {
1752 };
1753
1754 static OmpClauseSet allowedExclusiveClauses_OMPD_target_update {
1755 };
1756
1757 static OmpClauseSet requiredClauses_OMPD_target_update {
1758 };
1759
1760 // Sets for task
1761
1762 static OmpClauseSet allowedClauses_OMPD_task {
1763 llvm::omp::Clause::OMPC_private,
1764 llvm::omp::Clause::OMPC_firstprivate,
1765 llvm::omp::Clause::OMPC_shared,
1766 llvm::omp::Clause::OMPC_untied,
1767 llvm::omp::Clause::OMPC_mergeable,
1768 llvm::omp::Clause::OMPC_depend,
1769 llvm::omp::Clause::OMPC_in_reduction,
1770 llvm::omp::Clause::OMPC_allocate,
1771 llvm::omp::Clause::OMPC_detach,
1772 llvm::omp::Clause::OMPC_affinity,
1773 };
1774
1775 static OmpClauseSet allowedOnceClauses_OMPD_task {
1776 llvm::omp::Clause::OMPC_default,
1777 llvm::omp::Clause::OMPC_if,
1778 llvm::omp::Clause::OMPC_final,
1779 llvm::omp::Clause::OMPC_priority,
1780 };
1781
1782 static OmpClauseSet allowedExclusiveClauses_OMPD_task {
1783 };
1784
1785 static OmpClauseSet requiredClauses_OMPD_task {
1786 };
1787
1788 // Sets for taskgroup
1789
1790 static OmpClauseSet allowedClauses_OMPD_taskgroup {
1791 llvm::omp::Clause::OMPC_task_reduction,
1792 llvm::omp::Clause::OMPC_allocate,
1793 };
1794
1795 static OmpClauseSet allowedOnceClauses_OMPD_taskgroup {
1796 };
1797
1798 static OmpClauseSet allowedExclusiveClauses_OMPD_taskgroup {
1799 };
1800
1801 static OmpClauseSet requiredClauses_OMPD_taskgroup {
1802 };
1803
1804 // Sets for taskloop
1805
1806 static OmpClauseSet allowedClauses_OMPD_taskloop {
1807 llvm::omp::Clause::OMPC_shared,
1808 llvm::omp::Clause::OMPC_private,
1809 llvm::omp::Clause::OMPC_firstprivate,
1810 llvm::omp::Clause::OMPC_lastprivate,
1811 llvm::omp::Clause::OMPC_untied,
1812 llvm::omp::Clause::OMPC_mergeable,
1813 llvm::omp::Clause::OMPC_nogroup,
1814 llvm::omp::Clause::OMPC_reduction,
1815 llvm::omp::Clause::OMPC_in_reduction,
1816 llvm::omp::Clause::OMPC_allocate,
1817 };
1818
1819 static OmpClauseSet allowedOnceClauses_OMPD_taskloop {
1820 llvm::omp::Clause::OMPC_default,
1821 llvm::omp::Clause::OMPC_if,
1822 llvm::omp::Clause::OMPC_collapse,
1823 llvm::omp::Clause::OMPC_final,
1824 llvm::omp::Clause::OMPC_priority,
1825 };
1826
1827 static OmpClauseSet allowedExclusiveClauses_OMPD_taskloop {
1828 llvm::omp::Clause::OMPC_grainsize,
1829 llvm::omp::Clause::OMPC_num_tasks,
1830 };
1831
1832 static OmpClauseSet requiredClauses_OMPD_taskloop {
1833 };
1834
1835 // Sets for taskloop simd
1836
1837 static OmpClauseSet allowedClauses_OMPD_taskloop_simd {
1838 llvm::omp::Clause::OMPC_aligned,
1839 llvm::omp::Clause::OMPC_allocate,
1840 llvm::omp::Clause::OMPC_default,
1841 llvm::omp::Clause::OMPC_firstprivate,
1842 llvm::omp::Clause::OMPC_in_reduction,
1843 llvm::omp::Clause::OMPC_lastprivate,
1844 llvm::omp::Clause::OMPC_linear,
1845 llvm::omp::Clause::OMPC_mergeable,
1846 llvm::omp::Clause::OMPC_nogroup,
1847 llvm::omp::Clause::OMPC_nontemporal,
1848 llvm::omp::Clause::OMPC_order,
1849 llvm::omp::Clause::OMPC_private,
1850 llvm::omp::Clause::OMPC_reduction,
1851 llvm::omp::Clause::OMPC_shared,
1852 llvm::omp::Clause::OMPC_untied,
1853 };
1854
1855 static OmpClauseSet allowedOnceClauses_OMPD_taskloop_simd {
1856 llvm::omp::Clause::OMPC_if,
1857 llvm::omp::Clause::OMPC_collapse,
1858 llvm::omp::Clause::OMPC_safelen,
1859 llvm::omp::Clause::OMPC_simdlen,
1860 llvm::omp::Clause::OMPC_final,
1861 llvm::omp::Clause::OMPC_priority,
1862 };
1863
1864 static OmpClauseSet allowedExclusiveClauses_OMPD_taskloop_simd {
1865 llvm::omp::Clause::OMPC_grainsize,
1866 llvm::omp::Clause::OMPC_num_tasks,
1867 };
1868
1869 static OmpClauseSet requiredClauses_OMPD_taskloop_simd {
1870 };
1871
1872 // Sets for taskwait
1873
1874 static OmpClauseSet allowedClauses_OMPD_taskwait {
1875 llvm::omp::Clause::OMPC_depend,
1876 };
1877
1878 static OmpClauseSet allowedOnceClauses_OMPD_taskwait {
1879 };
1880
1881 static OmpClauseSet allowedExclusiveClauses_OMPD_taskwait {
1882 };
1883
1884 static OmpClauseSet requiredClauses_OMPD_taskwait {
1885 };
1886
1887 // Sets for taskyield
1888
1889 static OmpClauseSet allowedClauses_OMPD_taskyield {
1890 };
1891
1892 static OmpClauseSet allowedOnceClauses_OMPD_taskyield {
1893 };
1894
1895 static OmpClauseSet allowedExclusiveClauses_OMPD_taskyield {
1896 };
1897
1898 static OmpClauseSet requiredClauses_OMPD_taskyield {
1899 };
1900
1901 // Sets for teams
1902
1903 static OmpClauseSet allowedClauses_OMPD_teams {
1904 llvm::omp::Clause::OMPC_private,
1905 llvm::omp::Clause::OMPC_firstprivate,
1906 llvm::omp::Clause::OMPC_shared,
1907 llvm::omp::Clause::OMPC_reduction,
1908 llvm::omp::Clause::OMPC_allocate,
1909 };
1910
1911 static OmpClauseSet allowedOnceClauses_OMPD_teams {
1912 llvm::omp::Clause::OMPC_default,
1913 llvm::omp::Clause::OMPC_num_teams,
1914 llvm::omp::Clause::OMPC_thread_limit,
1915 };
1916
1917 static OmpClauseSet allowedExclusiveClauses_OMPD_teams {
1918 };
1919
1920 static OmpClauseSet requiredClauses_OMPD_teams {
1921 };
1922
1923 // Sets for teams distribute
1924
1925 static OmpClauseSet allowedClauses_OMPD_teams_distribute {
1926 llvm::omp::Clause::OMPC_default,
1927 llvm::omp::Clause::OMPC_private,
1928 llvm::omp::Clause::OMPC_firstprivate,
1929 llvm::omp::Clause::OMPC_shared,
1930 llvm::omp::Clause::OMPC_reduction,
1931 llvm::omp::Clause::OMPC_num_teams,
1932 llvm::omp::Clause::OMPC_thread_limit,
1933 llvm::omp::Clause::OMPC_lastprivate,
1934 llvm::omp::Clause::OMPC_collapse,
1935 llvm::omp::Clause::OMPC_dist_schedule,
1936 llvm::omp::Clause::OMPC_allocate,
1937 };
1938
1939 static OmpClauseSet allowedOnceClauses_OMPD_teams_distribute {
1940 };
1941
1942 static OmpClauseSet allowedExclusiveClauses_OMPD_teams_distribute {
1943 };
1944
1945 static OmpClauseSet requiredClauses_OMPD_teams_distribute {
1946 };
1947
1948 // Sets for teams distribute parallel do
1949
1950 static OmpClauseSet allowedClauses_OMPD_teams_distribute_parallel_do {
1951 llvm::omp::Clause::OMPC_private,
1952 llvm::omp::Clause::OMPC_firstprivate,
1953 llvm::omp::Clause::OMPC_lastprivate,
1954 llvm::omp::Clause::OMPC_shared,
1955 llvm::omp::Clause::OMPC_reduction,
1956 llvm::omp::Clause::OMPC_allocate,
1957 llvm::omp::Clause::OMPC_copyin,
1958 llvm::omp::Clause::OMPC_linear,
1959 };
1960
1961 static OmpClauseSet allowedOnceClauses_OMPD_teams_distribute_parallel_do {
1962 llvm::omp::Clause::OMPC_num_teams,
1963 llvm::omp::Clause::OMPC_thread_limit,
1964 llvm::omp::Clause::OMPC_default,
1965 llvm::omp::Clause::OMPC_collapse,
1966 llvm::omp::Clause::OMPC_dist_schedule,
1967 llvm::omp::Clause::OMPC_ordered,
1968 llvm::omp::Clause::OMPC_order,
1969 llvm::omp::Clause::OMPC_if,
1970 llvm::omp::Clause::OMPC_num_threads,
1971 llvm::omp::Clause::OMPC_proc_bind,
1972 llvm::omp::Clause::OMPC_schedule,
1973 };
1974
1975 static OmpClauseSet allowedExclusiveClauses_OMPD_teams_distribute_parallel_do {
1976 };
1977
1978 static OmpClauseSet requiredClauses_OMPD_teams_distribute_parallel_do {
1979 };
1980
1981 // Sets for teams distribute parallel do simd
1982
1983 static OmpClauseSet allowedClauses_OMPD_teams_distribute_parallel_do_simd {
1984 llvm::omp::Clause::OMPC_private,
1985 llvm::omp::Clause::OMPC_firstprivate,
1986 llvm::omp::Clause::OMPC_lastprivate,
1987 llvm::omp::Clause::OMPC_allocate,
1988 llvm::omp::Clause::OMPC_shared,
1989 llvm::omp::Clause::OMPC_reduction,
1990 llvm::omp::Clause::OMPC_linear,
1991 llvm::omp::Clause::OMPC_order,
1992 llvm::omp::Clause::OMPC_aligned,
1993 llvm::omp::Clause::OMPC_nontemporal,
1994 };
1995
1996 static OmpClauseSet allowedOnceClauses_OMPD_teams_distribute_parallel_do_simd {
1997 llvm::omp::Clause::OMPC_default,
1998 llvm::omp::Clause::OMPC_num_teams,
1999 llvm::omp::Clause::OMPC_thread_limit,
2000 llvm::omp::Clause::OMPC_collapse,
2001 llvm::omp::Clause::OMPC_dist_schedule,
2002 llvm::omp::Clause::OMPC_num_threads,
2003 llvm::omp::Clause::OMPC_proc_bind,
2004 llvm::omp::Clause::OMPC_schedule,
2005 llvm::omp::Clause::OMPC_safelen,
2006 llvm::omp::Clause::OMPC_simdlen,
2007 llvm::omp::Clause::OMPC_if,
2008 };
2009
2010 static OmpClauseSet allowedExclusiveClauses_OMPD_teams_distribute_parallel_do_simd {
2011 };
2012
2013 static OmpClauseSet requiredClauses_OMPD_teams_distribute_parallel_do_simd {
2014 };
2015
2016 // Sets for teams distribute parallel for
2017
2018 static OmpClauseSet allowedClauses_OMPD_teams_distribute_parallel_for {
2019 llvm::omp::Clause::OMPC_firstprivate,
2020 llvm::omp::Clause::OMPC_lastprivate,
2021 llvm::omp::Clause::OMPC_collapse,
2022 llvm::omp::Clause::OMPC_dist_schedule,
2023 llvm::omp::Clause::OMPC_if,
2024 llvm::omp::Clause::OMPC_num_threads,
2025 llvm::omp::Clause::OMPC_default,
2026 llvm::omp::Clause::OMPC_proc_bind,
2027 llvm::omp::Clause::OMPC_private,
2028 llvm::omp::Clause::OMPC_shared,
2029 llvm::omp::Clause::OMPC_reduction,
2030 llvm::omp::Clause::OMPC_schedule,
2031 llvm::omp::Clause::OMPC_num_teams,
2032 llvm::omp::Clause::OMPC_thread_limit,
2033 llvm::omp::Clause::OMPC_copyin,
2034 llvm::omp::Clause::OMPC_allocate,
2035 llvm::omp::Clause::OMPC_order,
2036 };
2037
2038 static OmpClauseSet allowedOnceClauses_OMPD_teams_distribute_parallel_for {
2039 };
2040
2041 static OmpClauseSet allowedExclusiveClauses_OMPD_teams_distribute_parallel_for {
2042 };
2043
2044 static OmpClauseSet requiredClauses_OMPD_teams_distribute_parallel_for {
2045 };
2046
2047 // Sets for teams distribute parallel for simd
2048
2049 static OmpClauseSet allowedClauses_OMPD_teams_distribute_parallel_for_simd {
2050 llvm::omp::Clause::OMPC_firstprivate,
2051 llvm::omp::Clause::OMPC_lastprivate,
2052 llvm::omp::Clause::OMPC_collapse,
2053 llvm::omp::Clause::OMPC_dist_schedule,
2054 llvm::omp::Clause::OMPC_if,
2055 llvm::omp::Clause::OMPC_num_threads,
2056 llvm::omp::Clause::OMPC_default,
2057 llvm::omp::Clause::OMPC_proc_bind,
2058 llvm::omp::Clause::OMPC_private,
2059 llvm::omp::Clause::OMPC_shared,
2060 llvm::omp::Clause::OMPC_reduction,
2061 llvm::omp::Clause::OMPC_schedule,
2062 llvm::omp::Clause::OMPC_linear,
2063 llvm::omp::Clause::OMPC_aligned,
2064 llvm::omp::Clause::OMPC_safelen,
2065 llvm::omp::Clause::OMPC_simdlen,
2066 llvm::omp::Clause::OMPC_num_teams,
2067 llvm::omp::Clause::OMPC_thread_limit,
2068 llvm::omp::Clause::OMPC_allocate,
2069 llvm::omp::Clause::OMPC_nontemporal,
2070 llvm::omp::Clause::OMPC_order,
2071 };
2072
2073 static OmpClauseSet allowedOnceClauses_OMPD_teams_distribute_parallel_for_simd {
2074 };
2075
2076 static OmpClauseSet allowedExclusiveClauses_OMPD_teams_distribute_parallel_for_simd {
2077 };
2078
2079 static OmpClauseSet requiredClauses_OMPD_teams_distribute_parallel_for_simd {
2080 };
2081
2082 // Sets for teams distribute simd
2083
2084 static OmpClauseSet allowedClauses_OMPD_teams_distribute_simd {
2085 llvm::omp::Clause::OMPC_aligned,
2086 llvm::omp::Clause::OMPC_allocate,
2087 llvm::omp::Clause::OMPC_firstprivate,
2088 llvm::omp::Clause::OMPC_lastprivate,
2089 llvm::omp::Clause::OMPC_linear,
2090 llvm::omp::Clause::OMPC_nontemporal,
2091 llvm::omp::Clause::OMPC_order,
2092 llvm::omp::Clause::OMPC_private,
2093 llvm::omp::Clause::OMPC_reduction,
2094 llvm::omp::Clause::OMPC_shared,
2095 };
2096
2097 static OmpClauseSet allowedOnceClauses_OMPD_teams_distribute_simd {
2098 llvm::omp::Clause::OMPC_collapse,
2099 llvm::omp::Clause::OMPC_default,
2100 llvm::omp::Clause::OMPC_dist_schedule,
2101 llvm::omp::Clause::OMPC_if,
2102 llvm::omp::Clause::OMPC_num_teams,
2103 llvm::omp::Clause::OMPC_safelen,
2104 llvm::omp::Clause::OMPC_simdlen,
2105 llvm::omp::Clause::OMPC_thread_limit,
2106 };
2107
2108 static OmpClauseSet allowedExclusiveClauses_OMPD_teams_distribute_simd {
2109 };
2110
2111 static OmpClauseSet requiredClauses_OMPD_teams_distribute_simd {
2112 };
2113
2114 // Sets for threadprivate
2115
2116 static OmpClauseSet allowedClauses_OMPD_threadprivate {
2117 };
2118
2119 static OmpClauseSet allowedOnceClauses_OMPD_threadprivate {
2120 };
2121
2122 static OmpClauseSet allowedExclusiveClauses_OMPD_threadprivate {
2123 };
2124
2125 static OmpClauseSet requiredClauses_OMPD_threadprivate {
2126 };
2127
2128 // Sets for unknown
2129
2130 static OmpClauseSet allowedClauses_OMPD_unknown {
2131 };
2132
2133 static OmpClauseSet allowedOnceClauses_OMPD_unknown {
2134 };
2135
2136 static OmpClauseSet allowedExclusiveClauses_OMPD_unknown {
2137 };
2138
2139 static OmpClauseSet requiredClauses_OMPD_unknown {
2140 };
2141
2142 // Sets for workshare
2143
2144 static OmpClauseSet allowedClauses_OMPD_workshare {
2145 };
2146
2147 static OmpClauseSet allowedOnceClauses_OMPD_workshare {
2148 };
2149
2150 static OmpClauseSet allowedExclusiveClauses_OMPD_workshare {
2151 };
2152
2153 static OmpClauseSet requiredClauses_OMPD_workshare {
2154 };
2155} // namespace omp
2156} // namespace llvm
2157
2158#endif // GEN_FLANG_DIRECTIVE_CLAUSE_SETS
2159
2160#ifdef GEN_FLANG_DIRECTIVE_CLAUSE_MAP
2161#undef GEN_FLANG_DIRECTIVE_CLAUSE_MAP
2162
2163{
2164 {llvm::omp::Directive::OMPD_allocate,
2165 {
2166 llvm::omp::allowedClauses_OMPD_allocate,
2167 llvm::omp::allowedOnceClauses_OMPD_allocate,
2168 llvm::omp::allowedExclusiveClauses_OMPD_allocate,
2169 llvm::omp::requiredClauses_OMPD_allocate,
2170 }
2171 },
2172 {llvm::omp::Directive::OMPD_assumes,
2173 {
2174 llvm::omp::allowedClauses_OMPD_assumes,
2175 llvm::omp::allowedOnceClauses_OMPD_assumes,
2176 llvm::omp::allowedExclusiveClauses_OMPD_assumes,
2177 llvm::omp::requiredClauses_OMPD_assumes,
2178 }
2179 },
2180 {llvm::omp::Directive::OMPD_atomic,
2181 {
2182 llvm::omp::allowedClauses_OMPD_atomic,
2183 llvm::omp::allowedOnceClauses_OMPD_atomic,
2184 llvm::omp::allowedExclusiveClauses_OMPD_atomic,
2185 llvm::omp::requiredClauses_OMPD_atomic,
2186 }
2187 },
2188 {llvm::omp::Directive::OMPD_barrier,
2189 {
2190 llvm::omp::allowedClauses_OMPD_barrier,
2191 llvm::omp::allowedOnceClauses_OMPD_barrier,
2192 llvm::omp::allowedExclusiveClauses_OMPD_barrier,
2193 llvm::omp::requiredClauses_OMPD_barrier,
2194 }
2195 },
2196 {llvm::omp::Directive::OMPD_begin_assumes,
2197 {
2198 llvm::omp::allowedClauses_OMPD_begin_assumes,
2199 llvm::omp::allowedOnceClauses_OMPD_begin_assumes,
2200 llvm::omp::allowedExclusiveClauses_OMPD_begin_assumes,
2201 llvm::omp::requiredClauses_OMPD_begin_assumes,
2202 }
2203 },
2204 {llvm::omp::Directive::OMPD_begin_declare_variant,
2205 {
2206 llvm::omp::allowedClauses_OMPD_begin_declare_variant,
2207 llvm::omp::allowedOnceClauses_OMPD_begin_declare_variant,
2208 llvm::omp::allowedExclusiveClauses_OMPD_begin_declare_variant,
2209 llvm::omp::requiredClauses_OMPD_begin_declare_variant,
2210 }
2211 },
2212 {llvm::omp::Directive::OMPD_cancel,
2213 {
2214 llvm::omp::allowedClauses_OMPD_cancel,
2215 llvm::omp::allowedOnceClauses_OMPD_cancel,
2216 llvm::omp::allowedExclusiveClauses_OMPD_cancel,
2217 llvm::omp::requiredClauses_OMPD_cancel,
2218 }
2219 },
2220 {llvm::omp::Directive::OMPD_cancellation_point,
2221 {
2222 llvm::omp::allowedClauses_OMPD_cancellation_point,
2223 llvm::omp::allowedOnceClauses_OMPD_cancellation_point,
2224 llvm::omp::allowedExclusiveClauses_OMPD_cancellation_point,
2225 llvm::omp::requiredClauses_OMPD_cancellation_point,
2226 }
2227 },
2228 {llvm::omp::Directive::OMPD_critical,
2229 {
2230 llvm::omp::allowedClauses_OMPD_critical,
2231 llvm::omp::allowedOnceClauses_OMPD_critical,
2232 llvm::omp::allowedExclusiveClauses_OMPD_critical,
2233 llvm::omp::requiredClauses_OMPD_critical,
2234 }
2235 },
2236 {llvm::omp::Directive::OMPD_declare_mapper,
2237 {
2238 llvm::omp::allowedClauses_OMPD_declare_mapper,
2239 llvm::omp::allowedOnceClauses_OMPD_declare_mapper,
2240 llvm::omp::allowedExclusiveClauses_OMPD_declare_mapper,
2241 llvm::omp::requiredClauses_OMPD_declare_mapper,
2242 }
2243 },
2244 {llvm::omp::Directive::OMPD_declare_reduction,
2245 {
2246 llvm::omp::allowedClauses_OMPD_declare_reduction,
2247 llvm::omp::allowedOnceClauses_OMPD_declare_reduction,
2248 llvm::omp::allowedExclusiveClauses_OMPD_declare_reduction,
2249 llvm::omp::requiredClauses_OMPD_declare_reduction,
2250 }
2251 },
2252 {llvm::omp::Directive::OMPD_declare_simd,
2253 {
2254 llvm::omp::allowedClauses_OMPD_declare_simd,
2255 llvm::omp::allowedOnceClauses_OMPD_declare_simd,
2256 llvm::omp::allowedExclusiveClauses_OMPD_declare_simd,
2257 llvm::omp::requiredClauses_OMPD_declare_simd,
2258 }
2259 },
2260 {llvm::omp::Directive::OMPD_declare_target,
2261 {
2262 llvm::omp::allowedClauses_OMPD_declare_target,
2263 llvm::omp::allowedOnceClauses_OMPD_declare_target,
2264 llvm::omp::allowedExclusiveClauses_OMPD_declare_target,
2265 llvm::omp::requiredClauses_OMPD_declare_target,
2266 }
2267 },
2268 {llvm::omp::Directive::OMPD_declare_variant,
2269 {
2270 llvm::omp::allowedClauses_OMPD_declare_variant,
2271 llvm::omp::allowedOnceClauses_OMPD_declare_variant,
2272 llvm::omp::allowedExclusiveClauses_OMPD_declare_variant,
2273 llvm::omp::requiredClauses_OMPD_declare_variant,
2274 }
2275 },
2276 {llvm::omp::Directive::OMPD_depobj,
2277 {
2278 llvm::omp::allowedClauses_OMPD_depobj,
2279 llvm::omp::allowedOnceClauses_OMPD_depobj,
2280 llvm::omp::allowedExclusiveClauses_OMPD_depobj,
2281 llvm::omp::requiredClauses_OMPD_depobj,
2282 }
2283 },
2284 {llvm::omp::Directive::OMPD_distribute,
2285 {
2286 llvm::omp::allowedClauses_OMPD_distribute,
2287 llvm::omp::allowedOnceClauses_OMPD_distribute,
2288 llvm::omp::allowedExclusiveClauses_OMPD_distribute,
2289 llvm::omp::requiredClauses_OMPD_distribute,
2290 }
2291 },
2292 {llvm::omp::Directive::OMPD_distribute_parallel_do,
2293 {
2294 llvm::omp::allowedClauses_OMPD_distribute_parallel_do,
2295 llvm::omp::allowedOnceClauses_OMPD_distribute_parallel_do,
2296 llvm::omp::allowedExclusiveClauses_OMPD_distribute_parallel_do,
2297 llvm::omp::requiredClauses_OMPD_distribute_parallel_do,
2298 }
2299 },
2300 {llvm::omp::Directive::OMPD_distribute_parallel_do_simd,
2301 {
2302 llvm::omp::allowedClauses_OMPD_distribute_parallel_do_simd,
2303 llvm::omp::allowedOnceClauses_OMPD_distribute_parallel_do_simd,
2304 llvm::omp::allowedExclusiveClauses_OMPD_distribute_parallel_do_simd,
2305 llvm::omp::requiredClauses_OMPD_distribute_parallel_do_simd,
2306 }
2307 },
2308 {llvm::omp::Directive::OMPD_distribute_parallel_for,
2309 {
2310 llvm::omp::allowedClauses_OMPD_distribute_parallel_for,
2311 llvm::omp::allowedOnceClauses_OMPD_distribute_parallel_for,
2312 llvm::omp::allowedExclusiveClauses_OMPD_distribute_parallel_for,
2313 llvm::omp::requiredClauses_OMPD_distribute_parallel_for,
2314 }
2315 },
2316 {llvm::omp::Directive::OMPD_distribute_parallel_for_simd,
2317 {
2318 llvm::omp::allowedClauses_OMPD_distribute_parallel_for_simd,
2319 llvm::omp::allowedOnceClauses_OMPD_distribute_parallel_for_simd,
2320 llvm::omp::allowedExclusiveClauses_OMPD_distribute_parallel_for_simd,
2321 llvm::omp::requiredClauses_OMPD_distribute_parallel_for_simd,
2322 }
2323 },
2324 {llvm::omp::Directive::OMPD_distribute_simd,
2325 {
2326 llvm::omp::allowedClauses_OMPD_distribute_simd,
2327 llvm::omp::allowedOnceClauses_OMPD_distribute_simd,
2328 llvm::omp::allowedExclusiveClauses_OMPD_distribute_simd,
2329 llvm::omp::requiredClauses_OMPD_distribute_simd,
2330 }
2331 },
2332 {llvm::omp::Directive::OMPD_do,
2333 {
2334 llvm::omp::allowedClauses_OMPD_do,
2335 llvm::omp::allowedOnceClauses_OMPD_do,
2336 llvm::omp::allowedExclusiveClauses_OMPD_do,
2337 llvm::omp::requiredClauses_OMPD_do,
2338 }
2339 },
2340 {llvm::omp::Directive::OMPD_do_simd,
2341 {
2342 llvm::omp::allowedClauses_OMPD_do_simd,
2343 llvm::omp::allowedOnceClauses_OMPD_do_simd,
2344 llvm::omp::allowedExclusiveClauses_OMPD_do_simd,
2345 llvm::omp::requiredClauses_OMPD_do_simd,
2346 }
2347 },
2348 {llvm::omp::Directive::OMPD_end_assumes,
2349 {
2350 llvm::omp::allowedClauses_OMPD_end_assumes,
2351 llvm::omp::allowedOnceClauses_OMPD_end_assumes,
2352 llvm::omp::allowedExclusiveClauses_OMPD_end_assumes,
2353 llvm::omp::requiredClauses_OMPD_end_assumes,
2354 }
2355 },
2356 {llvm::omp::Directive::OMPD_end_declare_target,
2357 {
2358 llvm::omp::allowedClauses_OMPD_end_declare_target,
2359 llvm::omp::allowedOnceClauses_OMPD_end_declare_target,
2360 llvm::omp::allowedExclusiveClauses_OMPD_end_declare_target,
2361 llvm::omp::requiredClauses_OMPD_end_declare_target,
2362 }
2363 },
2364 {llvm::omp::Directive::OMPD_end_declare_variant,
2365 {
2366 llvm::omp::allowedClauses_OMPD_end_declare_variant,
2367 llvm::omp::allowedOnceClauses_OMPD_end_declare_variant,
2368 llvm::omp::allowedExclusiveClauses_OMPD_end_declare_variant,
2369 llvm::omp::requiredClauses_OMPD_end_declare_variant,
2370 }
2371 },
2372 {llvm::omp::Directive::OMPD_end_do,
2373 {
2374 llvm::omp::allowedClauses_OMPD_end_do,
2375 llvm::omp::allowedOnceClauses_OMPD_end_do,
2376 llvm::omp::allowedExclusiveClauses_OMPD_end_do,
2377 llvm::omp::requiredClauses_OMPD_end_do,
2378 }
2379 },
2380 {llvm::omp::Directive::OMPD_end_do_simd,
2381 {
2382 llvm::omp::allowedClauses_OMPD_end_do_simd,
2383 llvm::omp::allowedOnceClauses_OMPD_end_do_simd,
2384 llvm::omp::allowedExclusiveClauses_OMPD_end_do_simd,
2385 llvm::omp::requiredClauses_OMPD_end_do_simd,
2386 }
2387 },
2388 {llvm::omp::Directive::OMPD_end_sections,
2389 {
2390 llvm::omp::allowedClauses_OMPD_end_sections,
2391 llvm::omp::allowedOnceClauses_OMPD_end_sections,
2392 llvm::omp::allowedExclusiveClauses_OMPD_end_sections,
2393 llvm::omp::requiredClauses_OMPD_end_sections,
2394 }
2395 },
2396 {llvm::omp::Directive::OMPD_end_single,
2397 {
2398 llvm::omp::allowedClauses_OMPD_end_single,
2399 llvm::omp::allowedOnceClauses_OMPD_end_single,
2400 llvm::omp::allowedExclusiveClauses_OMPD_end_single,
2401 llvm::omp::requiredClauses_OMPD_end_single,
2402 }
2403 },
2404 {llvm::omp::Directive::OMPD_end_workshare,
2405 {
2406 llvm::omp::allowedClauses_OMPD_end_workshare,
2407 llvm::omp::allowedOnceClauses_OMPD_end_workshare,
2408 llvm::omp::allowedExclusiveClauses_OMPD_end_workshare,
2409 llvm::omp::requiredClauses_OMPD_end_workshare,
2410 }
2411 },
2412 {llvm::omp::Directive::OMPD_flush,
2413 {
2414 llvm::omp::allowedClauses_OMPD_flush,
2415 llvm::omp::allowedOnceClauses_OMPD_flush,
2416 llvm::omp::allowedExclusiveClauses_OMPD_flush,
2417 llvm::omp::requiredClauses_OMPD_flush,
2418 }
2419 },
2420 {llvm::omp::Directive::OMPD_for,
2421 {
2422 llvm::omp::allowedClauses_OMPD_for,
2423 llvm::omp::allowedOnceClauses_OMPD_for,
2424 llvm::omp::allowedExclusiveClauses_OMPD_for,
2425 llvm::omp::requiredClauses_OMPD_for,
2426 }
2427 },
2428 {llvm::omp::Directive::OMPD_for_simd,
2429 {
2430 llvm::omp::allowedClauses_OMPD_for_simd,
2431 llvm::omp::allowedOnceClauses_OMPD_for_simd,
2432 llvm::omp::allowedExclusiveClauses_OMPD_for_simd,
2433 llvm::omp::requiredClauses_OMPD_for_simd,
2434 }
2435 },
2436 {llvm::omp::Directive::OMPD_master,
2437 {
2438 llvm::omp::allowedClauses_OMPD_master,
2439 llvm::omp::allowedOnceClauses_OMPD_master,
2440 llvm::omp::allowedExclusiveClauses_OMPD_master,
2441 llvm::omp::requiredClauses_OMPD_master,
2442 }
2443 },
2444 {llvm::omp::Directive::OMPD_master_taskloop,
2445 {
2446 llvm::omp::allowedClauses_OMPD_master_taskloop,
2447 llvm::omp::allowedOnceClauses_OMPD_master_taskloop,
2448 llvm::omp::allowedExclusiveClauses_OMPD_master_taskloop,
2449 llvm::omp::requiredClauses_OMPD_master_taskloop,
2450 }
2451 },
2452 {llvm::omp::Directive::OMPD_master_taskloop_simd,
2453 {
2454 llvm::omp::allowedClauses_OMPD_master_taskloop_simd,
2455 llvm::omp::allowedOnceClauses_OMPD_master_taskloop_simd,
2456 llvm::omp::allowedExclusiveClauses_OMPD_master_taskloop_simd,
2457 llvm::omp::requiredClauses_OMPD_master_taskloop_simd,
2458 }
2459 },
2460 {llvm::omp::Directive::OMPD_ordered,
2461 {
2462 llvm::omp::allowedClauses_OMPD_ordered,
2463 llvm::omp::allowedOnceClauses_OMPD_ordered,
2464 llvm::omp::allowedExclusiveClauses_OMPD_ordered,
2465 llvm::omp::requiredClauses_OMPD_ordered,
2466 }
2467 },
2468 {llvm::omp::Directive::OMPD_parallel,
2469 {
2470 llvm::omp::allowedClauses_OMPD_parallel,
2471 llvm::omp::allowedOnceClauses_OMPD_parallel,
2472 llvm::omp::allowedExclusiveClauses_OMPD_parallel,
2473 llvm::omp::requiredClauses_OMPD_parallel,
2474 }
2475 },
2476 {llvm::omp::Directive::OMPD_parallel_do,
2477 {
2478 llvm::omp::allowedClauses_OMPD_parallel_do,
2479 llvm::omp::allowedOnceClauses_OMPD_parallel_do,
2480 llvm::omp::allowedExclusiveClauses_OMPD_parallel_do,
2481 llvm::omp::requiredClauses_OMPD_parallel_do,
2482 }
2483 },
2484 {llvm::omp::Directive::OMPD_parallel_do_simd,
2485 {
2486 llvm::omp::allowedClauses_OMPD_parallel_do_simd,
2487 llvm::omp::allowedOnceClauses_OMPD_parallel_do_simd,
2488 llvm::omp::allowedExclusiveClauses_OMPD_parallel_do_simd,
2489 llvm::omp::requiredClauses_OMPD_parallel_do_simd,
2490 }
2491 },
2492 {llvm::omp::Directive::OMPD_parallel_for,
2493 {
2494 llvm::omp::allowedClauses_OMPD_parallel_for,
2495 llvm::omp::allowedOnceClauses_OMPD_parallel_for,
2496 llvm::omp::allowedExclusiveClauses_OMPD_parallel_for,
2497 llvm::omp::requiredClauses_OMPD_parallel_for,
2498 }
2499 },
2500 {llvm::omp::Directive::OMPD_parallel_for_simd,
2501 {
2502 llvm::omp::allowedClauses_OMPD_parallel_for_simd,
2503 llvm::omp::allowedOnceClauses_OMPD_parallel_for_simd,
2504 llvm::omp::allowedExclusiveClauses_OMPD_parallel_for_simd,
2505 llvm::omp::requiredClauses_OMPD_parallel_for_simd,
2506 }
2507 },
2508 {llvm::omp::Directive::OMPD_parallel_master,
2509 {
2510 llvm::omp::allowedClauses_OMPD_parallel_master,
2511 llvm::omp::allowedOnceClauses_OMPD_parallel_master,
2512 llvm::omp::allowedExclusiveClauses_OMPD_parallel_master,
2513 llvm::omp::requiredClauses_OMPD_parallel_master,
2514 }
2515 },
2516 {llvm::omp::Directive::OMPD_parallel_master_taskloop,
2517 {
2518 llvm::omp::allowedClauses_OMPD_parallel_master_taskloop,
2519 llvm::omp::allowedOnceClauses_OMPD_parallel_master_taskloop,
2520 llvm::omp::allowedExclusiveClauses_OMPD_parallel_master_taskloop,
2521 llvm::omp::requiredClauses_OMPD_parallel_master_taskloop,
2522 }
2523 },
2524 {llvm::omp::Directive::OMPD_parallel_master_taskloop_simd,
2525 {
2526 llvm::omp::allowedClauses_OMPD_parallel_master_taskloop_simd,
2527 llvm::omp::allowedOnceClauses_OMPD_parallel_master_taskloop_simd,
2528 llvm::omp::allowedExclusiveClauses_OMPD_parallel_master_taskloop_simd,
2529 llvm::omp::requiredClauses_OMPD_parallel_master_taskloop_simd,
2530 }
2531 },
2532 {llvm::omp::Directive::OMPD_parallel_sections,
2533 {
2534 llvm::omp::allowedClauses_OMPD_parallel_sections,
2535 llvm::omp::allowedOnceClauses_OMPD_parallel_sections,
2536 llvm::omp::allowedExclusiveClauses_OMPD_parallel_sections,
2537 llvm::omp::requiredClauses_OMPD_parallel_sections,
2538 }
2539 },
2540 {llvm::omp::Directive::OMPD_parallel_workshare,
2541 {
2542 llvm::omp::allowedClauses_OMPD_parallel_workshare,
2543 llvm::omp::allowedOnceClauses_OMPD_parallel_workshare,
2544 llvm::omp::allowedExclusiveClauses_OMPD_parallel_workshare,
2545 llvm::omp::requiredClauses_OMPD_parallel_workshare,
2546 }
2547 },
2548 {llvm::omp::Directive::OMPD_requires,
2549 {
2550 llvm::omp::allowedClauses_OMPD_requires,
2551 llvm::omp::allowedOnceClauses_OMPD_requires,
2552 llvm::omp::allowedExclusiveClauses_OMPD_requires,
2553 llvm::omp::requiredClauses_OMPD_requires,
2554 }
2555 },
2556 {llvm::omp::Directive::OMPD_scan,
2557 {
2558 llvm::omp::allowedClauses_OMPD_scan,
2559 llvm::omp::allowedOnceClauses_OMPD_scan,
2560 llvm::omp::allowedExclusiveClauses_OMPD_scan,
2561 llvm::omp::requiredClauses_OMPD_scan,
2562 }
2563 },
2564 {llvm::omp::Directive::OMPD_section,
2565 {
2566 llvm::omp::allowedClauses_OMPD_section,
2567 llvm::omp::allowedOnceClauses_OMPD_section,
2568 llvm::omp::allowedExclusiveClauses_OMPD_section,
2569 llvm::omp::requiredClauses_OMPD_section,
2570 }
2571 },
2572 {llvm::omp::Directive::OMPD_sections,
2573 {
2574 llvm::omp::allowedClauses_OMPD_sections,
2575 llvm::omp::allowedOnceClauses_OMPD_sections,
2576 llvm::omp::allowedExclusiveClauses_OMPD_sections,
2577 llvm::omp::requiredClauses_OMPD_sections,
2578 }
2579 },
2580 {llvm::omp::Directive::OMPD_simd,
2581 {
2582 llvm::omp::allowedClauses_OMPD_simd,
2583 llvm::omp::allowedOnceClauses_OMPD_simd,
2584 llvm::omp::allowedExclusiveClauses_OMPD_simd,
2585 llvm::omp::requiredClauses_OMPD_simd,
2586 }
2587 },
2588 {llvm::omp::Directive::OMPD_single,
2589 {
2590 llvm::omp::allowedClauses_OMPD_single,
2591 llvm::omp::allowedOnceClauses_OMPD_single,
2592 llvm::omp::allowedExclusiveClauses_OMPD_single,
2593 llvm::omp::requiredClauses_OMPD_single,
2594 }
2595 },
2596 {llvm::omp::Directive::OMPD_target,
2597 {
2598 llvm::omp::allowedClauses_OMPD_target,
2599 llvm::omp::allowedOnceClauses_OMPD_target,
2600 llvm::omp::allowedExclusiveClauses_OMPD_target,
2601 llvm::omp::requiredClauses_OMPD_target,
2602 }
2603 },
2604 {llvm::omp::Directive::OMPD_target_data,
2605 {
2606 llvm::omp::allowedClauses_OMPD_target_data,
2607 llvm::omp::allowedOnceClauses_OMPD_target_data,
2608 llvm::omp::allowedExclusiveClauses_OMPD_target_data,
2609 llvm::omp::requiredClauses_OMPD_target_data,
2610 }
2611 },
2612 {llvm::omp::Directive::OMPD_target_enter_data,
2613 {
2614 llvm::omp::allowedClauses_OMPD_target_enter_data,
2615 llvm::omp::allowedOnceClauses_OMPD_target_enter_data,
2616 llvm::omp::allowedExclusiveClauses_OMPD_target_enter_data,
2617 llvm::omp::requiredClauses_OMPD_target_enter_data,
2618 }
2619 },
2620 {llvm::omp::Directive::OMPD_target_exit_data,
2621 {
2622 llvm::omp::allowedClauses_OMPD_target_exit_data,
2623 llvm::omp::allowedOnceClauses_OMPD_target_exit_data,
2624 llvm::omp::allowedExclusiveClauses_OMPD_target_exit_data,
2625 llvm::omp::requiredClauses_OMPD_target_exit_data,
2626 }
2627 },
2628 {llvm::omp::Directive::OMPD_target_parallel,
2629 {
2630 llvm::omp::allowedClauses_OMPD_target_parallel,
2631 llvm::omp::allowedOnceClauses_OMPD_target_parallel,
2632 llvm::omp::allowedExclusiveClauses_OMPD_target_parallel,
2633 llvm::omp::requiredClauses_OMPD_target_parallel,
2634 }
2635 },
2636 {llvm::omp::Directive::OMPD_target_parallel_do,
2637 {
2638 llvm::omp::allowedClauses_OMPD_target_parallel_do,
2639 llvm::omp::allowedOnceClauses_OMPD_target_parallel_do,
2640 llvm::omp::allowedExclusiveClauses_OMPD_target_parallel_do,
2641 llvm::omp::requiredClauses_OMPD_target_parallel_do,
2642 }
2643 },
2644 {llvm::omp::Directive::OMPD_target_parallel_do_simd,
2645 {
2646 llvm::omp::allowedClauses_OMPD_target_parallel_do_simd,
2647 llvm::omp::allowedOnceClauses_OMPD_target_parallel_do_simd,
2648 llvm::omp::allowedExclusiveClauses_OMPD_target_parallel_do_simd,
2649 llvm::omp::requiredClauses_OMPD_target_parallel_do_simd,
2650 }
2651 },
2652 {llvm::omp::Directive::OMPD_target_parallel_for,
2653 {
2654 llvm::omp::allowedClauses_OMPD_target_parallel_for,
2655 llvm::omp::allowedOnceClauses_OMPD_target_parallel_for,
2656 llvm::omp::allowedExclusiveClauses_OMPD_target_parallel_for,
2657 llvm::omp::requiredClauses_OMPD_target_parallel_for,
2658 }
2659 },
2660 {llvm::omp::Directive::OMPD_target_parallel_for_simd,
2661 {
2662 llvm::omp::allowedClauses_OMPD_target_parallel_for_simd,
2663 llvm::omp::allowedOnceClauses_OMPD_target_parallel_for_simd,
2664 llvm::omp::allowedExclusiveClauses_OMPD_target_parallel_for_simd,
2665 llvm::omp::requiredClauses_OMPD_target_parallel_for_simd,
2666 }
2667 },
2668 {llvm::omp::Directive::OMPD_target_simd,
2669 {
2670 llvm::omp::allowedClauses_OMPD_target_simd,
2671 llvm::omp::allowedOnceClauses_OMPD_target_simd,
2672 llvm::omp::allowedExclusiveClauses_OMPD_target_simd,
2673 llvm::omp::requiredClauses_OMPD_target_simd,
2674 }
2675 },
2676 {llvm::omp::Directive::OMPD_target_teams,
2677 {
2678 llvm::omp::allowedClauses_OMPD_target_teams,
2679 llvm::omp::allowedOnceClauses_OMPD_target_teams,
2680 llvm::omp::allowedExclusiveClauses_OMPD_target_teams,
2681 llvm::omp::requiredClauses_OMPD_target_teams,
2682 }
2683 },
2684 {llvm::omp::Directive::OMPD_target_teams_distribute,
2685 {
2686 llvm::omp::allowedClauses_OMPD_target_teams_distribute,
2687 llvm::omp::allowedOnceClauses_OMPD_target_teams_distribute,
2688 llvm::omp::allowedExclusiveClauses_OMPD_target_teams_distribute,
2689 llvm::omp::requiredClauses_OMPD_target_teams_distribute,
2690 }
2691 },
2692 {llvm::omp::Directive::OMPD_target_teams_distribute_parallel_do,
2693 {
2694 llvm::omp::allowedClauses_OMPD_target_teams_distribute_parallel_do,
2695 llvm::omp::allowedOnceClauses_OMPD_target_teams_distribute_parallel_do,
2696 llvm::omp::allowedExclusiveClauses_OMPD_target_teams_distribute_parallel_do,
2697 llvm::omp::requiredClauses_OMPD_target_teams_distribute_parallel_do,
2698 }
2699 },
2700 {llvm::omp::Directive::OMPD_target_teams_distribute_parallel_do_simd,
2701 {
2702 llvm::omp::allowedClauses_OMPD_target_teams_distribute_parallel_do_simd,
2703 llvm::omp::allowedOnceClauses_OMPD_target_teams_distribute_parallel_do_simd,
2704 llvm::omp::allowedExclusiveClauses_OMPD_target_teams_distribute_parallel_do_simd,
2705 llvm::omp::requiredClauses_OMPD_target_teams_distribute_parallel_do_simd,
2706 }
2707 },
2708 {llvm::omp::Directive::OMPD_target_teams_distribute_parallel_for,
2709 {
2710 llvm::omp::allowedClauses_OMPD_target_teams_distribute_parallel_for,
2711 llvm::omp::allowedOnceClauses_OMPD_target_teams_distribute_parallel_for,
2712 llvm::omp::allowedExclusiveClauses_OMPD_target_teams_distribute_parallel_for,
2713 llvm::omp::requiredClauses_OMPD_target_teams_distribute_parallel_for,
2714 }
2715 },
2716 {llvm::omp::Directive::OMPD_target_teams_distribute_parallel_for_simd,
2717 {
2718 llvm::omp::allowedClauses_OMPD_target_teams_distribute_parallel_for_simd,
2719 llvm::omp::allowedOnceClauses_OMPD_target_teams_distribute_parallel_for_simd,
2720 llvm::omp::allowedExclusiveClauses_OMPD_target_teams_distribute_parallel_for_simd,
2721 llvm::omp::requiredClauses_OMPD_target_teams_distribute_parallel_for_simd,
2722 }
2723 },
2724 {llvm::omp::Directive::OMPD_target_teams_distribute_simd,
2725 {
2726 llvm::omp::allowedClauses_OMPD_target_teams_distribute_simd,
2727 llvm::omp::allowedOnceClauses_OMPD_target_teams_distribute_simd,
2728 llvm::omp::allowedExclusiveClauses_OMPD_target_teams_distribute_simd,
2729 llvm::omp::requiredClauses_OMPD_target_teams_distribute_simd,
2730 }
2731 },
2732 {llvm::omp::Directive::OMPD_target_update,
2733 {
2734 llvm::omp::allowedClauses_OMPD_target_update,
2735 llvm::omp::allowedOnceClauses_OMPD_target_update,
2736 llvm::omp::allowedExclusiveClauses_OMPD_target_update,
2737 llvm::omp::requiredClauses_OMPD_target_update,
2738 }
2739 },
2740 {llvm::omp::Directive::OMPD_task,
2741 {
2742 llvm::omp::allowedClauses_OMPD_task,
2743 llvm::omp::allowedOnceClauses_OMPD_task,
2744 llvm::omp::allowedExclusiveClauses_OMPD_task,
2745 llvm::omp::requiredClauses_OMPD_task,
2746 }
2747 },
2748 {llvm::omp::Directive::OMPD_taskgroup,
2749 {
2750 llvm::omp::allowedClauses_OMPD_taskgroup,
2751 llvm::omp::allowedOnceClauses_OMPD_taskgroup,
2752 llvm::omp::allowedExclusiveClauses_OMPD_taskgroup,
2753 llvm::omp::requiredClauses_OMPD_taskgroup,
2754 }
2755 },
2756 {llvm::omp::Directive::OMPD_taskloop,
2757 {
2758 llvm::omp::allowedClauses_OMPD_taskloop,
2759 llvm::omp::allowedOnceClauses_OMPD_taskloop,
2760 llvm::omp::allowedExclusiveClauses_OMPD_taskloop,
2761 llvm::omp::requiredClauses_OMPD_taskloop,
2762 }
2763 },
2764 {llvm::omp::Directive::OMPD_taskloop_simd,
2765 {
2766 llvm::omp::allowedClauses_OMPD_taskloop_simd,
2767 llvm::omp::allowedOnceClauses_OMPD_taskloop_simd,
2768 llvm::omp::allowedExclusiveClauses_OMPD_taskloop_simd,
2769 llvm::omp::requiredClauses_OMPD_taskloop_simd,
2770 }
2771 },
2772 {llvm::omp::Directive::OMPD_taskwait,
2773 {
2774 llvm::omp::allowedClauses_OMPD_taskwait,
2775 llvm::omp::allowedOnceClauses_OMPD_taskwait,
2776 llvm::omp::allowedExclusiveClauses_OMPD_taskwait,
2777 llvm::omp::requiredClauses_OMPD_taskwait,
2778 }
2779 },
2780 {llvm::omp::Directive::OMPD_taskyield,
2781 {
2782 llvm::omp::allowedClauses_OMPD_taskyield,
2783 llvm::omp::allowedOnceClauses_OMPD_taskyield,
2784 llvm::omp::allowedExclusiveClauses_OMPD_taskyield,
2785 llvm::omp::requiredClauses_OMPD_taskyield,
2786 }
2787 },
2788 {llvm::omp::Directive::OMPD_teams,
2789 {
2790 llvm::omp::allowedClauses_OMPD_teams,
2791 llvm::omp::allowedOnceClauses_OMPD_teams,
2792 llvm::omp::allowedExclusiveClauses_OMPD_teams,
2793 llvm::omp::requiredClauses_OMPD_teams,
2794 }
2795 },
2796 {llvm::omp::Directive::OMPD_teams_distribute,
2797 {
2798 llvm::omp::allowedClauses_OMPD_teams_distribute,
2799 llvm::omp::allowedOnceClauses_OMPD_teams_distribute,
2800 llvm::omp::allowedExclusiveClauses_OMPD_teams_distribute,
2801 llvm::omp::requiredClauses_OMPD_teams_distribute,
2802 }
2803 },
2804 {llvm::omp::Directive::OMPD_teams_distribute_parallel_do,
2805 {
2806 llvm::omp::allowedClauses_OMPD_teams_distribute_parallel_do,
2807 llvm::omp::allowedOnceClauses_OMPD_teams_distribute_parallel_do,
2808 llvm::omp::allowedExclusiveClauses_OMPD_teams_distribute_parallel_do,
2809 llvm::omp::requiredClauses_OMPD_teams_distribute_parallel_do,
2810 }
2811 },
2812 {llvm::omp::Directive::OMPD_teams_distribute_parallel_do_simd,
2813 {
2814 llvm::omp::allowedClauses_OMPD_teams_distribute_parallel_do_simd,
2815 llvm::omp::allowedOnceClauses_OMPD_teams_distribute_parallel_do_simd,
2816 llvm::omp::allowedExclusiveClauses_OMPD_teams_distribute_parallel_do_simd,
2817 llvm::omp::requiredClauses_OMPD_teams_distribute_parallel_do_simd,
2818 }
2819 },
2820 {llvm::omp::Directive::OMPD_teams_distribute_parallel_for,
2821 {
2822 llvm::omp::allowedClauses_OMPD_teams_distribute_parallel_for,
2823 llvm::omp::allowedOnceClauses_OMPD_teams_distribute_parallel_for,
2824 llvm::omp::allowedExclusiveClauses_OMPD_teams_distribute_parallel_for,
2825 llvm::omp::requiredClauses_OMPD_teams_distribute_parallel_for,
2826 }
2827 },
2828 {llvm::omp::Directive::OMPD_teams_distribute_parallel_for_simd,
2829 {
2830 llvm::omp::allowedClauses_OMPD_teams_distribute_parallel_for_simd,
2831 llvm::omp::allowedOnceClauses_OMPD_teams_distribute_parallel_for_simd,
2832 llvm::omp::allowedExclusiveClauses_OMPD_teams_distribute_parallel_for_simd,
2833 llvm::omp::requiredClauses_OMPD_teams_distribute_parallel_for_simd,
2834 }
2835 },
2836 {llvm::omp::Directive::OMPD_teams_distribute_simd,
2837 {
2838 llvm::omp::allowedClauses_OMPD_teams_distribute_simd,
2839 llvm::omp::allowedOnceClauses_OMPD_teams_distribute_simd,
2840 llvm::omp::allowedExclusiveClauses_OMPD_teams_distribute_simd,
2841 llvm::omp::requiredClauses_OMPD_teams_distribute_simd,
2842 }
2843 },
2844 {llvm::omp::Directive::OMPD_threadprivate,
2845 {
2846 llvm::omp::allowedClauses_OMPD_threadprivate,
2847 llvm::omp::allowedOnceClauses_OMPD_threadprivate,
2848 llvm::omp::allowedExclusiveClauses_OMPD_threadprivate,
2849 llvm::omp::requiredClauses_OMPD_threadprivate,
2850 }
2851 },
2852 {llvm::omp::Directive::OMPD_unknown,
2853 {
2854 llvm::omp::allowedClauses_OMPD_unknown,
2855 llvm::omp::allowedOnceClauses_OMPD_unknown,
2856 llvm::omp::allowedExclusiveClauses_OMPD_unknown,
2857 llvm::omp::requiredClauses_OMPD_unknown,
2858 }
2859 },
2860 {llvm::omp::Directive::OMPD_workshare,
2861 {
2862 llvm::omp::allowedClauses_OMPD_workshare,
2863 llvm::omp::allowedOnceClauses_OMPD_workshare,
2864 llvm::omp::allowedExclusiveClauses_OMPD_workshare,
2865 llvm::omp::requiredClauses_OMPD_workshare,
2866 }
2867 },
2868}
2869
2870#endif // GEN_FLANG_DIRECTIVE_CLAUSE_MAP
2871
2872#ifdef GEN_FLANG_CLAUSE_PARSER_CLASSES
2873#undef GEN_FLANG_CLAUSE_PARSER_CLASSES
2874
2875EMPTY_CLASS(AcqRel);
2876EMPTY_CLASS(Acquire);
2877EMPTY_CLASS(Affinity);
2878WRAPPER_CLASS(Allocate, OmpAllocateClause);
2879WRAPPER_CLASS(Allocator, ScalarIntExpr);
2880EMPTY_CLASS(AtomicDefaultMemOrder);
2881EMPTY_CLASS(Capture);
2882WRAPPER_CLASS(Collapse, ScalarIntConstantExpr);
2883WRAPPER_CLASS(Copyprivate, OmpObjectList);
2884WRAPPER_CLASS(Copyin, OmpObjectList);
2885WRAPPER_CLASS(Default, OmpDefaultClause);
2886EMPTY_CLASS(Depobj);
2887EMPTY_CLASS(Destroy);
2888EMPTY_CLASS(Detach);
2889WRAPPER_CLASS(Device, ScalarIntExpr);
2890EMPTY_CLASS(DeviceType);
2891WRAPPER_CLASS(DistSchedule, std::optional<ScalarIntExpr>);
2892EMPTY_CLASS(DynamicAllocators);
2893EMPTY_CLASS(Exclusive);
2894WRAPPER_CLASS(Final, ScalarLogicalExpr);
2895WRAPPER_CLASS(Firstprivate, OmpObjectList);
2896EMPTY_CLASS(Flush);
2897WRAPPER_CLASS(From, OmpObjectList);
2898WRAPPER_CLASS(Grainsize, ScalarIntExpr);
2899WRAPPER_CLASS(Hint, ConstantExpr);
2900EMPTY_CLASS(InReduction);
2901EMPTY_CLASS(Inbranch);
2902EMPTY_CLASS(Inclusive);
2903WRAPPER_CLASS(IsDevicePtr, std::list<Name>);
2904WRAPPER_CLASS(Lastprivate, OmpObjectList);
2905WRAPPER_CLASS(Link, OmpObjectList);
2906EMPTY_CLASS(Match);
2907EMPTY_CLASS(Mergeable);
2908EMPTY_CLASS(Nogroup);
2909EMPTY_CLASS(Nowait);
2910EMPTY_CLASS(Nontemporal);
2911EMPTY_CLASS(Notinbranch);
2912WRAPPER_CLASS(NumTasks, ScalarIntExpr);
2913WRAPPER_CLASS(NumTeams, ScalarIntExpr);
2914WRAPPER_CLASS(NumThreads, ScalarIntExpr);
2915EMPTY_CLASS(Order);
2916WRAPPER_CLASS(Ordered, std::optional<ScalarIntConstantExpr>);
2917WRAPPER_CLASS(Priority, ScalarIntExpr);
2918WRAPPER_CLASS(Private, OmpObjectList);
2919WRAPPER_CLASS(ProcBind, OmpProcBindClause);
2920EMPTY_CLASS(Read);
2921WRAPPER_CLASS(Reduction, OmpReductionClause);
2922EMPTY_CLASS(Relaxed);
2923EMPTY_CLASS(Release);
2924EMPTY_CLASS(ReverseOffload);
2925WRAPPER_CLASS(Safelen, ScalarIntConstantExpr);
2926EMPTY_CLASS(SeqCst);
2927WRAPPER_CLASS(Shared, OmpObjectList);
2928EMPTY_CLASS(Simd);
2929WRAPPER_CLASS(Simdlen, ScalarIntConstantExpr);
2930WRAPPER_CLASS(TaskReduction, OmpReductionClause);
2931WRAPPER_CLASS(ThreadLimit, ScalarIntExpr);
2932EMPTY_CLASS(Threadprivate);
2933EMPTY_CLASS(Threads);
2934WRAPPER_CLASS(To, OmpObjectList);
2935EMPTY_CLASS(UnifiedAddress);
2936EMPTY_CLASS(UnifiedSharedMemory);
2937WRAPPER_CLASS(Uniform, std::list<Name>);
2938EMPTY_CLASS(Unknown);
2939EMPTY_CLASS(Untied);
2940EMPTY_CLASS(Update);
2941EMPTY_CLASS(UseDeviceAddr);
2942WRAPPER_CLASS(UseDevicePtr, std::list<Name>);
2943EMPTY_CLASS(UsesAllocators);
2944EMPTY_CLASS(Write);
2945
2946#endif // GEN_FLANG_CLAUSE_PARSER_CLASSES
2947
2948#ifdef GEN_FLANG_CLAUSE_PARSER_CLASSES_LIST
2949#undef GEN_FLANG_CLAUSE_PARSER_CLASSES_LIST
2950
2951AcqRel
2952, Acquire
2953, Affinity
2954, OmpAlignedClause
2955, Allocate
2956, Allocator
2957, AtomicDefaultMemOrder
2958, Capture
2959, Collapse
2960, Copyprivate
2961, Copyin
2962, Default
2963, OmpDefaultmapClause
2964, OmpDependClause
2965, Depobj
2966, Destroy
2967, Detach
2968, Device
2969, DeviceType
2970, DistSchedule
2971, DynamicAllocators
2972, Exclusive
2973, Final
2974, Firstprivate
2975, Flush
2976, From
2977, Grainsize
2978, Hint
2979, OmpIfClause
2980, InReduction
2981, Inbranch
2982, Inclusive
2983, IsDevicePtr
2984, Lastprivate
2985, OmpLinearClause
2986, Link
2987, OmpMapClause
2988, Match
2989, Mergeable
2990, Nogroup
2991, Nowait
2992, Nontemporal
2993, Notinbranch
2994, NumTasks
2995, NumTeams
2996, NumThreads
2997, Order
2998, Ordered
2999, Priority
3000, Private
3001, ProcBind
3002, Read
3003, Reduction
3004, Relaxed
3005, Release
3006, ReverseOffload
3007, Safelen
3008, OmpScheduleClause
3009, SeqCst
3010, Shared
3011, Simd
3012, Simdlen
3013, TaskReduction
3014, ThreadLimit
3015, Threadprivate
3016, Threads
3017, To
3018, UnifiedAddress
3019, UnifiedSharedMemory
3020, Uniform
3021, Unknown
3022, Untied
3023, Update
3024, UseDeviceAddr
3025, UseDevicePtr
3026, UsesAllocators
3027, Write
3028
3029#endif // GEN_FLANG_CLAUSE_PARSER_CLASSES_LIST
3030
3031#ifdef GEN_FLANG_DUMP_PARSE_TREE_CLAUSES
3032#undef GEN_FLANG_DUMP_PARSE_TREE_CLAUSES
3033
3034NODE(OmpClause, AcqRel)
3035NODE(OmpClause, Acquire)
3036NODE(OmpClause, Affinity)
3037NODE(OmpClause, Allocate)
3038NODE(OmpClause, Allocator)
3039NODE(OmpClause, AtomicDefaultMemOrder)
3040NODE(OmpClause, Capture)
3041NODE(OmpClause, Collapse)
3042NODE(OmpClause, Copyprivate)
3043NODE(OmpClause, Copyin)
3044NODE(OmpClause, Default)
3045NODE(OmpClause, Depobj)
3046NODE(OmpClause, Destroy)
3047NODE(OmpClause, Detach)
3048NODE(OmpClause, Device)
3049NODE(OmpClause, DeviceType)
3050NODE(OmpClause, DistSchedule)
3051NODE(OmpClause, DynamicAllocators)
3052NODE(OmpClause, Exclusive)
3053NODE(OmpClause, Final)
3054NODE(OmpClause, Firstprivate)
3055NODE(OmpClause, Flush)
3056NODE(OmpClause, From)
3057NODE(OmpClause, Grainsize)
3058NODE(OmpClause, Hint)
3059NODE(OmpClause, InReduction)
3060NODE(OmpClause, Inbranch)
3061NODE(OmpClause, Inclusive)
3062NODE(OmpClause, IsDevicePtr)
3063NODE(OmpClause, Lastprivate)
3064NODE(OmpClause, Link)
3065NODE(OmpClause, Match)
3066NODE(OmpClause, Mergeable)
3067NODE(OmpClause, Nogroup)
3068NODE(OmpClause, Nowait)
3069NODE(OmpClause, Nontemporal)
3070NODE(OmpClause, Notinbranch)
3071NODE(OmpClause, NumTasks)
3072NODE(OmpClause, NumTeams)
3073NODE(OmpClause, NumThreads)
3074NODE(OmpClause, Order)
3075NODE(OmpClause, Ordered)
3076NODE(OmpClause, Priority)
3077NODE(OmpClause, Private)
3078NODE(OmpClause, ProcBind)
3079NODE(OmpClause, Read)
3080NODE(OmpClause, Reduction)
3081NODE(OmpClause, Relaxed)
3082NODE(OmpClause, Release)
3083NODE(OmpClause, ReverseOffload)
3084NODE(OmpClause, Safelen)
3085NODE(OmpClause, SeqCst)
3086NODE(OmpClause, Shared)
3087NODE(OmpClause, Simd)
3088NODE(OmpClause, Simdlen)
3089NODE(OmpClause, TaskReduction)
3090NODE(OmpClause, ThreadLimit)
3091NODE(OmpClause, Threadprivate)
3092NODE(OmpClause, Threads)
3093NODE(OmpClause, To)
3094NODE(OmpClause, UnifiedAddress)
3095NODE(OmpClause, UnifiedSharedMemory)
3096NODE(OmpClause, Uniform)
3097NODE(OmpClause, Unknown)
3098NODE(OmpClause, Untied)
3099NODE(OmpClause, Update)
3100NODE(OmpClause, UseDeviceAddr)
3101NODE(OmpClause, UseDevicePtr)
3102NODE(OmpClause, UsesAllocators)
3103NODE(OmpClause, Write)
3104
3105#endif // GEN_FLANG_DUMP_PARSE_TREE_CLAUSES
3106
3107#ifdef GEN_FLANG_CLAUSE_UNPARSE
3108#undef GEN_FLANG_CLAUSE_UNPARSE
3109
3110void Before(const OmpClause::AcqRel &) { Word("ACQ_REL"); }
3111void Before(const OmpClause::Acquire &) { Word("ACQUIRE"); }
3112void Before(const OmpClause::Affinity &) { Word("AFFINITY"); }
3113void Unparse(const OmpClause::Allocate &x) {
3114 Word("ALLOCATE");
3115 Put("(");
3116 Walk(x.v);
3117 Put(")");
3118}
3119void Unparse(const OmpClause::Allocator &x) {
3120 Word("ALLOCATOR");
3121 Put("(");
3122 Walk(x.v);
3123 Put(")");
3124}
3125void Before(const OmpClause::AtomicDefaultMemOrder &) { Word("ATOMIC_DEFAULT_MEM_ORDER"); }
3126void Before(const OmpClause::Capture &) { Word("CAPTURE"); }
3127void Unparse(const OmpClause::Collapse &x) {
3128 Word("COLLAPSE");
3129 Put("(");
3130 Walk(x.v);
3131 Put(")");
3132}
3133void Unparse(const OmpClause::Copyprivate &x) {
3134 Word("COPYPRIVATE");
3135 Put("(");
3136 Walk(x.v);
3137 Put(")");
3138}
3139void Unparse(const OmpClause::Copyin &x) {
3140 Word("COPYIN");
3141 Put("(");
3142 Walk(x.v);
3143 Put(")");
3144}
3145void Unparse(const OmpClause::Default &x) {
3146 Word("DEFAULT");
3147 Put("(");
3148 Walk(x.v);
3149 Put(")");
3150}
3151void Before(const OmpClause::Depobj &) { Word("DEPOBJ"); }
3152void Before(const OmpClause::Destroy &) { Word("DESTROY"); }
3153void Before(const OmpClause::Detach &) { Word("DETACH"); }
3154void Unparse(const OmpClause::Device &x) {
3155 Word("DEVICE");
3156 Put("(");
3157 Walk(x.v);
3158 Put(")");
3159}
3160void Before(const OmpClause::DeviceType &) { Word("DEVICE_TYPE"); }
3161void Unparse(const OmpClause::DistSchedule &x) {
3162 Word("DIST_SCHEDULE");
3163 Walk("(", x.v, ")");
3164}
3165void Before(const OmpClause::DynamicAllocators &) { Word("DYNAMIC_ALLOCATORS"); }
3166void Before(const OmpClause::Exclusive &) { Word("EXCLUSIVE"); }
3167void Unparse(const OmpClause::Final &x) {
3168 Word("FINAL");
3169 Put("(");
3170 Walk(x.v);
3171 Put(")");
3172}
3173void Unparse(const OmpClause::Firstprivate &x) {
3174 Word("FIRSTPRIVATE");
3175 Put("(");
3176 Walk(x.v);
3177 Put(")");
3178}
3179void Before(const OmpClause::Flush &) { Word("FLUSH"); }
3180void Unparse(const OmpClause::From &x) {
3181 Word("FROM");
3182 Put("(");
3183 Walk(x.v);
3184 Put(")");
3185}
3186void Unparse(const OmpClause::Grainsize &x) {
3187 Word("GRAINSIZE");
3188 Put("(");
3189 Walk(x.v);
3190 Put(")");
3191}
3192void Unparse(const OmpClause::Hint &x) {
3193 Word("HINT");
3194 Put("(");
3195 Walk(x.v);
3196 Put(")");
3197}
3198void Before(const OmpClause::InReduction &) { Word("IN_REDUCTION"); }
3199void Before(const OmpClause::Inbranch &) { Word("INBRANCH"); }
3200void Before(const OmpClause::Inclusive &) { Word("INCLUSIVE"); }
3201void Unparse(const OmpClause::IsDevicePtr &x) {
3202 Word("IS_DEVICE_PTR");
3203 Put("(");
3204 Walk(x.v, ",");
3205 Put(")");
3206}
3207void Unparse(const OmpClause::Lastprivate &x) {
3208 Word("LASTPRIVATE");
3209 Put("(");
3210 Walk(x.v);
3211 Put(")");
3212}
3213void Unparse(const OmpClause::Link &x) {
3214 Word("LINK");
3215 Put("(");
3216 Walk(x.v);
3217 Put(")");
3218}
3219void Before(const OmpClause::Match &) { Word("MATCH"); }
3220void Before(const OmpClause::Mergeable &) { Word("MERGEABLE"); }
3221void Before(const OmpClause::Nogroup &) { Word("NOGROUP"); }
3222void Before(const OmpClause::Nowait &) { Word("NOWAIT"); }
3223void Before(const OmpClause::Nontemporal &) { Word("NONTEMPORAL"); }
3224void Before(const OmpClause::Notinbranch &) { Word("NOTINBRANCH"); }
3225void Unparse(const OmpClause::NumTasks &x) {
3226 Word("NUM_TASKS");
3227 Put("(");
3228 Walk(x.v);
3229 Put(")");
3230}
3231void Unparse(const OmpClause::NumTeams &x) {
3232 Word("NUM_TEAMS");
3233 Put("(");
3234 Walk(x.v);
3235 Put(")");
3236}
3237void Unparse(const OmpClause::NumThreads &x) {
3238 Word("NUM_THREADS");
3239 Put("(");
3240 Walk(x.v);
3241 Put(")");
3242}
3243void Before(const OmpClause::Order &) { Word("ORDER"); }
3244void Unparse(const OmpClause::Ordered &x) {
3245 Word("ORDERED");
3246 Walk("(", x.v, ")");
3247}
3248void Unparse(const OmpClause::Priority &x) {
3249 Word("PRIORITY");
3250 Put("(");
3251 Walk(x.v);
3252 Put(")");
3253}
3254void Unparse(const OmpClause::Private &x) {
3255 Word("PRIVATE");
3256 Put("(");
3257 Walk(x.v);
3258 Put(")");
3259}
3260void Unparse(const OmpClause::ProcBind &x) {
3261 Word("PROC_BIND");
3262 Put("(");
3263 Walk(x.v);
3264 Put(")");
3265}
3266void Before(const OmpClause::Read &) { Word("READ"); }
3267void Unparse(const OmpClause::Reduction &x) {
3268 Word("REDUCTION");
3269 Put("(");
3270 Walk(x.v);
3271 Put(")");
3272}
3273void Before(const OmpClause::Relaxed &) { Word("RELAXED"); }
3274void Before(const OmpClause::Release &) { Word("RELEASE"); }
3275void Before(const OmpClause::ReverseOffload &) { Word("REVERSE_OFFLOAD"); }
3276void Unparse(const OmpClause::Safelen &x) {
3277 Word("SAFELEN");
3278 Put("(");
3279 Walk(x.v);
3280 Put(")");
3281}
3282void Before(const OmpClause::SeqCst &) { Word("SEQ_CST"); }
3283void Unparse(const OmpClause::Shared &x) {
3284 Word("SHARED");
3285 Put("(");
3286 Walk(x.v);
3287 Put(")");
3288}
3289void Before(const OmpClause::Simd &) { Word("SIMD"); }
3290void Unparse(const OmpClause::Simdlen &x) {
3291 Word("SIMDLEN");
3292 Put("(");
3293 Walk(x.v);
3294 Put(")");
3295}
3296void Unparse(const OmpClause::TaskReduction &x) {
3297 Word("TASK_REDUCTION");
3298 Put("(");
3299 Walk(x.v);
3300 Put(")");
3301}
3302void Unparse(const OmpClause::ThreadLimit &x) {
3303 Word("THREAD_LIMIT");
3304 Put("(");
3305 Walk(x.v);
3306 Put(")");
3307}
3308void Before(const OmpClause::Threadprivate &) { Word("THREADPRIVATE"); }
3309void Before(const OmpClause::Threads &) { Word("THREADS"); }
3310void Unparse(const OmpClause::To &x) {
3311 Word("TO");
3312 Put("(");
3313 Walk(x.v);
3314 Put(")");
3315}
3316void Before(const OmpClause::UnifiedAddress &) { Word("UNIFIED_ADDRESS"); }
3317void Before(const OmpClause::UnifiedSharedMemory &) { Word("UNIFIED_SHARED_MEMORY"); }
3318void Unparse(const OmpClause::Uniform &x) {
3319 Word("UNIFORM");
3320 Put("(");
3321 Walk(x.v, ",");
3322 Put(")");
3323}
3324void Before(const OmpClause::Unknown &) { Word("UNKNOWN"); }
3325void Before(const OmpClause::Untied &) { Word("UNTIED"); }
3326void Before(const OmpClause::Update &) { Word("UPDATE"); }
3327void Before(const OmpClause::UseDeviceAddr &) { Word("USE_DEVICE_ADDR"); }
3328void Unparse(const OmpClause::UseDevicePtr &x) {
3329 Word("USE_DEVICE_PTR");
3330 Put("(");
3331 Walk(x.v, ",");
3332 Put(")");
3333}
3334void Before(const OmpClause::UsesAllocators &) { Word("USES_ALLOCATORS"); }
3335void Before(const OmpClause::Write &) { Word("WRITE"); }
3336
3337#endif // GEN_FLANG_CLAUSE_UNPARSE
3338
3339#ifdef GEN_CLANG_CLAUSE_CLASS
3340#undef GEN_CLANG_CLAUSE_CLASS
3341
3342#ifndef CLAUSE
3343#define CLAUSE(Enum, Str, Implicit)
3344#endif
3345#ifndef CLAUSE_CLASS
3346#define CLAUSE_CLASS(Enum, Str, Class)
3347#endif
3348#ifndef CLAUSE_NO_CLASS
3349#define CLAUSE_NO_CLASS(Enum, Str)
3350#endif
3351
3352#define __CLAUSE(Name, Class) \
3353 CLAUSE(OMPC_##Name, #Name, /* Implicit */ false) \
3354 CLAUSE_CLASS(OMPC_##Name, #Name, Class)
3355#define __CLAUSE_NO_CLASS(Name) \
3356 CLAUSE(OMPC_##Name, #Name, /* Implicit */ false) \
3357 CLAUSE_NO_CLASS(OMPC_##Name, #Name)
3358#define __IMPLICIT_CLAUSE_CLASS(Name, Str, Class) \
3359 CLAUSE(OMPC_##Name, Str, /* Implicit */ true) \
3360 CLAUSE_CLASS(OMPC_##Name, Str, Class)
3361#define __IMPLICIT_CLAUSE_NO_CLASS(Name, Str) \
3362 CLAUSE(OMPC_##Name, Str, /* Implicit */ true) \
3363 CLAUSE_NO_CLASS(OMPC_##Name, Str)
3364
3365__CLAUSE(acq_rel, OMPAcqRelClause)
3366__CLAUSE(acquire, OMPAcquireClause)
3367__CLAUSE(affinity, OMPAffinityClause)
3368__CLAUSE(aligned, OMPAlignedClause)
3369__CLAUSE(allocate, OMPAllocateClause)
3370__CLAUSE(allocator, OMPAllocatorClause)
3371__CLAUSE(atomic_default_mem_order, OMPAtomicDefaultMemOrderClause)
3372__CLAUSE(capture, OMPCaptureClause)
3373__CLAUSE(collapse, OMPCollapseClause)
3374__CLAUSE(copyprivate, OMPCopyprivateClause)
3375__CLAUSE(copyin, OMPCopyinClause)
3376__CLAUSE(default, OMPDefaultClause)
3377__CLAUSE(defaultmap, OMPDefaultmapClause)
3378__CLAUSE(depend, OMPDependClause)
3379__IMPLICIT_CLAUSE_CLASS(depobj, "depobj", OMPDepobjClause)
3380__CLAUSE(destroy, OMPDestroyClause)
3381__CLAUSE(detach, OMPDetachClause)
3382__CLAUSE(device, OMPDeviceClause)
3383__CLAUSE_NO_CLASS(device_type)
3384__CLAUSE(dist_schedule, OMPDistScheduleClause)
3385__CLAUSE(dynamic_allocators, OMPDynamicAllocatorsClause)
3386__CLAUSE(exclusive, OMPExclusiveClause)
3387__CLAUSE(final, OMPFinalClause)
3388__CLAUSE(firstprivate, OMPFirstprivateClause)
3389__IMPLICIT_CLAUSE_CLASS(flush, "flush", OMPFlushClause)
3390__CLAUSE(from, OMPFromClause)
3391__CLAUSE(grainsize, OMPGrainsizeClause)
3392__CLAUSE(hint, OMPHintClause)
3393__CLAUSE(if, OMPIfClause)
3394__CLAUSE(in_reduction, OMPInReductionClause)
3395__CLAUSE_NO_CLASS(inbranch)
3396__CLAUSE(inclusive, OMPInclusiveClause)
3397__CLAUSE(is_device_ptr, OMPIsDevicePtrClause)
3398__CLAUSE(lastprivate, OMPLastprivateClause)
3399__CLAUSE(linear, OMPLinearClause)
3400__CLAUSE_NO_CLASS(link)
3401__CLAUSE(map, OMPMapClause)
3402__CLAUSE_NO_CLASS(match)
3403__CLAUSE(mergeable, OMPMergeableClause)
3404__CLAUSE(nogroup, OMPNogroupClause)
3405__CLAUSE(nowait, OMPNowaitClause)
3406__CLAUSE(nontemporal, OMPNontemporalClause)
3407__CLAUSE_NO_CLASS(notinbranch)
3408__CLAUSE(num_tasks, OMPNumTasksClause)
3409__CLAUSE(num_teams, OMPNumTeamsClause)
3410__CLAUSE(num_threads, OMPNumThreadsClause)
3411__CLAUSE(order, OMPOrderClause)
3412__CLAUSE(ordered, OMPOrderedClause)
3413__CLAUSE(priority, OMPPriorityClause)
3414__CLAUSE(private, OMPPrivateClause)
3415__CLAUSE(proc_bind, OMPProcBindClause)
3416__CLAUSE(read, OMPReadClause)
3417__CLAUSE(reduction, OMPReductionClause)
3418__CLAUSE(relaxed, OMPRelaxedClause)
3419__CLAUSE(release, OMPReleaseClause)
3420__CLAUSE(reverse_offload, OMPReverseOffloadClause)
3421__CLAUSE(safelen, OMPSafelenClause)
3422__CLAUSE(schedule, OMPScheduleClause)
3423__CLAUSE(seq_cst, OMPSeqCstClause)
3424__CLAUSE(shared, OMPSharedClause)
3425__CLAUSE(simd, OMPSIMDClause)
3426__CLAUSE(simdlen, OMPSimdlenClause)
3427__CLAUSE(task_reduction, OMPTaskReductionClause)
3428__CLAUSE(thread_limit, OMPThreadLimitClause)
3429__IMPLICIT_CLAUSE_NO_CLASS(threadprivate, "threadprivate")
3430__CLAUSE(threads, OMPThreadsClause)
3431__CLAUSE(to, OMPToClause)
3432__CLAUSE(unified_address, OMPUnifiedAddressClause)
3433__CLAUSE(unified_shared_memory, OMPUnifiedSharedMemoryClause)
3434__CLAUSE_NO_CLASS(uniform)
3435__IMPLICIT_CLAUSE_NO_CLASS(unknown, "unknown")
3436__CLAUSE(untied, OMPUntiedClause)
3437__CLAUSE(update, OMPUpdateClause)
3438__CLAUSE(use_device_addr, OMPUseDeviceAddrClause)
3439__CLAUSE(use_device_ptr, OMPUseDevicePtrClause)
3440__CLAUSE(uses_allocators, OMPUsesAllocatorsClause)
3441__CLAUSE(write, OMPWriteClause)
3442
3443#undef __IMPLICIT_CLAUSE_NO_CLASS
3444#undef __IMPLICIT_CLAUSE_CLASS
3445#undef __CLAUSE
3446#undef CLAUSE_NO_CLASS
3447#undef CLAUSE_CLASS
3448#undef CLAUSE
3449
3450#endif // GEN_CLANG_CLAUSE_CLASS
3451