1#ifdef GEN_FLANG_DIRECTIVE_CLAUSE_SETS
2#undef GEN_FLANG_DIRECTIVE_CLAUSE_SETS
3
4namespace llvm::omp {
5
6// Sets for allocate
7
8static llvm::omp::ClauseSet allowedClauses_OMPD_allocate {
9};
10
11static llvm::omp::ClauseSet allowedOnceClauses_OMPD_allocate {
12 Clause::OMPC_align,
13 Clause::OMPC_allocator,
14};
15
16static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_allocate {
17};
18
19static llvm::omp::ClauseSet requiredClauses_OMPD_allocate {
20};
21// Sets for allocators
22
23static llvm::omp::ClauseSet allowedClauses_OMPD_allocators {
24 Clause::OMPC_allocate,
25};
26
27static llvm::omp::ClauseSet allowedOnceClauses_OMPD_allocators {
28};
29
30static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_allocators {
31};
32
33static llvm::omp::ClauseSet requiredClauses_OMPD_allocators {
34};
35// Sets for assume
36
37static llvm::omp::ClauseSet allowedClauses_OMPD_assume {
38};
39
40static llvm::omp::ClauseSet allowedOnceClauses_OMPD_assume {
41 Clause::OMPC_absent,
42 Clause::OMPC_contains,
43 Clause::OMPC_holds,
44 Clause::OMPC_no_openmp,
45 Clause::OMPC_no_openmp_constructs,
46 Clause::OMPC_no_openmp_routines,
47 Clause::OMPC_no_parallelism,
48};
49
50static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_assume {
51};
52
53static llvm::omp::ClauseSet requiredClauses_OMPD_assume {
54};
55// Sets for assumes
56
57static llvm::omp::ClauseSet allowedClauses_OMPD_assumes {
58};
59
60static llvm::omp::ClauseSet allowedOnceClauses_OMPD_assumes {
61 Clause::OMPC_absent,
62 Clause::OMPC_contains,
63 Clause::OMPC_holds,
64 Clause::OMPC_no_openmp,
65 Clause::OMPC_no_openmp_routines,
66 Clause::OMPC_no_parallelism,
67};
68
69static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_assumes {
70};
71
72static llvm::omp::ClauseSet requiredClauses_OMPD_assumes {
73};
74// Sets for atomic
75
76static llvm::omp::ClauseSet allowedClauses_OMPD_atomic {
77};
78
79static llvm::omp::ClauseSet allowedOnceClauses_OMPD_atomic {
80 Clause::OMPC_acq_rel,
81 Clause::OMPC_acquire,
82 Clause::OMPC_capture,
83 Clause::OMPC_compare,
84 Clause::OMPC_fail,
85 Clause::OMPC_hint,
86 Clause::OMPC_read,
87 Clause::OMPC_relaxed,
88 Clause::OMPC_release,
89 Clause::OMPC_seq_cst,
90 Clause::OMPC_update,
91 Clause::OMPC_weak,
92 Clause::OMPC_write,
93};
94
95static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_atomic {
96};
97
98static llvm::omp::ClauseSet requiredClauses_OMPD_atomic {
99};
100// Sets for barrier
101
102static llvm::omp::ClauseSet allowedClauses_OMPD_barrier {
103};
104
105static llvm::omp::ClauseSet allowedOnceClauses_OMPD_barrier {
106};
107
108static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_barrier {
109};
110
111static llvm::omp::ClauseSet requiredClauses_OMPD_barrier {
112};
113// Sets for begin assumes
114
115static llvm::omp::ClauseSet allowedClauses_OMPD_begin_assumes {
116};
117
118static llvm::omp::ClauseSet allowedOnceClauses_OMPD_begin_assumes {
119 Clause::OMPC_absent,
120 Clause::OMPC_contains,
121 Clause::OMPC_holds,
122 Clause::OMPC_no_openmp,
123 Clause::OMPC_no_openmp_routines,
124 Clause::OMPC_no_parallelism,
125};
126
127static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_begin_assumes {
128};
129
130static llvm::omp::ClauseSet requiredClauses_OMPD_begin_assumes {
131};
132// Sets for begin declare target
133
134static llvm::omp::ClauseSet allowedClauses_OMPD_begin_declare_target {
135 Clause::OMPC_link,
136 Clause::OMPC_to,
137};
138
139static llvm::omp::ClauseSet allowedOnceClauses_OMPD_begin_declare_target {
140 Clause::OMPC_device_type,
141 Clause::OMPC_indirect,
142};
143
144static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_begin_declare_target {
145};
146
147static llvm::omp::ClauseSet requiredClauses_OMPD_begin_declare_target {
148};
149// Sets for begin declare variant
150
151static llvm::omp::ClauseSet allowedClauses_OMPD_begin_declare_variant {
152};
153
154static llvm::omp::ClauseSet allowedOnceClauses_OMPD_begin_declare_variant {
155};
156
157static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_begin_declare_variant {
158};
159
160static llvm::omp::ClauseSet requiredClauses_OMPD_begin_declare_variant {
161};
162// Sets for cancel
163
164static llvm::omp::ClauseSet allowedClauses_OMPD_cancel {
165 Clause::OMPC_if,
166};
167
168static llvm::omp::ClauseSet allowedOnceClauses_OMPD_cancel {
169 Clause::OMPC_cancellation_construct_type,
170};
171
172static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_cancel {
173};
174
175static llvm::omp::ClauseSet requiredClauses_OMPD_cancel {
176};
177// Sets for cancellation point
178
179static llvm::omp::ClauseSet allowedClauses_OMPD_cancellation_point {
180};
181
182static llvm::omp::ClauseSet allowedOnceClauses_OMPD_cancellation_point {
183 Clause::OMPC_cancellation_construct_type,
184};
185
186static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_cancellation_point {
187};
188
189static llvm::omp::ClauseSet requiredClauses_OMPD_cancellation_point {
190};
191// Sets for critical
192
193static llvm::omp::ClauseSet allowedClauses_OMPD_critical {
194};
195
196static llvm::omp::ClauseSet allowedOnceClauses_OMPD_critical {
197 Clause::OMPC_hint,
198};
199
200static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_critical {
201};
202
203static llvm::omp::ClauseSet requiredClauses_OMPD_critical {
204};
205// Sets for declare_induction
206
207static llvm::omp::ClauseSet allowedClauses_OMPD_declare_induction {
208};
209
210static llvm::omp::ClauseSet allowedOnceClauses_OMPD_declare_induction {
211 Clause::OMPC_collector,
212 Clause::OMPC_inductor,
213};
214
215static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_declare_induction {
216};
217
218static llvm::omp::ClauseSet requiredClauses_OMPD_declare_induction {
219};
220// Sets for declare mapper
221
222static llvm::omp::ClauseSet allowedClauses_OMPD_declare_mapper {
223};
224
225static llvm::omp::ClauseSet allowedOnceClauses_OMPD_declare_mapper {
226};
227
228static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_declare_mapper {
229};
230
231static llvm::omp::ClauseSet requiredClauses_OMPD_declare_mapper {
232 Clause::OMPC_map,
233};
234// Sets for declare reduction
235
236static llvm::omp::ClauseSet allowedClauses_OMPD_declare_reduction {
237};
238
239static llvm::omp::ClauseSet allowedOnceClauses_OMPD_declare_reduction {
240 Clause::OMPC_combiner,
241 Clause::OMPC_initializer,
242};
243
244static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_declare_reduction {
245};
246
247static llvm::omp::ClauseSet requiredClauses_OMPD_declare_reduction {
248};
249// Sets for declare simd
250
251static llvm::omp::ClauseSet allowedClauses_OMPD_declare_simd {
252 Clause::OMPC_aligned,
253 Clause::OMPC_linear,
254 Clause::OMPC_uniform,
255};
256
257static llvm::omp::ClauseSet allowedOnceClauses_OMPD_declare_simd {
258 Clause::OMPC_simdlen,
259};
260
261static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_declare_simd {
262 Clause::OMPC_inbranch,
263 Clause::OMPC_notinbranch,
264};
265
266static llvm::omp::ClauseSet requiredClauses_OMPD_declare_simd {
267};
268// Sets for declare target
269
270static llvm::omp::ClauseSet allowedClauses_OMPD_declare_target {
271 Clause::OMPC_enter,
272 Clause::OMPC_link,
273 Clause::OMPC_local,
274 Clause::OMPC_to,
275};
276
277static llvm::omp::ClauseSet allowedOnceClauses_OMPD_declare_target {
278 Clause::OMPC_device_type,
279 Clause::OMPC_indirect,
280};
281
282static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_declare_target {
283};
284
285static llvm::omp::ClauseSet requiredClauses_OMPD_declare_target {
286};
287// Sets for declare variant
288
289static llvm::omp::ClauseSet allowedClauses_OMPD_declare_variant {
290 Clause::OMPC_adjust_args,
291};
292
293static llvm::omp::ClauseSet allowedOnceClauses_OMPD_declare_variant {
294 Clause::OMPC_append_args,
295 Clause::OMPC_match,
296};
297
298static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_declare_variant {
299};
300
301static llvm::omp::ClauseSet requiredClauses_OMPD_declare_variant {
302};
303// Sets for depobj
304
305static llvm::omp::ClauseSet allowedClauses_OMPD_depobj {
306 Clause::OMPC_depend,
307 Clause::OMPC_depobj,
308 Clause::OMPC_destroy,
309 Clause::OMPC_init,
310};
311
312static llvm::omp::ClauseSet allowedOnceClauses_OMPD_depobj {
313 Clause::OMPC_update_depend_objects,
314};
315
316static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_depobj {
317};
318
319static llvm::omp::ClauseSet requiredClauses_OMPD_depobj {
320};
321// Sets for distribute
322
323static llvm::omp::ClauseSet allowedClauses_OMPD_distribute {
324 Clause::OMPC_allocate,
325 Clause::OMPC_firstprivate,
326 Clause::OMPC_lastprivate,
327 Clause::OMPC_private,
328};
329
330static llvm::omp::ClauseSet allowedOnceClauses_OMPD_distribute {
331 Clause::OMPC_collapse,
332 Clause::OMPC_dist_schedule,
333 Clause::OMPC_order,
334};
335
336static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_distribute {
337};
338
339static llvm::omp::ClauseSet requiredClauses_OMPD_distribute {
340};
341// Sets for distribute parallel do
342
343static llvm::omp::ClauseSet allowedClauses_OMPD_distribute_parallel_do {
344 Clause::OMPC_allocate,
345 Clause::OMPC_copyin,
346 Clause::OMPC_firstprivate,
347 Clause::OMPC_if,
348 Clause::OMPC_lastprivate,
349 Clause::OMPC_linear,
350 Clause::OMPC_private,
351 Clause::OMPC_reduction,
352 Clause::OMPC_shared,
353};
354
355static llvm::omp::ClauseSet allowedOnceClauses_OMPD_distribute_parallel_do {
356 Clause::OMPC_collapse,
357 Clause::OMPC_default,
358 Clause::OMPC_dist_schedule,
359 Clause::OMPC_message,
360 Clause::OMPC_num_threads,
361 Clause::OMPC_order,
362 Clause::OMPC_proc_bind,
363 Clause::OMPC_schedule,
364 Clause::OMPC_severity,
365};
366
367static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_distribute_parallel_do {
368};
369
370static llvm::omp::ClauseSet requiredClauses_OMPD_distribute_parallel_do {
371};
372// Sets for distribute parallel do simd
373
374static llvm::omp::ClauseSet allowedClauses_OMPD_distribute_parallel_do_simd {
375 Clause::OMPC_aligned,
376 Clause::OMPC_allocate,
377 Clause::OMPC_copyin,
378 Clause::OMPC_firstprivate,
379 Clause::OMPC_if,
380 Clause::OMPC_lastprivate,
381 Clause::OMPC_linear,
382 Clause::OMPC_nontemporal,
383 Clause::OMPC_private,
384 Clause::OMPC_reduction,
385 Clause::OMPC_shared,
386};
387
388static llvm::omp::ClauseSet allowedOnceClauses_OMPD_distribute_parallel_do_simd {
389 Clause::OMPC_collapse,
390 Clause::OMPC_default,
391 Clause::OMPC_dist_schedule,
392 Clause::OMPC_message,
393 Clause::OMPC_num_threads,
394 Clause::OMPC_order,
395 Clause::OMPC_proc_bind,
396 Clause::OMPC_safelen,
397 Clause::OMPC_schedule,
398 Clause::OMPC_severity,
399 Clause::OMPC_simdlen,
400};
401
402static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_distribute_parallel_do_simd {
403};
404
405static llvm::omp::ClauseSet requiredClauses_OMPD_distribute_parallel_do_simd {
406};
407// Sets for distribute parallel for
408
409static llvm::omp::ClauseSet allowedClauses_OMPD_distribute_parallel_for {
410 Clause::OMPC_allocate,
411 Clause::OMPC_copyin,
412 Clause::OMPC_firstprivate,
413 Clause::OMPC_if,
414 Clause::OMPC_lastprivate,
415 Clause::OMPC_ompx_attribute,
416 Clause::OMPC_private,
417 Clause::OMPC_reduction,
418 Clause::OMPC_shared,
419};
420
421static llvm::omp::ClauseSet allowedOnceClauses_OMPD_distribute_parallel_for {
422 Clause::OMPC_collapse,
423 Clause::OMPC_default,
424 Clause::OMPC_dist_schedule,
425 Clause::OMPC_message,
426 Clause::OMPC_num_threads,
427 Clause::OMPC_order,
428 Clause::OMPC_proc_bind,
429 Clause::OMPC_schedule,
430 Clause::OMPC_severity,
431};
432
433static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_distribute_parallel_for {
434};
435
436static llvm::omp::ClauseSet requiredClauses_OMPD_distribute_parallel_for {
437};
438// Sets for distribute parallel for simd
439
440static llvm::omp::ClauseSet allowedClauses_OMPD_distribute_parallel_for_simd {
441 Clause::OMPC_aligned,
442 Clause::OMPC_allocate,
443 Clause::OMPC_copyin,
444 Clause::OMPC_firstprivate,
445 Clause::OMPC_if,
446 Clause::OMPC_lastprivate,
447 Clause::OMPC_linear,
448 Clause::OMPC_nontemporal,
449 Clause::OMPC_ompx_attribute,
450 Clause::OMPC_private,
451 Clause::OMPC_reduction,
452 Clause::OMPC_shared,
453};
454
455static llvm::omp::ClauseSet allowedOnceClauses_OMPD_distribute_parallel_for_simd {
456 Clause::OMPC_collapse,
457 Clause::OMPC_default,
458 Clause::OMPC_dist_schedule,
459 Clause::OMPC_message,
460 Clause::OMPC_num_threads,
461 Clause::OMPC_order,
462 Clause::OMPC_proc_bind,
463 Clause::OMPC_safelen,
464 Clause::OMPC_schedule,
465 Clause::OMPC_severity,
466 Clause::OMPC_simdlen,
467};
468
469static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_distribute_parallel_for_simd {
470};
471
472static llvm::omp::ClauseSet requiredClauses_OMPD_distribute_parallel_for_simd {
473};
474// Sets for distribute simd
475
476static llvm::omp::ClauseSet allowedClauses_OMPD_distribute_simd {
477 Clause::OMPC_aligned,
478 Clause::OMPC_allocate,
479 Clause::OMPC_copyin,
480 Clause::OMPC_firstprivate,
481 Clause::OMPC_if,
482 Clause::OMPC_lastprivate,
483 Clause::OMPC_linear,
484 Clause::OMPC_nontemporal,
485 Clause::OMPC_private,
486 Clause::OMPC_reduction,
487};
488
489static llvm::omp::ClauseSet allowedOnceClauses_OMPD_distribute_simd {
490 Clause::OMPC_collapse,
491 Clause::OMPC_default,
492 Clause::OMPC_dist_schedule,
493 Clause::OMPC_message,
494 Clause::OMPC_num_threads,
495 Clause::OMPC_order,
496 Clause::OMPC_proc_bind,
497 Clause::OMPC_safelen,
498 Clause::OMPC_schedule,
499 Clause::OMPC_severity,
500 Clause::OMPC_simdlen,
501};
502
503static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_distribute_simd {
504};
505
506static llvm::omp::ClauseSet requiredClauses_OMPD_distribute_simd {
507};
508// Sets for do
509
510static llvm::omp::ClauseSet allowedClauses_OMPD_do {
511 Clause::OMPC_allocate,
512 Clause::OMPC_firstprivate,
513 Clause::OMPC_lastprivate,
514 Clause::OMPC_linear,
515 Clause::OMPC_private,
516 Clause::OMPC_reduction,
517};
518
519static llvm::omp::ClauseSet allowedOnceClauses_OMPD_do {
520 Clause::OMPC_collapse,
521 Clause::OMPC_nowait,
522 Clause::OMPC_order,
523 Clause::OMPC_ordered,
524 Clause::OMPC_schedule,
525};
526
527static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_do {
528};
529
530static llvm::omp::ClauseSet requiredClauses_OMPD_do {
531};
532// Sets for do simd
533
534static llvm::omp::ClauseSet allowedClauses_OMPD_do_simd {
535 Clause::OMPC_aligned,
536 Clause::OMPC_firstprivate,
537 Clause::OMPC_if,
538 Clause::OMPC_lastprivate,
539 Clause::OMPC_linear,
540 Clause::OMPC_private,
541 Clause::OMPC_reduction,
542};
543
544static llvm::omp::ClauseSet allowedOnceClauses_OMPD_do_simd {
545 Clause::OMPC_collapse,
546 Clause::OMPC_nowait,
547 Clause::OMPC_order,
548 Clause::OMPC_ordered,
549 Clause::OMPC_safelen,
550 Clause::OMPC_schedule,
551 Clause::OMPC_simdlen,
552};
553
554static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_do_simd {
555};
556
557static llvm::omp::ClauseSet requiredClauses_OMPD_do_simd {
558};
559// Sets for end assumes
560
561static llvm::omp::ClauseSet allowedClauses_OMPD_end_assumes {
562};
563
564static llvm::omp::ClauseSet allowedOnceClauses_OMPD_end_assumes {
565};
566
567static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_end_assumes {
568};
569
570static llvm::omp::ClauseSet requiredClauses_OMPD_end_assumes {
571};
572// Sets for end declare target
573
574static llvm::omp::ClauseSet allowedClauses_OMPD_end_declare_target {
575};
576
577static llvm::omp::ClauseSet allowedOnceClauses_OMPD_end_declare_target {
578};
579
580static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_end_declare_target {
581};
582
583static llvm::omp::ClauseSet requiredClauses_OMPD_end_declare_target {
584};
585// Sets for end declare variant
586
587static llvm::omp::ClauseSet allowedClauses_OMPD_end_declare_variant {
588};
589
590static llvm::omp::ClauseSet allowedOnceClauses_OMPD_end_declare_variant {
591};
592
593static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_end_declare_variant {
594};
595
596static llvm::omp::ClauseSet requiredClauses_OMPD_end_declare_variant {
597};
598// Sets for error
599
600static llvm::omp::ClauseSet allowedClauses_OMPD_error {
601};
602
603static llvm::omp::ClauseSet allowedOnceClauses_OMPD_error {
604 Clause::OMPC_at,
605 Clause::OMPC_message,
606 Clause::OMPC_severity,
607};
608
609static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_error {
610};
611
612static llvm::omp::ClauseSet requiredClauses_OMPD_error {
613};
614// Sets for flatten
615
616static llvm::omp::ClauseSet allowedClauses_OMPD_flatten {
617 Clause::OMPC_apply,
618};
619
620static llvm::omp::ClauseSet allowedOnceClauses_OMPD_flatten {
621 Clause::OMPC_depth,
622};
623
624static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_flatten {
625};
626
627static llvm::omp::ClauseSet requiredClauses_OMPD_flatten {
628};
629// Sets for flush
630
631static llvm::omp::ClauseSet allowedClauses_OMPD_flush {
632};
633
634static llvm::omp::ClauseSet allowedOnceClauses_OMPD_flush {
635 Clause::OMPC_acq_rel,
636 Clause::OMPC_acquire,
637 Clause::OMPC_flush,
638 Clause::OMPC_release,
639 Clause::OMPC_seq_cst,
640};
641
642static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_flush {
643};
644
645static llvm::omp::ClauseSet requiredClauses_OMPD_flush {
646};
647// Sets for for
648
649static llvm::omp::ClauseSet allowedClauses_OMPD_for {
650 Clause::OMPC_allocate,
651 Clause::OMPC_firstprivate,
652 Clause::OMPC_lastprivate,
653 Clause::OMPC_linear,
654 Clause::OMPC_private,
655 Clause::OMPC_reduction,
656};
657
658static llvm::omp::ClauseSet allowedOnceClauses_OMPD_for {
659 Clause::OMPC_collapse,
660 Clause::OMPC_nowait,
661 Clause::OMPC_order,
662 Clause::OMPC_ordered,
663 Clause::OMPC_schedule,
664};
665
666static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_for {
667};
668
669static llvm::omp::ClauseSet requiredClauses_OMPD_for {
670};
671// Sets for for simd
672
673static llvm::omp::ClauseSet allowedClauses_OMPD_for_simd {
674 Clause::OMPC_aligned,
675 Clause::OMPC_allocate,
676 Clause::OMPC_firstprivate,
677 Clause::OMPC_if,
678 Clause::OMPC_lastprivate,
679 Clause::OMPC_linear,
680 Clause::OMPC_nontemporal,
681 Clause::OMPC_private,
682 Clause::OMPC_reduction,
683};
684
685static llvm::omp::ClauseSet allowedOnceClauses_OMPD_for_simd {
686 Clause::OMPC_collapse,
687 Clause::OMPC_nowait,
688 Clause::OMPC_order,
689 Clause::OMPC_ordered,
690 Clause::OMPC_safelen,
691 Clause::OMPC_schedule,
692 Clause::OMPC_simdlen,
693};
694
695static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_for_simd {
696};
697
698static llvm::omp::ClauseSet requiredClauses_OMPD_for_simd {
699};
700// Sets for fuse
701
702static llvm::omp::ClauseSet allowedClauses_OMPD_fuse {
703 Clause::OMPC_apply,
704};
705
706static llvm::omp::ClauseSet allowedOnceClauses_OMPD_fuse {
707 Clause::OMPC_depth,
708 Clause::OMPC_looprange,
709};
710
711static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_fuse {
712};
713
714static llvm::omp::ClauseSet requiredClauses_OMPD_fuse {
715};
716// Sets for groupprivate
717
718static llvm::omp::ClauseSet allowedClauses_OMPD_groupprivate {
719};
720
721static llvm::omp::ClauseSet allowedOnceClauses_OMPD_groupprivate {
722 Clause::OMPC_device_type,
723};
724
725static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_groupprivate {
726};
727
728static llvm::omp::ClauseSet requiredClauses_OMPD_groupprivate {
729};
730// Sets for interchange
731
732static llvm::omp::ClauseSet allowedClauses_OMPD_interchange {
733 Clause::OMPC_apply,
734};
735
736static llvm::omp::ClauseSet allowedOnceClauses_OMPD_interchange {
737 Clause::OMPC_permutation,
738};
739
740static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_interchange {
741};
742
743static llvm::omp::ClauseSet requiredClauses_OMPD_interchange {
744};
745// Sets for masked taskloop
746
747static llvm::omp::ClauseSet allowedClauses_OMPD_masked_taskloop {
748 Clause::OMPC_allocate,
749 Clause::OMPC_firstprivate,
750 Clause::OMPC_if,
751 Clause::OMPC_in_reduction,
752 Clause::OMPC_lastprivate,
753 Clause::OMPC_private,
754 Clause::OMPC_reduction,
755 Clause::OMPC_shared,
756};
757
758static llvm::omp::ClauseSet allowedOnceClauses_OMPD_masked_taskloop {
759 Clause::OMPC_collapse,
760 Clause::OMPC_default,
761 Clause::OMPC_filter,
762 Clause::OMPC_final,
763 Clause::OMPC_grainsize,
764 Clause::OMPC_mergeable,
765 Clause::OMPC_nogroup,
766 Clause::OMPC_num_tasks,
767 Clause::OMPC_priority,
768 Clause::OMPC_untied,
769};
770
771static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_masked_taskloop {
772};
773
774static llvm::omp::ClauseSet requiredClauses_OMPD_masked_taskloop {
775};
776// Sets for masked taskloop simd
777
778static llvm::omp::ClauseSet allowedClauses_OMPD_masked_taskloop_simd {
779 Clause::OMPC_aligned,
780 Clause::OMPC_allocate,
781 Clause::OMPC_firstprivate,
782 Clause::OMPC_if,
783 Clause::OMPC_in_reduction,
784 Clause::OMPC_lastprivate,
785 Clause::OMPC_linear,
786 Clause::OMPC_nontemporal,
787 Clause::OMPC_private,
788 Clause::OMPC_reduction,
789 Clause::OMPC_shared,
790};
791
792static llvm::omp::ClauseSet allowedOnceClauses_OMPD_masked_taskloop_simd {
793 Clause::OMPC_collapse,
794 Clause::OMPC_default,
795 Clause::OMPC_filter,
796 Clause::OMPC_final,
797 Clause::OMPC_grainsize,
798 Clause::OMPC_mergeable,
799 Clause::OMPC_nogroup,
800 Clause::OMPC_num_tasks,
801 Clause::OMPC_order,
802 Clause::OMPC_priority,
803 Clause::OMPC_safelen,
804 Clause::OMPC_simdlen,
805 Clause::OMPC_untied,
806};
807
808static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_masked_taskloop_simd {
809};
810
811static llvm::omp::ClauseSet requiredClauses_OMPD_masked_taskloop_simd {
812};
813// Sets for master
814
815static llvm::omp::ClauseSet allowedClauses_OMPD_master {
816};
817
818static llvm::omp::ClauseSet allowedOnceClauses_OMPD_master {
819};
820
821static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_master {
822};
823
824static llvm::omp::ClauseSet requiredClauses_OMPD_master {
825};
826// Sets for master taskloop
827
828static llvm::omp::ClauseSet allowedClauses_OMPD_master_taskloop {
829 Clause::OMPC_allocate,
830 Clause::OMPC_firstprivate,
831 Clause::OMPC_if,
832 Clause::OMPC_in_reduction,
833 Clause::OMPC_lastprivate,
834 Clause::OMPC_private,
835 Clause::OMPC_reduction,
836 Clause::OMPC_shared,
837};
838
839static llvm::omp::ClauseSet allowedOnceClauses_OMPD_master_taskloop {
840 Clause::OMPC_collapse,
841 Clause::OMPC_default,
842 Clause::OMPC_final,
843 Clause::OMPC_grainsize,
844 Clause::OMPC_mergeable,
845 Clause::OMPC_nogroup,
846 Clause::OMPC_num_tasks,
847 Clause::OMPC_priority,
848 Clause::OMPC_untied,
849};
850
851static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_master_taskloop {
852};
853
854static llvm::omp::ClauseSet requiredClauses_OMPD_master_taskloop {
855};
856// Sets for master taskloop simd
857
858static llvm::omp::ClauseSet allowedClauses_OMPD_master_taskloop_simd {
859 Clause::OMPC_aligned,
860 Clause::OMPC_allocate,
861 Clause::OMPC_firstprivate,
862 Clause::OMPC_if,
863 Clause::OMPC_in_reduction,
864 Clause::OMPC_lastprivate,
865 Clause::OMPC_linear,
866 Clause::OMPC_nontemporal,
867 Clause::OMPC_private,
868 Clause::OMPC_reduction,
869 Clause::OMPC_shared,
870};
871
872static llvm::omp::ClauseSet allowedOnceClauses_OMPD_master_taskloop_simd {
873 Clause::OMPC_collapse,
874 Clause::OMPC_default,
875 Clause::OMPC_final,
876 Clause::OMPC_grainsize,
877 Clause::OMPC_mergeable,
878 Clause::OMPC_nogroup,
879 Clause::OMPC_num_tasks,
880 Clause::OMPC_order,
881 Clause::OMPC_priority,
882 Clause::OMPC_safelen,
883 Clause::OMPC_simdlen,
884 Clause::OMPC_untied,
885};
886
887static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_master_taskloop_simd {
888};
889
890static llvm::omp::ClauseSet requiredClauses_OMPD_master_taskloop_simd {
891};
892// Sets for metadirective
893
894static llvm::omp::ClauseSet allowedClauses_OMPD_metadirective {
895 Clause::OMPC_when,
896};
897
898static llvm::omp::ClauseSet allowedOnceClauses_OMPD_metadirective {
899 Clause::OMPC_default_variant,
900 Clause::OMPC_otherwise,
901};
902
903static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_metadirective {
904};
905
906static llvm::omp::ClauseSet requiredClauses_OMPD_metadirective {
907};
908// Sets for nothing
909
910static llvm::omp::ClauseSet allowedClauses_OMPD_nothing {
911 Clause::OMPC_apply,
912};
913
914static llvm::omp::ClauseSet allowedOnceClauses_OMPD_nothing {
915};
916
917static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_nothing {
918};
919
920static llvm::omp::ClauseSet requiredClauses_OMPD_nothing {
921};
922// Sets for ordered
923
924static llvm::omp::ClauseSet allowedClauses_OMPD_ordered_blockassoc {
925};
926
927static llvm::omp::ClauseSet allowedOnceClauses_OMPD_ordered_blockassoc {
928 Clause::OMPC_simd,
929 Clause::OMPC_threads,
930};
931
932static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_ordered_blockassoc {
933};
934
935static llvm::omp::ClauseSet requiredClauses_OMPD_ordered_blockassoc {
936};
937// Sets for ordered
938
939static llvm::omp::ClauseSet allowedClauses_OMPD_ordered_standalone {
940 Clause::OMPC_depend,
941 Clause::OMPC_doacross,
942};
943
944static llvm::omp::ClauseSet allowedOnceClauses_OMPD_ordered_standalone {
945};
946
947static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_ordered_standalone {
948};
949
950static llvm::omp::ClauseSet requiredClauses_OMPD_ordered_standalone {
951};
952// Sets for parallel
953
954static llvm::omp::ClauseSet allowedClauses_OMPD_parallel {
955 Clause::OMPC_allocate,
956 Clause::OMPC_copyin,
957 Clause::OMPC_firstprivate,
958 Clause::OMPC_if,
959 Clause::OMPC_ompx_attribute,
960 Clause::OMPC_private,
961 Clause::OMPC_reduction,
962 Clause::OMPC_shared,
963};
964
965static llvm::omp::ClauseSet allowedOnceClauses_OMPD_parallel {
966 Clause::OMPC_default,
967 Clause::OMPC_message,
968 Clause::OMPC_num_threads,
969 Clause::OMPC_proc_bind,
970 Clause::OMPC_severity,
971};
972
973static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_parallel {
974};
975
976static llvm::omp::ClauseSet requiredClauses_OMPD_parallel {
977};
978// Sets for parallel do
979
980static llvm::omp::ClauseSet allowedClauses_OMPD_parallel_do {
981 Clause::OMPC_allocate,
982 Clause::OMPC_copyin,
983 Clause::OMPC_firstprivate,
984 Clause::OMPC_if,
985 Clause::OMPC_lastprivate,
986 Clause::OMPC_linear,
987 Clause::OMPC_private,
988 Clause::OMPC_reduction,
989 Clause::OMPC_shared,
990};
991
992static llvm::omp::ClauseSet allowedOnceClauses_OMPD_parallel_do {
993 Clause::OMPC_collapse,
994 Clause::OMPC_default,
995 Clause::OMPC_message,
996 Clause::OMPC_num_threads,
997 Clause::OMPC_order,
998 Clause::OMPC_ordered,
999 Clause::OMPC_proc_bind,
1000 Clause::OMPC_schedule,
1001 Clause::OMPC_severity,
1002};
1003
1004static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_parallel_do {
1005};
1006
1007static llvm::omp::ClauseSet requiredClauses_OMPD_parallel_do {
1008};
1009// Sets for parallel do simd
1010
1011static llvm::omp::ClauseSet allowedClauses_OMPD_parallel_do_simd {
1012 Clause::OMPC_aligned,
1013 Clause::OMPC_allocate,
1014 Clause::OMPC_copyin,
1015 Clause::OMPC_firstprivate,
1016 Clause::OMPC_if,
1017 Clause::OMPC_lastprivate,
1018 Clause::OMPC_linear,
1019 Clause::OMPC_nontemporal,
1020 Clause::OMPC_private,
1021 Clause::OMPC_reduction,
1022 Clause::OMPC_shared,
1023};
1024
1025static llvm::omp::ClauseSet allowedOnceClauses_OMPD_parallel_do_simd {
1026 Clause::OMPC_collapse,
1027 Clause::OMPC_default,
1028 Clause::OMPC_message,
1029 Clause::OMPC_num_threads,
1030 Clause::OMPC_order,
1031 Clause::OMPC_ordered,
1032 Clause::OMPC_proc_bind,
1033 Clause::OMPC_safelen,
1034 Clause::OMPC_schedule,
1035 Clause::OMPC_severity,
1036 Clause::OMPC_simdlen,
1037};
1038
1039static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_parallel_do_simd {
1040};
1041
1042static llvm::omp::ClauseSet requiredClauses_OMPD_parallel_do_simd {
1043};
1044// Sets for parallel for
1045
1046static llvm::omp::ClauseSet allowedClauses_OMPD_parallel_for {
1047 Clause::OMPC_allocate,
1048 Clause::OMPC_copyin,
1049 Clause::OMPC_firstprivate,
1050 Clause::OMPC_if,
1051 Clause::OMPC_lastprivate,
1052 Clause::OMPC_linear,
1053 Clause::OMPC_ompx_attribute,
1054 Clause::OMPC_private,
1055 Clause::OMPC_reduction,
1056 Clause::OMPC_shared,
1057};
1058
1059static llvm::omp::ClauseSet allowedOnceClauses_OMPD_parallel_for {
1060 Clause::OMPC_collapse,
1061 Clause::OMPC_default,
1062 Clause::OMPC_message,
1063 Clause::OMPC_num_threads,
1064 Clause::OMPC_order,
1065 Clause::OMPC_ordered,
1066 Clause::OMPC_proc_bind,
1067 Clause::OMPC_schedule,
1068 Clause::OMPC_severity,
1069};
1070
1071static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_parallel_for {
1072};
1073
1074static llvm::omp::ClauseSet requiredClauses_OMPD_parallel_for {
1075};
1076// Sets for parallel for simd
1077
1078static llvm::omp::ClauseSet allowedClauses_OMPD_parallel_for_simd {
1079 Clause::OMPC_aligned,
1080 Clause::OMPC_allocate,
1081 Clause::OMPC_copyin,
1082 Clause::OMPC_firstprivate,
1083 Clause::OMPC_if,
1084 Clause::OMPC_lastprivate,
1085 Clause::OMPC_linear,
1086 Clause::OMPC_nontemporal,
1087 Clause::OMPC_ompx_attribute,
1088 Clause::OMPC_private,
1089 Clause::OMPC_reduction,
1090 Clause::OMPC_shared,
1091};
1092
1093static llvm::omp::ClauseSet allowedOnceClauses_OMPD_parallel_for_simd {
1094 Clause::OMPC_collapse,
1095 Clause::OMPC_default,
1096 Clause::OMPC_message,
1097 Clause::OMPC_num_threads,
1098 Clause::OMPC_order,
1099 Clause::OMPC_ordered,
1100 Clause::OMPC_proc_bind,
1101 Clause::OMPC_safelen,
1102 Clause::OMPC_schedule,
1103 Clause::OMPC_severity,
1104 Clause::OMPC_simdlen,
1105};
1106
1107static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_parallel_for_simd {
1108};
1109
1110static llvm::omp::ClauseSet requiredClauses_OMPD_parallel_for_simd {
1111};
1112// Sets for parallel masked
1113
1114static llvm::omp::ClauseSet allowedClauses_OMPD_parallel_masked {
1115 Clause::OMPC_allocate,
1116 Clause::OMPC_copyin,
1117 Clause::OMPC_firstprivate,
1118 Clause::OMPC_if,
1119 Clause::OMPC_ompx_attribute,
1120 Clause::OMPC_private,
1121 Clause::OMPC_reduction,
1122 Clause::OMPC_shared,
1123};
1124
1125static llvm::omp::ClauseSet allowedOnceClauses_OMPD_parallel_masked {
1126 Clause::OMPC_default,
1127 Clause::OMPC_filter,
1128 Clause::OMPC_message,
1129 Clause::OMPC_num_threads,
1130 Clause::OMPC_proc_bind,
1131 Clause::OMPC_severity,
1132};
1133
1134static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_parallel_masked {
1135};
1136
1137static llvm::omp::ClauseSet requiredClauses_OMPD_parallel_masked {
1138};
1139// Sets for parallel masked taskloop
1140
1141static llvm::omp::ClauseSet allowedClauses_OMPD_parallel_masked_taskloop {
1142 Clause::OMPC_allocate,
1143 Clause::OMPC_copyin,
1144 Clause::OMPC_firstprivate,
1145 Clause::OMPC_if,
1146 Clause::OMPC_lastprivate,
1147 Clause::OMPC_ompx_attribute,
1148 Clause::OMPC_private,
1149 Clause::OMPC_reduction,
1150 Clause::OMPC_shared,
1151};
1152
1153static llvm::omp::ClauseSet allowedOnceClauses_OMPD_parallel_masked_taskloop {
1154 Clause::OMPC_collapse,
1155 Clause::OMPC_default,
1156 Clause::OMPC_filter,
1157 Clause::OMPC_final,
1158 Clause::OMPC_grainsize,
1159 Clause::OMPC_mergeable,
1160 Clause::OMPC_message,
1161 Clause::OMPC_nogroup,
1162 Clause::OMPC_num_tasks,
1163 Clause::OMPC_num_threads,
1164 Clause::OMPC_priority,
1165 Clause::OMPC_proc_bind,
1166 Clause::OMPC_severity,
1167 Clause::OMPC_untied,
1168};
1169
1170static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_parallel_masked_taskloop {
1171};
1172
1173static llvm::omp::ClauseSet requiredClauses_OMPD_parallel_masked_taskloop {
1174};
1175// Sets for parallel masked taskloop simd
1176
1177static llvm::omp::ClauseSet allowedClauses_OMPD_parallel_masked_taskloop_simd {
1178 Clause::OMPC_aligned,
1179 Clause::OMPC_allocate,
1180 Clause::OMPC_copyin,
1181 Clause::OMPC_firstprivate,
1182 Clause::OMPC_if,
1183 Clause::OMPC_lastprivate,
1184 Clause::OMPC_linear,
1185 Clause::OMPC_nontemporal,
1186 Clause::OMPC_ompx_attribute,
1187 Clause::OMPC_private,
1188 Clause::OMPC_reduction,
1189 Clause::OMPC_shared,
1190};
1191
1192static llvm::omp::ClauseSet allowedOnceClauses_OMPD_parallel_masked_taskloop_simd {
1193 Clause::OMPC_collapse,
1194 Clause::OMPC_default,
1195 Clause::OMPC_filter,
1196 Clause::OMPC_final,
1197 Clause::OMPC_grainsize,
1198 Clause::OMPC_mergeable,
1199 Clause::OMPC_message,
1200 Clause::OMPC_nogroup,
1201 Clause::OMPC_num_tasks,
1202 Clause::OMPC_num_threads,
1203 Clause::OMPC_order,
1204 Clause::OMPC_priority,
1205 Clause::OMPC_proc_bind,
1206 Clause::OMPC_safelen,
1207 Clause::OMPC_severity,
1208 Clause::OMPC_simdlen,
1209 Clause::OMPC_untied,
1210};
1211
1212static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_parallel_masked_taskloop_simd {
1213};
1214
1215static llvm::omp::ClauseSet requiredClauses_OMPD_parallel_masked_taskloop_simd {
1216};
1217// Sets for parallel master
1218
1219static llvm::omp::ClauseSet allowedClauses_OMPD_parallel_master {
1220 Clause::OMPC_allocate,
1221 Clause::OMPC_copyin,
1222 Clause::OMPC_firstprivate,
1223 Clause::OMPC_if,
1224 Clause::OMPC_ompx_attribute,
1225 Clause::OMPC_private,
1226 Clause::OMPC_reduction,
1227 Clause::OMPC_shared,
1228};
1229
1230static llvm::omp::ClauseSet allowedOnceClauses_OMPD_parallel_master {
1231 Clause::OMPC_default,
1232 Clause::OMPC_message,
1233 Clause::OMPC_num_threads,
1234 Clause::OMPC_proc_bind,
1235 Clause::OMPC_severity,
1236};
1237
1238static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_parallel_master {
1239};
1240
1241static llvm::omp::ClauseSet requiredClauses_OMPD_parallel_master {
1242};
1243// Sets for parallel master taskloop
1244
1245static llvm::omp::ClauseSet allowedClauses_OMPD_parallel_master_taskloop {
1246 Clause::OMPC_allocate,
1247 Clause::OMPC_copyin,
1248 Clause::OMPC_firstprivate,
1249 Clause::OMPC_if,
1250 Clause::OMPC_lastprivate,
1251 Clause::OMPC_ompx_attribute,
1252 Clause::OMPC_private,
1253 Clause::OMPC_reduction,
1254 Clause::OMPC_shared,
1255};
1256
1257static llvm::omp::ClauseSet allowedOnceClauses_OMPD_parallel_master_taskloop {
1258 Clause::OMPC_collapse,
1259 Clause::OMPC_default,
1260 Clause::OMPC_final,
1261 Clause::OMPC_grainsize,
1262 Clause::OMPC_mergeable,
1263 Clause::OMPC_message,
1264 Clause::OMPC_nogroup,
1265 Clause::OMPC_num_tasks,
1266 Clause::OMPC_num_threads,
1267 Clause::OMPC_priority,
1268 Clause::OMPC_proc_bind,
1269 Clause::OMPC_severity,
1270 Clause::OMPC_untied,
1271};
1272
1273static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_parallel_master_taskloop {
1274};
1275
1276static llvm::omp::ClauseSet requiredClauses_OMPD_parallel_master_taskloop {
1277};
1278// Sets for parallel master taskloop simd
1279
1280static llvm::omp::ClauseSet allowedClauses_OMPD_parallel_master_taskloop_simd {
1281 Clause::OMPC_aligned,
1282 Clause::OMPC_allocate,
1283 Clause::OMPC_copyin,
1284 Clause::OMPC_firstprivate,
1285 Clause::OMPC_if,
1286 Clause::OMPC_lastprivate,
1287 Clause::OMPC_linear,
1288 Clause::OMPC_nontemporal,
1289 Clause::OMPC_ompx_attribute,
1290 Clause::OMPC_private,
1291 Clause::OMPC_reduction,
1292 Clause::OMPC_shared,
1293};
1294
1295static llvm::omp::ClauseSet allowedOnceClauses_OMPD_parallel_master_taskloop_simd {
1296 Clause::OMPC_collapse,
1297 Clause::OMPC_default,
1298 Clause::OMPC_final,
1299 Clause::OMPC_grainsize,
1300 Clause::OMPC_mergeable,
1301 Clause::OMPC_message,
1302 Clause::OMPC_nogroup,
1303 Clause::OMPC_num_tasks,
1304 Clause::OMPC_num_threads,
1305 Clause::OMPC_order,
1306 Clause::OMPC_priority,
1307 Clause::OMPC_proc_bind,
1308 Clause::OMPC_safelen,
1309 Clause::OMPC_severity,
1310 Clause::OMPC_simdlen,
1311 Clause::OMPC_untied,
1312};
1313
1314static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_parallel_master_taskloop_simd {
1315};
1316
1317static llvm::omp::ClauseSet requiredClauses_OMPD_parallel_master_taskloop_simd {
1318};
1319// Sets for parallel sections
1320
1321static llvm::omp::ClauseSet allowedClauses_OMPD_parallel_sections {
1322 Clause::OMPC_allocate,
1323 Clause::OMPC_copyin,
1324 Clause::OMPC_firstprivate,
1325 Clause::OMPC_if,
1326 Clause::OMPC_lastprivate,
1327 Clause::OMPC_ompx_attribute,
1328 Clause::OMPC_private,
1329 Clause::OMPC_reduction,
1330 Clause::OMPC_shared,
1331};
1332
1333static llvm::omp::ClauseSet allowedOnceClauses_OMPD_parallel_sections {
1334 Clause::OMPC_default,
1335 Clause::OMPC_message,
1336 Clause::OMPC_num_threads,
1337 Clause::OMPC_proc_bind,
1338 Clause::OMPC_severity,
1339};
1340
1341static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_parallel_sections {
1342};
1343
1344static llvm::omp::ClauseSet requiredClauses_OMPD_parallel_sections {
1345};
1346// Sets for parallel workshare
1347
1348static llvm::omp::ClauseSet allowedClauses_OMPD_parallel_workshare {
1349 Clause::OMPC_allocate,
1350 Clause::OMPC_copyin,
1351 Clause::OMPC_firstprivate,
1352 Clause::OMPC_if,
1353 Clause::OMPC_private,
1354 Clause::OMPC_reduction,
1355 Clause::OMPC_shared,
1356};
1357
1358static llvm::omp::ClauseSet allowedOnceClauses_OMPD_parallel_workshare {
1359 Clause::OMPC_default,
1360 Clause::OMPC_message,
1361 Clause::OMPC_num_threads,
1362 Clause::OMPC_proc_bind,
1363 Clause::OMPC_severity,
1364};
1365
1366static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_parallel_workshare {
1367};
1368
1369static llvm::omp::ClauseSet requiredClauses_OMPD_parallel_workshare {
1370};
1371// Sets for requires
1372
1373static llvm::omp::ClauseSet allowedClauses_OMPD_requires {
1374};
1375
1376static llvm::omp::ClauseSet allowedOnceClauses_OMPD_requires {
1377 Clause::OMPC_atomic_default_mem_order,
1378 Clause::OMPC_device_safesync,
1379 Clause::OMPC_dynamic_allocators,
1380 Clause::OMPC_reverse_offload,
1381 Clause::OMPC_self_maps,
1382 Clause::OMPC_unified_address,
1383 Clause::OMPC_unified_shared_memory,
1384};
1385
1386static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_requires {
1387};
1388
1389static llvm::omp::ClauseSet requiredClauses_OMPD_requires {
1390};
1391// Sets for reverse
1392
1393static llvm::omp::ClauseSet allowedClauses_OMPD_reverse {
1394 Clause::OMPC_apply,
1395};
1396
1397static llvm::omp::ClauseSet allowedOnceClauses_OMPD_reverse {
1398};
1399
1400static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_reverse {
1401};
1402
1403static llvm::omp::ClauseSet requiredClauses_OMPD_reverse {
1404};
1405// Sets for scan
1406
1407static llvm::omp::ClauseSet allowedClauses_OMPD_scan {
1408};
1409
1410static llvm::omp::ClauseSet allowedOnceClauses_OMPD_scan {
1411 Clause::OMPC_exclusive,
1412 Clause::OMPC_inclusive,
1413};
1414
1415static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_scan {
1416};
1417
1418static llvm::omp::ClauseSet requiredClauses_OMPD_scan {
1419};
1420// Sets for scope
1421
1422static llvm::omp::ClauseSet allowedClauses_OMPD_scope {
1423 Clause::OMPC_private,
1424 Clause::OMPC_reduction,
1425 Clause::OMPC_firstprivate,
1426 Clause::OMPC_allocate,
1427};
1428
1429static llvm::omp::ClauseSet allowedOnceClauses_OMPD_scope {
1430 Clause::OMPC_nowait,
1431};
1432
1433static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_scope {
1434};
1435
1436static llvm::omp::ClauseSet requiredClauses_OMPD_scope {
1437};
1438// Sets for section
1439
1440static llvm::omp::ClauseSet allowedClauses_OMPD_section {
1441};
1442
1443static llvm::omp::ClauseSet allowedOnceClauses_OMPD_section {
1444};
1445
1446static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_section {
1447};
1448
1449static llvm::omp::ClauseSet requiredClauses_OMPD_section {
1450};
1451// Sets for sections
1452
1453static llvm::omp::ClauseSet allowedClauses_OMPD_sections {
1454 Clause::OMPC_allocate,
1455 Clause::OMPC_firstprivate,
1456 Clause::OMPC_lastprivate,
1457 Clause::OMPC_private,
1458 Clause::OMPC_reduction,
1459};
1460
1461static llvm::omp::ClauseSet allowedOnceClauses_OMPD_sections {
1462 Clause::OMPC_nowait,
1463};
1464
1465static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_sections {
1466};
1467
1468static llvm::omp::ClauseSet requiredClauses_OMPD_sections {
1469};
1470// Sets for simd
1471
1472static llvm::omp::ClauseSet allowedClauses_OMPD_simd {
1473 Clause::OMPC_aligned,
1474 Clause::OMPC_allocate,
1475 Clause::OMPC_if,
1476 Clause::OMPC_lastprivate,
1477 Clause::OMPC_linear,
1478 Clause::OMPC_nontemporal,
1479 Clause::OMPC_private,
1480 Clause::OMPC_reduction,
1481};
1482
1483static llvm::omp::ClauseSet allowedOnceClauses_OMPD_simd {
1484 Clause::OMPC_collapse,
1485 Clause::OMPC_order,
1486 Clause::OMPC_safelen,
1487 Clause::OMPC_simdlen,
1488};
1489
1490static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_simd {
1491};
1492
1493static llvm::omp::ClauseSet requiredClauses_OMPD_simd {
1494};
1495// Sets for single
1496
1497static llvm::omp::ClauseSet allowedClauses_OMPD_single {
1498 Clause::OMPC_allocate,
1499 Clause::OMPC_copyprivate,
1500 Clause::OMPC_firstprivate,
1501 Clause::OMPC_private,
1502};
1503
1504static llvm::omp::ClauseSet allowedOnceClauses_OMPD_single {
1505 Clause::OMPC_nowait,
1506};
1507
1508static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_single {
1509};
1510
1511static llvm::omp::ClauseSet requiredClauses_OMPD_single {
1512};
1513// Sets for split
1514
1515static llvm::omp::ClauseSet allowedClauses_OMPD_split {
1516 Clause::OMPC_apply,
1517};
1518
1519static llvm::omp::ClauseSet allowedOnceClauses_OMPD_split {
1520 Clause::OMPC_counts,
1521};
1522
1523static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_split {
1524};
1525
1526static llvm::omp::ClauseSet requiredClauses_OMPD_split {
1527 Clause::OMPC_counts,
1528};
1529// Sets for stripe
1530
1531static llvm::omp::ClauseSet allowedClauses_OMPD_stripe {
1532 Clause::OMPC_apply,
1533};
1534
1535static llvm::omp::ClauseSet allowedOnceClauses_OMPD_stripe {
1536 Clause::OMPC_sizes,
1537};
1538
1539static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_stripe {
1540};
1541
1542static llvm::omp::ClauseSet requiredClauses_OMPD_stripe {
1543};
1544// Sets for target
1545
1546static llvm::omp::ClauseSet allowedClauses_OMPD_target {
1547 Clause::OMPC_allocate,
1548 Clause::OMPC_depend,
1549 Clause::OMPC_dyn_groupprivate,
1550 Clause::OMPC_firstprivate,
1551 Clause::OMPC_if,
1552 Clause::OMPC_has_device_addr,
1553 Clause::OMPC_in_reduction,
1554 Clause::OMPC_is_device_ptr,
1555 Clause::OMPC_map,
1556 Clause::OMPC_ompx_attribute,
1557 Clause::OMPC_private,
1558 Clause::OMPC_uses_allocators,
1559};
1560
1561static llvm::omp::ClauseSet allowedOnceClauses_OMPD_target {
1562 Clause::OMPC_default,
1563 Clause::OMPC_defaultmap,
1564 Clause::OMPC_device,
1565 Clause::OMPC_nowait,
1566 Clause::OMPC_ompx_bare,
1567 Clause::OMPC_ompx_dyn_cgroup_mem,
1568 Clause::OMPC_replayable,
1569 Clause::OMPC_thread_limit,
1570};
1571
1572static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_target {
1573};
1574
1575static llvm::omp::ClauseSet requiredClauses_OMPD_target {
1576};
1577// Sets for target data
1578
1579static llvm::omp::ClauseSet allowedClauses_OMPD_target_data {
1580 Clause::OMPC_if,
1581};
1582
1583static llvm::omp::ClauseSet allowedOnceClauses_OMPD_target_data {
1584 Clause::OMPC_default,
1585 Clause::OMPC_device,
1586 Clause::OMPC_transparent,
1587};
1588
1589static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_target_data {
1590};
1591
1592static llvm::omp::ClauseSet requiredClauses_OMPD_target_data {
1593 Clause::OMPC_map,
1594 Clause::OMPC_use_device_addr,
1595 Clause::OMPC_use_device_ptr,
1596};
1597// Sets for target enter data
1598
1599static llvm::omp::ClauseSet allowedClauses_OMPD_target_enter_data {
1600 Clause::OMPC_depend,
1601 Clause::OMPC_if,
1602};
1603
1604static llvm::omp::ClauseSet allowedOnceClauses_OMPD_target_enter_data {
1605 Clause::OMPC_device,
1606 Clause::OMPC_nowait,
1607 Clause::OMPC_replayable,
1608};
1609
1610static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_target_enter_data {
1611};
1612
1613static llvm::omp::ClauseSet requiredClauses_OMPD_target_enter_data {
1614 Clause::OMPC_map,
1615};
1616// Sets for target exit data
1617
1618static llvm::omp::ClauseSet allowedClauses_OMPD_target_exit_data {
1619 Clause::OMPC_depend,
1620 Clause::OMPC_if,
1621};
1622
1623static llvm::omp::ClauseSet allowedOnceClauses_OMPD_target_exit_data {
1624 Clause::OMPC_device,
1625 Clause::OMPC_nowait,
1626 Clause::OMPC_replayable,
1627};
1628
1629static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_target_exit_data {
1630};
1631
1632static llvm::omp::ClauseSet requiredClauses_OMPD_target_exit_data {
1633 Clause::OMPC_map,
1634};
1635// Sets for target parallel
1636
1637static llvm::omp::ClauseSet allowedClauses_OMPD_target_parallel {
1638 Clause::OMPC_allocate,
1639 Clause::OMPC_depend,
1640 Clause::OMPC_dyn_groupprivate,
1641 Clause::OMPC_firstprivate,
1642 Clause::OMPC_has_device_addr,
1643 Clause::OMPC_if,
1644 Clause::OMPC_is_device_ptr,
1645 Clause::OMPC_map,
1646 Clause::OMPC_ompx_attribute,
1647 Clause::OMPC_private,
1648 Clause::OMPC_reduction,
1649 Clause::OMPC_shared,
1650 Clause::OMPC_uses_allocators,
1651};
1652
1653static llvm::omp::ClauseSet allowedOnceClauses_OMPD_target_parallel {
1654 Clause::OMPC_default,
1655 Clause::OMPC_defaultmap,
1656 Clause::OMPC_device,
1657 Clause::OMPC_message,
1658 Clause::OMPC_nowait,
1659 Clause::OMPC_num_threads,
1660 Clause::OMPC_ompx_dyn_cgroup_mem,
1661 Clause::OMPC_proc_bind,
1662 Clause::OMPC_severity,
1663 Clause::OMPC_thread_limit,
1664};
1665
1666static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_target_parallel {
1667};
1668
1669static llvm::omp::ClauseSet requiredClauses_OMPD_target_parallel {
1670};
1671// Sets for target parallel do
1672
1673static llvm::omp::ClauseSet allowedClauses_OMPD_target_parallel_do {
1674 Clause::OMPC_depend,
1675 Clause::OMPC_dyn_groupprivate,
1676 Clause::OMPC_firstprivate,
1677 Clause::OMPC_has_device_addr,
1678 Clause::OMPC_if,
1679 Clause::OMPC_is_device_ptr,
1680 Clause::OMPC_lastprivate,
1681 Clause::OMPC_linear,
1682 Clause::OMPC_map,
1683 Clause::OMPC_private,
1684 Clause::OMPC_reduction,
1685 Clause::OMPC_shared,
1686 Clause::OMPC_uses_allocators,
1687};
1688
1689static llvm::omp::ClauseSet allowedOnceClauses_OMPD_target_parallel_do {
1690 Clause::OMPC_allocator,
1691 Clause::OMPC_collapse,
1692 Clause::OMPC_default,
1693 Clause::OMPC_defaultmap,
1694 Clause::OMPC_device,
1695 Clause::OMPC_message,
1696 Clause::OMPC_nowait,
1697 Clause::OMPC_num_threads,
1698 Clause::OMPC_order,
1699 Clause::OMPC_ordered,
1700 Clause::OMPC_proc_bind,
1701 Clause::OMPC_schedule,
1702 Clause::OMPC_severity,
1703};
1704
1705static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_target_parallel_do {
1706};
1707
1708static llvm::omp::ClauseSet requiredClauses_OMPD_target_parallel_do {
1709};
1710// Sets for target parallel do simd
1711
1712static llvm::omp::ClauseSet allowedClauses_OMPD_target_parallel_do_simd {
1713 Clause::OMPC_aligned,
1714 Clause::OMPC_allocate,
1715 Clause::OMPC_depend,
1716 Clause::OMPC_dyn_groupprivate,
1717 Clause::OMPC_firstprivate,
1718 Clause::OMPC_has_device_addr,
1719 Clause::OMPC_if,
1720 Clause::OMPC_is_device_ptr,
1721 Clause::OMPC_lastprivate,
1722 Clause::OMPC_linear,
1723 Clause::OMPC_map,
1724 Clause::OMPC_nontemporal,
1725 Clause::OMPC_private,
1726 Clause::OMPC_reduction,
1727 Clause::OMPC_shared,
1728 Clause::OMPC_uses_allocators,
1729};
1730
1731static llvm::omp::ClauseSet allowedOnceClauses_OMPD_target_parallel_do_simd {
1732 Clause::OMPC_collapse,
1733 Clause::OMPC_default,
1734 Clause::OMPC_defaultmap,
1735 Clause::OMPC_device,
1736 Clause::OMPC_message,
1737 Clause::OMPC_nowait,
1738 Clause::OMPC_num_threads,
1739 Clause::OMPC_order,
1740 Clause::OMPC_ordered,
1741 Clause::OMPC_proc_bind,
1742 Clause::OMPC_safelen,
1743 Clause::OMPC_schedule,
1744 Clause::OMPC_severity,
1745 Clause::OMPC_simdlen,
1746};
1747
1748static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_target_parallel_do_simd {
1749};
1750
1751static llvm::omp::ClauseSet requiredClauses_OMPD_target_parallel_do_simd {
1752};
1753// Sets for target parallel for
1754
1755static llvm::omp::ClauseSet allowedClauses_OMPD_target_parallel_for {
1756 Clause::OMPC_allocate,
1757 Clause::OMPC_depend,
1758 Clause::OMPC_dyn_groupprivate,
1759 Clause::OMPC_firstprivate,
1760 Clause::OMPC_has_device_addr,
1761 Clause::OMPC_if,
1762 Clause::OMPC_is_device_ptr,
1763 Clause::OMPC_lastprivate,
1764 Clause::OMPC_linear,
1765 Clause::OMPC_map,
1766 Clause::OMPC_ompx_attribute,
1767 Clause::OMPC_private,
1768 Clause::OMPC_reduction,
1769 Clause::OMPC_shared,
1770 Clause::OMPC_uses_allocators,
1771};
1772
1773static llvm::omp::ClauseSet allowedOnceClauses_OMPD_target_parallel_for {
1774 Clause::OMPC_collapse,
1775 Clause::OMPC_default,
1776 Clause::OMPC_defaultmap,
1777 Clause::OMPC_device,
1778 Clause::OMPC_message,
1779 Clause::OMPC_nowait,
1780 Clause::OMPC_num_threads,
1781 Clause::OMPC_ompx_dyn_cgroup_mem,
1782 Clause::OMPC_order,
1783 Clause::OMPC_ordered,
1784 Clause::OMPC_proc_bind,
1785 Clause::OMPC_schedule,
1786 Clause::OMPC_severity,
1787 Clause::OMPC_thread_limit,
1788};
1789
1790static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_target_parallel_for {
1791};
1792
1793static llvm::omp::ClauseSet requiredClauses_OMPD_target_parallel_for {
1794};
1795// Sets for target parallel for simd
1796
1797static llvm::omp::ClauseSet allowedClauses_OMPD_target_parallel_for_simd {
1798 Clause::OMPC_aligned,
1799 Clause::OMPC_allocate,
1800 Clause::OMPC_depend,
1801 Clause::OMPC_dyn_groupprivate,
1802 Clause::OMPC_firstprivate,
1803 Clause::OMPC_has_device_addr,
1804 Clause::OMPC_if,
1805 Clause::OMPC_is_device_ptr,
1806 Clause::OMPC_lastprivate,
1807 Clause::OMPC_linear,
1808 Clause::OMPC_map,
1809 Clause::OMPC_nontemporal,
1810 Clause::OMPC_ompx_attribute,
1811 Clause::OMPC_private,
1812 Clause::OMPC_reduction,
1813 Clause::OMPC_shared,
1814 Clause::OMPC_uses_allocators,
1815};
1816
1817static llvm::omp::ClauseSet allowedOnceClauses_OMPD_target_parallel_for_simd {
1818 Clause::OMPC_collapse,
1819 Clause::OMPC_default,
1820 Clause::OMPC_defaultmap,
1821 Clause::OMPC_device,
1822 Clause::OMPC_message,
1823 Clause::OMPC_nowait,
1824 Clause::OMPC_num_threads,
1825 Clause::OMPC_ompx_dyn_cgroup_mem,
1826 Clause::OMPC_order,
1827 Clause::OMPC_ordered,
1828 Clause::OMPC_proc_bind,
1829 Clause::OMPC_safelen,
1830 Clause::OMPC_schedule,
1831 Clause::OMPC_severity,
1832 Clause::OMPC_simdlen,
1833 Clause::OMPC_thread_limit,
1834};
1835
1836static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_target_parallel_for_simd {
1837};
1838
1839static llvm::omp::ClauseSet requiredClauses_OMPD_target_parallel_for_simd {
1840};
1841// Sets for target simd
1842
1843static llvm::omp::ClauseSet allowedClauses_OMPD_target_simd {
1844 Clause::OMPC_aligned,
1845 Clause::OMPC_allocate,
1846 Clause::OMPC_depend,
1847 Clause::OMPC_dyn_groupprivate,
1848 Clause::OMPC_firstprivate,
1849 Clause::OMPC_has_device_addr,
1850 Clause::OMPC_if,
1851 Clause::OMPC_is_device_ptr,
1852 Clause::OMPC_lastprivate,
1853 Clause::OMPC_linear,
1854 Clause::OMPC_map,
1855 Clause::OMPC_nontemporal,
1856 Clause::OMPC_ompx_attribute,
1857 Clause::OMPC_private,
1858 Clause::OMPC_reduction,
1859 Clause::OMPC_shared,
1860 Clause::OMPC_uses_allocators,
1861};
1862
1863static llvm::omp::ClauseSet allowedOnceClauses_OMPD_target_simd {
1864 Clause::OMPC_collapse,
1865 Clause::OMPC_defaultmap,
1866 Clause::OMPC_device,
1867 Clause::OMPC_message,
1868 Clause::OMPC_nowait,
1869 Clause::OMPC_num_threads,
1870 Clause::OMPC_ompx_dyn_cgroup_mem,
1871 Clause::OMPC_order,
1872 Clause::OMPC_proc_bind,
1873 Clause::OMPC_safelen,
1874 Clause::OMPC_schedule,
1875 Clause::OMPC_severity,
1876 Clause::OMPC_simdlen,
1877 Clause::OMPC_thread_limit,
1878};
1879
1880static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_target_simd {
1881};
1882
1883static llvm::omp::ClauseSet requiredClauses_OMPD_target_simd {
1884};
1885// Sets for target teams
1886
1887static llvm::omp::ClauseSet allowedClauses_OMPD_target_teams {
1888 Clause::OMPC_allocate,
1889 Clause::OMPC_depend,
1890 Clause::OMPC_dyn_groupprivate,
1891 Clause::OMPC_firstprivate,
1892 Clause::OMPC_has_device_addr,
1893 Clause::OMPC_if,
1894 Clause::OMPC_is_device_ptr,
1895 Clause::OMPC_map,
1896 Clause::OMPC_ompx_attribute,
1897 Clause::OMPC_private,
1898 Clause::OMPC_reduction,
1899 Clause::OMPC_shared,
1900 Clause::OMPC_uses_allocators,
1901};
1902
1903static llvm::omp::ClauseSet allowedOnceClauses_OMPD_target_teams {
1904 Clause::OMPC_default,
1905 Clause::OMPC_defaultmap,
1906 Clause::OMPC_device,
1907 Clause::OMPC_nowait,
1908 Clause::OMPC_num_teams,
1909 Clause::OMPC_ompx_bare,
1910 Clause::OMPC_ompx_dyn_cgroup_mem,
1911 Clause::OMPC_thread_limit,
1912};
1913
1914static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_target_teams {
1915};
1916
1917static llvm::omp::ClauseSet requiredClauses_OMPD_target_teams {
1918};
1919// Sets for target teams distribute
1920
1921static llvm::omp::ClauseSet allowedClauses_OMPD_target_teams_distribute {
1922 Clause::OMPC_allocate,
1923 Clause::OMPC_depend,
1924 Clause::OMPC_dyn_groupprivate,
1925 Clause::OMPC_firstprivate,
1926 Clause::OMPC_has_device_addr,
1927 Clause::OMPC_if,
1928 Clause::OMPC_is_device_ptr,
1929 Clause::OMPC_lastprivate,
1930 Clause::OMPC_map,
1931 Clause::OMPC_ompx_attribute,
1932 Clause::OMPC_private,
1933 Clause::OMPC_reduction,
1934 Clause::OMPC_shared,
1935 Clause::OMPC_uses_allocators,
1936};
1937
1938static llvm::omp::ClauseSet allowedOnceClauses_OMPD_target_teams_distribute {
1939 Clause::OMPC_collapse,
1940 Clause::OMPC_default,
1941 Clause::OMPC_defaultmap,
1942 Clause::OMPC_device,
1943 Clause::OMPC_dist_schedule,
1944 Clause::OMPC_nowait,
1945 Clause::OMPC_num_teams,
1946 Clause::OMPC_ompx_dyn_cgroup_mem,
1947 Clause::OMPC_order,
1948 Clause::OMPC_thread_limit,
1949};
1950
1951static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_target_teams_distribute {
1952};
1953
1954static llvm::omp::ClauseSet requiredClauses_OMPD_target_teams_distribute {
1955};
1956// Sets for target teams distribute parallel do
1957
1958static llvm::omp::ClauseSet allowedClauses_OMPD_target_teams_distribute_parallel_do {
1959 Clause::OMPC_allocate,
1960 Clause::OMPC_depend,
1961 Clause::OMPC_dyn_groupprivate,
1962 Clause::OMPC_firstprivate,
1963 Clause::OMPC_has_device_addr,
1964 Clause::OMPC_if,
1965 Clause::OMPC_is_device_ptr,
1966 Clause::OMPC_lastprivate,
1967 Clause::OMPC_linear,
1968 Clause::OMPC_map,
1969 Clause::OMPC_private,
1970 Clause::OMPC_reduction,
1971 Clause::OMPC_shared,
1972 Clause::OMPC_uses_allocators,
1973};
1974
1975static llvm::omp::ClauseSet allowedOnceClauses_OMPD_target_teams_distribute_parallel_do {
1976 Clause::OMPC_collapse,
1977 Clause::OMPC_default,
1978 Clause::OMPC_defaultmap,
1979 Clause::OMPC_device,
1980 Clause::OMPC_dist_schedule,
1981 Clause::OMPC_message,
1982 Clause::OMPC_nowait,
1983 Clause::OMPC_num_teams,
1984 Clause::OMPC_num_threads,
1985 Clause::OMPC_order,
1986 Clause::OMPC_proc_bind,
1987 Clause::OMPC_schedule,
1988 Clause::OMPC_severity,
1989 Clause::OMPC_thread_limit,
1990};
1991
1992static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_target_teams_distribute_parallel_do {
1993};
1994
1995static llvm::omp::ClauseSet requiredClauses_OMPD_target_teams_distribute_parallel_do {
1996};
1997// Sets for target teams distribute parallel do simd
1998
1999static llvm::omp::ClauseSet allowedClauses_OMPD_target_teams_distribute_parallel_do_simd {
2000 Clause::OMPC_aligned,
2001 Clause::OMPC_allocate,
2002 Clause::OMPC_depend,
2003 Clause::OMPC_dyn_groupprivate,
2004 Clause::OMPC_firstprivate,
2005 Clause::OMPC_has_device_addr,
2006 Clause::OMPC_if,
2007 Clause::OMPC_is_device_ptr,
2008 Clause::OMPC_lastprivate,
2009 Clause::OMPC_linear,
2010 Clause::OMPC_map,
2011 Clause::OMPC_nontemporal,
2012 Clause::OMPC_private,
2013 Clause::OMPC_reduction,
2014 Clause::OMPC_shared,
2015 Clause::OMPC_uses_allocators,
2016};
2017
2018static llvm::omp::ClauseSet allowedOnceClauses_OMPD_target_teams_distribute_parallel_do_simd {
2019 Clause::OMPC_collapse,
2020 Clause::OMPC_default,
2021 Clause::OMPC_defaultmap,
2022 Clause::OMPC_device,
2023 Clause::OMPC_dist_schedule,
2024 Clause::OMPC_message,
2025 Clause::OMPC_nowait,
2026 Clause::OMPC_num_teams,
2027 Clause::OMPC_num_threads,
2028 Clause::OMPC_order,
2029 Clause::OMPC_proc_bind,
2030 Clause::OMPC_safelen,
2031 Clause::OMPC_schedule,
2032 Clause::OMPC_severity,
2033 Clause::OMPC_simdlen,
2034 Clause::OMPC_thread_limit,
2035};
2036
2037static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_target_teams_distribute_parallel_do_simd {
2038};
2039
2040static llvm::omp::ClauseSet requiredClauses_OMPD_target_teams_distribute_parallel_do_simd {
2041};
2042// Sets for target teams distribute parallel for
2043
2044static llvm::omp::ClauseSet allowedClauses_OMPD_target_teams_distribute_parallel_for {
2045 Clause::OMPC_allocate,
2046 Clause::OMPC_depend,
2047 Clause::OMPC_dyn_groupprivate,
2048 Clause::OMPC_firstprivate,
2049 Clause::OMPC_has_device_addr,
2050 Clause::OMPC_if,
2051 Clause::OMPC_is_device_ptr,
2052 Clause::OMPC_lastprivate,
2053 Clause::OMPC_map,
2054 Clause::OMPC_ompx_attribute,
2055 Clause::OMPC_private,
2056 Clause::OMPC_reduction,
2057 Clause::OMPC_shared,
2058 Clause::OMPC_uses_allocators,
2059};
2060
2061static llvm::omp::ClauseSet allowedOnceClauses_OMPD_target_teams_distribute_parallel_for {
2062 Clause::OMPC_collapse,
2063 Clause::OMPC_default,
2064 Clause::OMPC_defaultmap,
2065 Clause::OMPC_device,
2066 Clause::OMPC_dist_schedule,
2067 Clause::OMPC_message,
2068 Clause::OMPC_nowait,
2069 Clause::OMPC_num_teams,
2070 Clause::OMPC_num_threads,
2071 Clause::OMPC_ompx_dyn_cgroup_mem,
2072 Clause::OMPC_order,
2073 Clause::OMPC_proc_bind,
2074 Clause::OMPC_schedule,
2075 Clause::OMPC_severity,
2076 Clause::OMPC_thread_limit,
2077};
2078
2079static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_target_teams_distribute_parallel_for {
2080};
2081
2082static llvm::omp::ClauseSet requiredClauses_OMPD_target_teams_distribute_parallel_for {
2083};
2084// Sets for target teams distribute parallel for simd
2085
2086static llvm::omp::ClauseSet allowedClauses_OMPD_target_teams_distribute_parallel_for_simd {
2087 Clause::OMPC_aligned,
2088 Clause::OMPC_allocate,
2089 Clause::OMPC_depend,
2090 Clause::OMPC_dyn_groupprivate,
2091 Clause::OMPC_firstprivate,
2092 Clause::OMPC_has_device_addr,
2093 Clause::OMPC_if,
2094 Clause::OMPC_is_device_ptr,
2095 Clause::OMPC_lastprivate,
2096 Clause::OMPC_linear,
2097 Clause::OMPC_map,
2098 Clause::OMPC_nontemporal,
2099 Clause::OMPC_ompx_attribute,
2100 Clause::OMPC_private,
2101 Clause::OMPC_reduction,
2102 Clause::OMPC_shared,
2103 Clause::OMPC_uses_allocators,
2104};
2105
2106static llvm::omp::ClauseSet allowedOnceClauses_OMPD_target_teams_distribute_parallel_for_simd {
2107 Clause::OMPC_collapse,
2108 Clause::OMPC_default,
2109 Clause::OMPC_defaultmap,
2110 Clause::OMPC_device,
2111 Clause::OMPC_dist_schedule,
2112 Clause::OMPC_message,
2113 Clause::OMPC_nowait,
2114 Clause::OMPC_num_teams,
2115 Clause::OMPC_num_threads,
2116 Clause::OMPC_ompx_dyn_cgroup_mem,
2117 Clause::OMPC_order,
2118 Clause::OMPC_proc_bind,
2119 Clause::OMPC_safelen,
2120 Clause::OMPC_schedule,
2121 Clause::OMPC_severity,
2122 Clause::OMPC_simdlen,
2123 Clause::OMPC_thread_limit,
2124};
2125
2126static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_target_teams_distribute_parallel_for_simd {
2127};
2128
2129static llvm::omp::ClauseSet requiredClauses_OMPD_target_teams_distribute_parallel_for_simd {
2130};
2131// Sets for target teams distribute simd
2132
2133static llvm::omp::ClauseSet allowedClauses_OMPD_target_teams_distribute_simd {
2134 Clause::OMPC_aligned,
2135 Clause::OMPC_allocate,
2136 Clause::OMPC_depend,
2137 Clause::OMPC_dyn_groupprivate,
2138 Clause::OMPC_firstprivate,
2139 Clause::OMPC_has_device_addr,
2140 Clause::OMPC_if,
2141 Clause::OMPC_is_device_ptr,
2142 Clause::OMPC_lastprivate,
2143 Clause::OMPC_linear,
2144 Clause::OMPC_map,
2145 Clause::OMPC_nontemporal,
2146 Clause::OMPC_ompx_attribute,
2147 Clause::OMPC_private,
2148 Clause::OMPC_reduction,
2149 Clause::OMPC_shared,
2150 Clause::OMPC_uses_allocators,
2151};
2152
2153static llvm::omp::ClauseSet allowedOnceClauses_OMPD_target_teams_distribute_simd {
2154 Clause::OMPC_collapse,
2155 Clause::OMPC_default,
2156 Clause::OMPC_defaultmap,
2157 Clause::OMPC_device,
2158 Clause::OMPC_dist_schedule,
2159 Clause::OMPC_nowait,
2160 Clause::OMPC_num_teams,
2161 Clause::OMPC_ompx_dyn_cgroup_mem,
2162 Clause::OMPC_order,
2163 Clause::OMPC_safelen,
2164 Clause::OMPC_simdlen,
2165 Clause::OMPC_thread_limit,
2166};
2167
2168static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_target_teams_distribute_simd {
2169};
2170
2171static llvm::omp::ClauseSet requiredClauses_OMPD_target_teams_distribute_simd {
2172};
2173// Sets for target teams workdistribute
2174
2175static llvm::omp::ClauseSet allowedClauses_OMPD_target_teams_workdistribute {
2176 Clause::OMPC_allocate,
2177 Clause::OMPC_depend,
2178 Clause::OMPC_firstprivate,
2179 Clause::OMPC_has_device_addr,
2180 Clause::OMPC_if,
2181 Clause::OMPC_is_device_ptr,
2182 Clause::OMPC_map,
2183 Clause::OMPC_ompx_attribute,
2184 Clause::OMPC_private,
2185 Clause::OMPC_reduction,
2186 Clause::OMPC_shared,
2187 Clause::OMPC_uses_allocators,
2188};
2189
2190static llvm::omp::ClauseSet allowedOnceClauses_OMPD_target_teams_workdistribute {
2191 Clause::OMPC_default,
2192 Clause::OMPC_defaultmap,
2193 Clause::OMPC_device,
2194 Clause::OMPC_nowait,
2195 Clause::OMPC_num_teams,
2196 Clause::OMPC_ompx_bare,
2197 Clause::OMPC_ompx_dyn_cgroup_mem,
2198 Clause::OMPC_thread_limit,
2199};
2200
2201static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_target_teams_workdistribute {
2202};
2203
2204static llvm::omp::ClauseSet requiredClauses_OMPD_target_teams_workdistribute {
2205};
2206// Sets for target update
2207
2208static llvm::omp::ClauseSet allowedClauses_OMPD_target_update {
2209 Clause::OMPC_depend,
2210 Clause::OMPC_from,
2211 Clause::OMPC_if,
2212 Clause::OMPC_to,
2213};
2214
2215static llvm::omp::ClauseSet allowedOnceClauses_OMPD_target_update {
2216 Clause::OMPC_device,
2217 Clause::OMPC_nowait,
2218 Clause::OMPC_replayable,
2219};
2220
2221static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_target_update {
2222};
2223
2224static llvm::omp::ClauseSet requiredClauses_OMPD_target_update {
2225};
2226// Sets for task
2227
2228static llvm::omp::ClauseSet allowedClauses_OMPD_task {
2229 Clause::OMPC_affinity,
2230 Clause::OMPC_allocate,
2231 Clause::OMPC_depend,
2232 Clause::OMPC_firstprivate,
2233 Clause::OMPC_if,
2234 Clause::OMPC_in_reduction,
2235 Clause::OMPC_private,
2236 Clause::OMPC_shared,
2237};
2238
2239static llvm::omp::ClauseSet allowedOnceClauses_OMPD_task {
2240 Clause::OMPC_default,
2241 Clause::OMPC_detach,
2242 Clause::OMPC_final,
2243 Clause::OMPC_mergeable,
2244 Clause::OMPC_priority,
2245 Clause::OMPC_replayable,
2246 Clause::OMPC_threadset,
2247 Clause::OMPC_transparent,
2248 Clause::OMPC_untied,
2249};
2250
2251static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_task {
2252};
2253
2254static llvm::omp::ClauseSet requiredClauses_OMPD_task {
2255};
2256// Sets for taskgroup
2257
2258static llvm::omp::ClauseSet allowedClauses_OMPD_taskgroup {
2259 Clause::OMPC_allocate,
2260 Clause::OMPC_task_reduction,
2261};
2262
2263static llvm::omp::ClauseSet allowedOnceClauses_OMPD_taskgroup {
2264};
2265
2266static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_taskgroup {
2267};
2268
2269static llvm::omp::ClauseSet requiredClauses_OMPD_taskgroup {
2270};
2271// Sets for taskloop
2272
2273static llvm::omp::ClauseSet allowedClauses_OMPD_taskloop {
2274 Clause::OMPC_allocate,
2275 Clause::OMPC_firstprivate,
2276 Clause::OMPC_in_reduction,
2277 Clause::OMPC_if,
2278 Clause::OMPC_lastprivate,
2279 Clause::OMPC_private,
2280 Clause::OMPC_reduction,
2281 Clause::OMPC_shared,
2282};
2283
2284static llvm::omp::ClauseSet allowedOnceClauses_OMPD_taskloop {
2285 Clause::OMPC_collapse,
2286 Clause::OMPC_default,
2287 Clause::OMPC_final,
2288 Clause::OMPC_mergeable,
2289 Clause::OMPC_nogroup,
2290 Clause::OMPC_priority,
2291 Clause::OMPC_replayable,
2292 Clause::OMPC_threadset,
2293 Clause::OMPC_transparent,
2294 Clause::OMPC_untied,
2295};
2296
2297static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_taskloop {
2298 Clause::OMPC_grainsize,
2299 Clause::OMPC_num_tasks,
2300};
2301
2302static llvm::omp::ClauseSet requiredClauses_OMPD_taskloop {
2303};
2304// Sets for taskloop simd
2305
2306static llvm::omp::ClauseSet allowedClauses_OMPD_taskloop_simd {
2307 Clause::OMPC_aligned,
2308 Clause::OMPC_allocate,
2309 Clause::OMPC_firstprivate,
2310 Clause::OMPC_if,
2311 Clause::OMPC_in_reduction,
2312 Clause::OMPC_lastprivate,
2313 Clause::OMPC_linear,
2314 Clause::OMPC_nontemporal,
2315 Clause::OMPC_private,
2316 Clause::OMPC_reduction,
2317 Clause::OMPC_shared,
2318};
2319
2320static llvm::omp::ClauseSet allowedOnceClauses_OMPD_taskloop_simd {
2321 Clause::OMPC_collapse,
2322 Clause::OMPC_default,
2323 Clause::OMPC_final,
2324 Clause::OMPC_mergeable,
2325 Clause::OMPC_nogroup,
2326 Clause::OMPC_order,
2327 Clause::OMPC_priority,
2328 Clause::OMPC_safelen,
2329 Clause::OMPC_simdlen,
2330 Clause::OMPC_untied,
2331};
2332
2333static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_taskloop_simd {
2334 Clause::OMPC_grainsize,
2335 Clause::OMPC_num_tasks,
2336};
2337
2338static llvm::omp::ClauseSet requiredClauses_OMPD_taskloop_simd {
2339};
2340// Sets for taskwait
2341
2342static llvm::omp::ClauseSet allowedClauses_OMPD_taskwait {
2343 Clause::OMPC_depend,
2344};
2345
2346static llvm::omp::ClauseSet allowedOnceClauses_OMPD_taskwait {
2347 Clause::OMPC_nowait,
2348 Clause::OMPC_replayable,
2349};
2350
2351static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_taskwait {
2352};
2353
2354static llvm::omp::ClauseSet requiredClauses_OMPD_taskwait {
2355};
2356// Sets for taskyield
2357
2358static llvm::omp::ClauseSet allowedClauses_OMPD_taskyield {
2359};
2360
2361static llvm::omp::ClauseSet allowedOnceClauses_OMPD_taskyield {
2362};
2363
2364static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_taskyield {
2365};
2366
2367static llvm::omp::ClauseSet requiredClauses_OMPD_taskyield {
2368};
2369// Sets for taskgraph
2370
2371static llvm::omp::ClauseSet allowedClauses_OMPD_taskgraph {
2372 Clause::OMPC_if,
2373};
2374
2375static llvm::omp::ClauseSet allowedOnceClauses_OMPD_taskgraph {
2376 Clause::OMPC_graph_id,
2377 Clause::OMPC_graph_reset,
2378 Clause::OMPC_nogroup,
2379};
2380
2381static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_taskgraph {
2382};
2383
2384static llvm::omp::ClauseSet requiredClauses_OMPD_taskgraph {
2385};
2386// Sets for teams
2387
2388static llvm::omp::ClauseSet allowedClauses_OMPD_teams {
2389 Clause::OMPC_allocate,
2390 Clause::OMPC_dyn_groupprivate,
2391 Clause::OMPC_firstprivate,
2392 Clause::OMPC_if,
2393 Clause::OMPC_ompx_attribute,
2394 Clause::OMPC_private,
2395 Clause::OMPC_reduction,
2396 Clause::OMPC_shared,
2397};
2398
2399static llvm::omp::ClauseSet allowedOnceClauses_OMPD_teams {
2400 Clause::OMPC_default,
2401 Clause::OMPC_num_teams,
2402 Clause::OMPC_thread_limit,
2403};
2404
2405static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_teams {
2406};
2407
2408static llvm::omp::ClauseSet requiredClauses_OMPD_teams {
2409};
2410// Sets for teams distribute
2411
2412static llvm::omp::ClauseSet allowedClauses_OMPD_teams_distribute {
2413 Clause::OMPC_allocate,
2414 Clause::OMPC_dyn_groupprivate,
2415 Clause::OMPC_firstprivate,
2416 Clause::OMPC_if,
2417 Clause::OMPC_lastprivate,
2418 Clause::OMPC_ompx_attribute,
2419 Clause::OMPC_private,
2420 Clause::OMPC_reduction,
2421 Clause::OMPC_shared,
2422};
2423
2424static llvm::omp::ClauseSet allowedOnceClauses_OMPD_teams_distribute {
2425 Clause::OMPC_collapse,
2426 Clause::OMPC_default,
2427 Clause::OMPC_dist_schedule,
2428 Clause::OMPC_num_teams,
2429 Clause::OMPC_order,
2430 Clause::OMPC_thread_limit,
2431};
2432
2433static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_teams_distribute {
2434};
2435
2436static llvm::omp::ClauseSet requiredClauses_OMPD_teams_distribute {
2437};
2438// Sets for teams distribute parallel do
2439
2440static llvm::omp::ClauseSet allowedClauses_OMPD_teams_distribute_parallel_do {
2441 Clause::OMPC_allocate,
2442 Clause::OMPC_copyin,
2443 Clause::OMPC_dyn_groupprivate,
2444 Clause::OMPC_firstprivate,
2445 Clause::OMPC_if,
2446 Clause::OMPC_lastprivate,
2447 Clause::OMPC_linear,
2448 Clause::OMPC_private,
2449 Clause::OMPC_reduction,
2450 Clause::OMPC_shared,
2451};
2452
2453static llvm::omp::ClauseSet allowedOnceClauses_OMPD_teams_distribute_parallel_do {
2454 Clause::OMPC_collapse,
2455 Clause::OMPC_default,
2456 Clause::OMPC_dist_schedule,
2457 Clause::OMPC_message,
2458 Clause::OMPC_num_teams,
2459 Clause::OMPC_num_threads,
2460 Clause::OMPC_order,
2461 Clause::OMPC_proc_bind,
2462 Clause::OMPC_schedule,
2463 Clause::OMPC_severity,
2464 Clause::OMPC_thread_limit,
2465};
2466
2467static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_teams_distribute_parallel_do {
2468};
2469
2470static llvm::omp::ClauseSet requiredClauses_OMPD_teams_distribute_parallel_do {
2471};
2472// Sets for teams distribute parallel do simd
2473
2474static llvm::omp::ClauseSet allowedClauses_OMPD_teams_distribute_parallel_do_simd {
2475 Clause::OMPC_aligned,
2476 Clause::OMPC_allocate,
2477 Clause::OMPC_dyn_groupprivate,
2478 Clause::OMPC_firstprivate,
2479 Clause::OMPC_if,
2480 Clause::OMPC_lastprivate,
2481 Clause::OMPC_linear,
2482 Clause::OMPC_nontemporal,
2483 Clause::OMPC_private,
2484 Clause::OMPC_reduction,
2485 Clause::OMPC_shared,
2486};
2487
2488static llvm::omp::ClauseSet allowedOnceClauses_OMPD_teams_distribute_parallel_do_simd {
2489 Clause::OMPC_collapse,
2490 Clause::OMPC_default,
2491 Clause::OMPC_dist_schedule,
2492 Clause::OMPC_message,
2493 Clause::OMPC_num_teams,
2494 Clause::OMPC_num_threads,
2495 Clause::OMPC_order,
2496 Clause::OMPC_proc_bind,
2497 Clause::OMPC_safelen,
2498 Clause::OMPC_schedule,
2499 Clause::OMPC_severity,
2500 Clause::OMPC_simdlen,
2501 Clause::OMPC_thread_limit,
2502};
2503
2504static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_teams_distribute_parallel_do_simd {
2505};
2506
2507static llvm::omp::ClauseSet requiredClauses_OMPD_teams_distribute_parallel_do_simd {
2508};
2509// Sets for teams distribute parallel for
2510
2511static llvm::omp::ClauseSet allowedClauses_OMPD_teams_distribute_parallel_for {
2512 Clause::OMPC_allocate,
2513 Clause::OMPC_copyin,
2514 Clause::OMPC_dyn_groupprivate,
2515 Clause::OMPC_firstprivate,
2516 Clause::OMPC_if,
2517 Clause::OMPC_lastprivate,
2518 Clause::OMPC_ompx_attribute,
2519 Clause::OMPC_private,
2520 Clause::OMPC_reduction,
2521 Clause::OMPC_shared,
2522};
2523
2524static llvm::omp::ClauseSet allowedOnceClauses_OMPD_teams_distribute_parallel_for {
2525 Clause::OMPC_collapse,
2526 Clause::OMPC_default,
2527 Clause::OMPC_dist_schedule,
2528 Clause::OMPC_message,
2529 Clause::OMPC_num_teams,
2530 Clause::OMPC_num_threads,
2531 Clause::OMPC_order,
2532 Clause::OMPC_proc_bind,
2533 Clause::OMPC_schedule,
2534 Clause::OMPC_severity,
2535 Clause::OMPC_thread_limit,
2536};
2537
2538static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_teams_distribute_parallel_for {
2539};
2540
2541static llvm::omp::ClauseSet requiredClauses_OMPD_teams_distribute_parallel_for {
2542};
2543// Sets for teams distribute parallel for simd
2544
2545static llvm::omp::ClauseSet allowedClauses_OMPD_teams_distribute_parallel_for_simd {
2546 Clause::OMPC_aligned,
2547 Clause::OMPC_allocate,
2548 Clause::OMPC_dyn_groupprivate,
2549 Clause::OMPC_firstprivate,
2550 Clause::OMPC_lastprivate,
2551 Clause::OMPC_if,
2552 Clause::OMPC_linear,
2553 Clause::OMPC_nontemporal,
2554 Clause::OMPC_ompx_attribute,
2555 Clause::OMPC_private,
2556 Clause::OMPC_reduction,
2557 Clause::OMPC_shared,
2558};
2559
2560static llvm::omp::ClauseSet allowedOnceClauses_OMPD_teams_distribute_parallel_for_simd {
2561 Clause::OMPC_collapse,
2562 Clause::OMPC_default,
2563 Clause::OMPC_dist_schedule,
2564 Clause::OMPC_message,
2565 Clause::OMPC_num_teams,
2566 Clause::OMPC_num_threads,
2567 Clause::OMPC_order,
2568 Clause::OMPC_proc_bind,
2569 Clause::OMPC_safelen,
2570 Clause::OMPC_schedule,
2571 Clause::OMPC_severity,
2572 Clause::OMPC_simdlen,
2573 Clause::OMPC_thread_limit,
2574};
2575
2576static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_teams_distribute_parallel_for_simd {
2577};
2578
2579static llvm::omp::ClauseSet requiredClauses_OMPD_teams_distribute_parallel_for_simd {
2580};
2581// Sets for teams distribute simd
2582
2583static llvm::omp::ClauseSet allowedClauses_OMPD_teams_distribute_simd {
2584 Clause::OMPC_aligned,
2585 Clause::OMPC_allocate,
2586 Clause::OMPC_dyn_groupprivate,
2587 Clause::OMPC_firstprivate,
2588 Clause::OMPC_if,
2589 Clause::OMPC_lastprivate,
2590 Clause::OMPC_linear,
2591 Clause::OMPC_nontemporal,
2592 Clause::OMPC_ompx_attribute,
2593 Clause::OMPC_private,
2594 Clause::OMPC_reduction,
2595 Clause::OMPC_shared,
2596};
2597
2598static llvm::omp::ClauseSet allowedOnceClauses_OMPD_teams_distribute_simd {
2599 Clause::OMPC_collapse,
2600 Clause::OMPC_default,
2601 Clause::OMPC_dist_schedule,
2602 Clause::OMPC_num_teams,
2603 Clause::OMPC_order,
2604 Clause::OMPC_safelen,
2605 Clause::OMPC_simdlen,
2606 Clause::OMPC_thread_limit,
2607};
2608
2609static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_teams_distribute_simd {
2610};
2611
2612static llvm::omp::ClauseSet requiredClauses_OMPD_teams_distribute_simd {
2613};
2614// Sets for teams workdistribute
2615
2616static llvm::omp::ClauseSet allowedClauses_OMPD_teams_workdistribute {
2617 Clause::OMPC_allocate,
2618 Clause::OMPC_firstprivate,
2619 Clause::OMPC_if,
2620 Clause::OMPC_ompx_attribute,
2621 Clause::OMPC_private,
2622 Clause::OMPC_reduction,
2623 Clause::OMPC_shared,
2624};
2625
2626static llvm::omp::ClauseSet allowedOnceClauses_OMPD_teams_workdistribute {
2627 Clause::OMPC_default,
2628 Clause::OMPC_num_teams,
2629 Clause::OMPC_thread_limit,
2630};
2631
2632static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_teams_workdistribute {
2633};
2634
2635static llvm::omp::ClauseSet requiredClauses_OMPD_teams_workdistribute {
2636};
2637// Sets for threadprivate
2638
2639static llvm::omp::ClauseSet allowedClauses_OMPD_threadprivate {
2640};
2641
2642static llvm::omp::ClauseSet allowedOnceClauses_OMPD_threadprivate {
2643};
2644
2645static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_threadprivate {
2646};
2647
2648static llvm::omp::ClauseSet requiredClauses_OMPD_threadprivate {
2649};
2650// Sets for tile
2651
2652static llvm::omp::ClauseSet allowedClauses_OMPD_tile {
2653 Clause::OMPC_apply,
2654};
2655
2656static llvm::omp::ClauseSet allowedOnceClauses_OMPD_tile {
2657 Clause::OMPC_sizes,
2658};
2659
2660static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_tile {
2661};
2662
2663static llvm::omp::ClauseSet requiredClauses_OMPD_tile {
2664 Clause::OMPC_sizes,
2665};
2666// Sets for unknown
2667
2668static llvm::omp::ClauseSet allowedClauses_OMPD_unknown {
2669};
2670
2671static llvm::omp::ClauseSet allowedOnceClauses_OMPD_unknown {
2672};
2673
2674static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_unknown {
2675};
2676
2677static llvm::omp::ClauseSet requiredClauses_OMPD_unknown {
2678};
2679// Sets for unroll
2680
2681static llvm::omp::ClauseSet allowedClauses_OMPD_unroll {
2682 Clause::OMPC_apply,
2683};
2684
2685static llvm::omp::ClauseSet allowedOnceClauses_OMPD_unroll {
2686};
2687
2688static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_unroll {
2689 Clause::OMPC_full,
2690 Clause::OMPC_partial,
2691};
2692
2693static llvm::omp::ClauseSet requiredClauses_OMPD_unroll {
2694};
2695// Sets for workdistribute
2696
2697static llvm::omp::ClauseSet allowedClauses_OMPD_workdistribute {
2698};
2699
2700static llvm::omp::ClauseSet allowedOnceClauses_OMPD_workdistribute {
2701};
2702
2703static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_workdistribute {
2704};
2705
2706static llvm::omp::ClauseSet requiredClauses_OMPD_workdistribute {
2707};
2708// Sets for workshare
2709
2710static llvm::omp::ClauseSet allowedClauses_OMPD_workshare {
2711};
2712
2713static llvm::omp::ClauseSet allowedOnceClauses_OMPD_workshare {
2714 Clause::OMPC_nowait,
2715};
2716
2717static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_workshare {
2718};
2719
2720static llvm::omp::ClauseSet requiredClauses_OMPD_workshare {
2721};
2722// Sets for dispatch
2723
2724static llvm::omp::ClauseSet allowedClauses_OMPD_dispatch {
2725 Clause::OMPC_depend,
2726 Clause::OMPC_has_device_addr,
2727 Clause::OMPC_is_device_ptr,
2728};
2729
2730static llvm::omp::ClauseSet allowedOnceClauses_OMPD_dispatch {
2731 Clause::OMPC_device,
2732 Clause::OMPC_nocontext,
2733 Clause::OMPC_novariants,
2734 Clause::OMPC_nowait,
2735};
2736
2737static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_dispatch {
2738};
2739
2740static llvm::omp::ClauseSet requiredClauses_OMPD_dispatch {
2741};
2742// Sets for interop
2743
2744static llvm::omp::ClauseSet allowedClauses_OMPD_interop {
2745 Clause::OMPC_depend,
2746 Clause::OMPC_destroy,
2747 Clause::OMPC_init,
2748 Clause::OMPC_use,
2749};
2750
2751static llvm::omp::ClauseSet allowedOnceClauses_OMPD_interop {
2752 Clause::OMPC_device,
2753 Clause::OMPC_nowait,
2754};
2755
2756static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_interop {
2757};
2758
2759static llvm::omp::ClauseSet requiredClauses_OMPD_interop {
2760};
2761// Sets for loop
2762
2763static llvm::omp::ClauseSet allowedClauses_OMPD_loop {
2764 Clause::OMPC_lastprivate,
2765 Clause::OMPC_private,
2766 Clause::OMPC_reduction,
2767};
2768
2769static llvm::omp::ClauseSet allowedOnceClauses_OMPD_loop {
2770 Clause::OMPC_bind,
2771 Clause::OMPC_collapse,
2772 Clause::OMPC_order,
2773};
2774
2775static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_loop {
2776};
2777
2778static llvm::omp::ClauseSet requiredClauses_OMPD_loop {
2779};
2780// Sets for masked
2781
2782static llvm::omp::ClauseSet allowedClauses_OMPD_masked {
2783};
2784
2785static llvm::omp::ClauseSet allowedOnceClauses_OMPD_masked {
2786 Clause::OMPC_filter,
2787};
2788
2789static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_masked {
2790};
2791
2792static llvm::omp::ClauseSet requiredClauses_OMPD_masked {
2793};
2794// Sets for parallel loop
2795
2796static llvm::omp::ClauseSet allowedClauses_OMPD_parallel_loop {
2797 Clause::OMPC_allocate,
2798 Clause::OMPC_copyin,
2799 Clause::OMPC_firstprivate,
2800 Clause::OMPC_if,
2801 Clause::OMPC_lastprivate,
2802 Clause::OMPC_ompx_attribute,
2803 Clause::OMPC_private,
2804 Clause::OMPC_reduction,
2805 Clause::OMPC_shared,
2806};
2807
2808static llvm::omp::ClauseSet allowedOnceClauses_OMPD_parallel_loop {
2809 Clause::OMPC_bind,
2810 Clause::OMPC_collapse,
2811 Clause::OMPC_default,
2812 Clause::OMPC_message,
2813 Clause::OMPC_num_threads,
2814 Clause::OMPC_order,
2815 Clause::OMPC_proc_bind,
2816 Clause::OMPC_severity,
2817};
2818
2819static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_parallel_loop {
2820};
2821
2822static llvm::omp::ClauseSet requiredClauses_OMPD_parallel_loop {
2823};
2824// Sets for target loop
2825
2826static llvm::omp::ClauseSet allowedClauses_OMPD_target_loop {
2827 Clause::OMPC_allocate,
2828 Clause::OMPC_depend,
2829 Clause::OMPC_dyn_groupprivate,
2830 Clause::OMPC_firstprivate,
2831 Clause::OMPC_if,
2832 Clause::OMPC_is_device_ptr,
2833 Clause::OMPC_has_device_addr,
2834 Clause::OMPC_lastprivate,
2835 Clause::OMPC_map,
2836 Clause::OMPC_private,
2837 Clause::OMPC_reduction,
2838 Clause::OMPC_uses_allocators,
2839 Clause::OMPC_ompx_attribute,
2840 Clause::OMPC_in_reduction,
2841};
2842
2843static llvm::omp::ClauseSet allowedOnceClauses_OMPD_target_loop {
2844 Clause::OMPC_bind,
2845 Clause::OMPC_collapse,
2846 Clause::OMPC_defaultmap,
2847 Clause::OMPC_device,
2848 Clause::OMPC_nowait,
2849 Clause::OMPC_ompx_dyn_cgroup_mem,
2850 Clause::OMPC_order,
2851 Clause::OMPC_thread_limit,
2852};
2853
2854static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_target_loop {
2855};
2856
2857static llvm::omp::ClauseSet requiredClauses_OMPD_target_loop {
2858};
2859// Sets for target parallel loop
2860
2861static llvm::omp::ClauseSet allowedClauses_OMPD_target_parallel_loop {
2862 Clause::OMPC_allocate,
2863 Clause::OMPC_depend,
2864 Clause::OMPC_dyn_groupprivate,
2865 Clause::OMPC_firstprivate,
2866 Clause::OMPC_has_device_addr,
2867 Clause::OMPC_if,
2868 Clause::OMPC_is_device_ptr,
2869 Clause::OMPC_lastprivate,
2870 Clause::OMPC_map,
2871 Clause::OMPC_ompx_attribute,
2872 Clause::OMPC_private,
2873 Clause::OMPC_reduction,
2874 Clause::OMPC_shared,
2875 Clause::OMPC_uses_allocators,
2876};
2877
2878static llvm::omp::ClauseSet allowedOnceClauses_OMPD_target_parallel_loop {
2879 Clause::OMPC_bind,
2880 Clause::OMPC_collapse,
2881 Clause::OMPC_default,
2882 Clause::OMPC_defaultmap,
2883 Clause::OMPC_device,
2884 Clause::OMPC_message,
2885 Clause::OMPC_nowait,
2886 Clause::OMPC_num_threads,
2887 Clause::OMPC_ompx_dyn_cgroup_mem,
2888 Clause::OMPC_order,
2889 Clause::OMPC_proc_bind,
2890 Clause::OMPC_severity,
2891 Clause::OMPC_thread_limit,
2892};
2893
2894static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_target_parallel_loop {
2895};
2896
2897static llvm::omp::ClauseSet requiredClauses_OMPD_target_parallel_loop {
2898};
2899// Sets for target teams loop
2900
2901static llvm::omp::ClauseSet allowedClauses_OMPD_target_teams_loop {
2902 Clause::OMPC_allocate,
2903 Clause::OMPC_depend,
2904 Clause::OMPC_dyn_groupprivate,
2905 Clause::OMPC_firstprivate,
2906 Clause::OMPC_has_device_addr,
2907 Clause::OMPC_if,
2908 Clause::OMPC_is_device_ptr,
2909 Clause::OMPC_lastprivate,
2910 Clause::OMPC_map,
2911 Clause::OMPC_ompx_attribute,
2912 Clause::OMPC_private,
2913 Clause::OMPC_reduction,
2914 Clause::OMPC_shared,
2915 Clause::OMPC_uses_allocators,
2916};
2917
2918static llvm::omp::ClauseSet allowedOnceClauses_OMPD_target_teams_loop {
2919 Clause::OMPC_bind,
2920 Clause::OMPC_collapse,
2921 Clause::OMPC_default,
2922 Clause::OMPC_defaultmap,
2923 Clause::OMPC_device,
2924 Clause::OMPC_nowait,
2925 Clause::OMPC_num_teams,
2926 Clause::OMPC_ompx_dyn_cgroup_mem,
2927 Clause::OMPC_order,
2928 Clause::OMPC_thread_limit,
2929};
2930
2931static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_target_teams_loop {
2932};
2933
2934static llvm::omp::ClauseSet requiredClauses_OMPD_target_teams_loop {
2935};
2936// Sets for teams loop
2937
2938static llvm::omp::ClauseSet allowedClauses_OMPD_teams_loop {
2939 Clause::OMPC_allocate,
2940 Clause::OMPC_dyn_groupprivate,
2941 Clause::OMPC_firstprivate,
2942 Clause::OMPC_if,
2943 Clause::OMPC_lastprivate,
2944 Clause::OMPC_ompx_attribute,
2945 Clause::OMPC_private,
2946 Clause::OMPC_reduction,
2947 Clause::OMPC_shared,
2948};
2949
2950static llvm::omp::ClauseSet allowedOnceClauses_OMPD_teams_loop {
2951 Clause::OMPC_bind,
2952 Clause::OMPC_collapse,
2953 Clause::OMPC_default,
2954 Clause::OMPC_num_teams,
2955 Clause::OMPC_order,
2956 Clause::OMPC_thread_limit,
2957};
2958
2959static llvm::omp::ClauseSet allowedExclusiveClauses_OMPD_teams_loop {
2960};
2961
2962static llvm::omp::ClauseSet requiredClauses_OMPD_teams_loop {
2963};
2964
2965} // namespace llvm::omp
2966
2967#endif // GEN_FLANG_DIRECTIVE_CLAUSE_SETS
2968
2969#ifdef GEN_FLANG_DIRECTIVE_CLAUSE_MAP
2970#undef GEN_FLANG_DIRECTIVE_CLAUSE_MAP
2971
2972{
2973 {llvm::omp::Directive::OMPD_allocate,
2974 {
2975 llvm::omp::allowedClauses_OMPD_allocate,
2976 llvm::omp::allowedOnceClauses_OMPD_allocate,
2977 llvm::omp::allowedExclusiveClauses_OMPD_allocate,
2978 llvm::omp::requiredClauses_OMPD_allocate,
2979 }
2980 },
2981 {llvm::omp::Directive::OMPD_allocators,
2982 {
2983 llvm::omp::allowedClauses_OMPD_allocators,
2984 llvm::omp::allowedOnceClauses_OMPD_allocators,
2985 llvm::omp::allowedExclusiveClauses_OMPD_allocators,
2986 llvm::omp::requiredClauses_OMPD_allocators,
2987 }
2988 },
2989 {llvm::omp::Directive::OMPD_assume,
2990 {
2991 llvm::omp::allowedClauses_OMPD_assume,
2992 llvm::omp::allowedOnceClauses_OMPD_assume,
2993 llvm::omp::allowedExclusiveClauses_OMPD_assume,
2994 llvm::omp::requiredClauses_OMPD_assume,
2995 }
2996 },
2997 {llvm::omp::Directive::OMPD_assumes,
2998 {
2999 llvm::omp::allowedClauses_OMPD_assumes,
3000 llvm::omp::allowedOnceClauses_OMPD_assumes,
3001 llvm::omp::allowedExclusiveClauses_OMPD_assumes,
3002 llvm::omp::requiredClauses_OMPD_assumes,
3003 }
3004 },
3005 {llvm::omp::Directive::OMPD_atomic,
3006 {
3007 llvm::omp::allowedClauses_OMPD_atomic,
3008 llvm::omp::allowedOnceClauses_OMPD_atomic,
3009 llvm::omp::allowedExclusiveClauses_OMPD_atomic,
3010 llvm::omp::requiredClauses_OMPD_atomic,
3011 }
3012 },
3013 {llvm::omp::Directive::OMPD_barrier,
3014 {
3015 llvm::omp::allowedClauses_OMPD_barrier,
3016 llvm::omp::allowedOnceClauses_OMPD_barrier,
3017 llvm::omp::allowedExclusiveClauses_OMPD_barrier,
3018 llvm::omp::requiredClauses_OMPD_barrier,
3019 }
3020 },
3021 {llvm::omp::Directive::OMPD_begin_assumes,
3022 {
3023 llvm::omp::allowedClauses_OMPD_begin_assumes,
3024 llvm::omp::allowedOnceClauses_OMPD_begin_assumes,
3025 llvm::omp::allowedExclusiveClauses_OMPD_begin_assumes,
3026 llvm::omp::requiredClauses_OMPD_begin_assumes,
3027 }
3028 },
3029 {llvm::omp::Directive::OMPD_begin_declare_target,
3030 {
3031 llvm::omp::allowedClauses_OMPD_begin_declare_target,
3032 llvm::omp::allowedOnceClauses_OMPD_begin_declare_target,
3033 llvm::omp::allowedExclusiveClauses_OMPD_begin_declare_target,
3034 llvm::omp::requiredClauses_OMPD_begin_declare_target,
3035 }
3036 },
3037 {llvm::omp::Directive::OMPD_begin_declare_variant,
3038 {
3039 llvm::omp::allowedClauses_OMPD_begin_declare_variant,
3040 llvm::omp::allowedOnceClauses_OMPD_begin_declare_variant,
3041 llvm::omp::allowedExclusiveClauses_OMPD_begin_declare_variant,
3042 llvm::omp::requiredClauses_OMPD_begin_declare_variant,
3043 }
3044 },
3045 {llvm::omp::Directive::OMPD_cancel,
3046 {
3047 llvm::omp::allowedClauses_OMPD_cancel,
3048 llvm::omp::allowedOnceClauses_OMPD_cancel,
3049 llvm::omp::allowedExclusiveClauses_OMPD_cancel,
3050 llvm::omp::requiredClauses_OMPD_cancel,
3051 }
3052 },
3053 {llvm::omp::Directive::OMPD_cancellation_point,
3054 {
3055 llvm::omp::allowedClauses_OMPD_cancellation_point,
3056 llvm::omp::allowedOnceClauses_OMPD_cancellation_point,
3057 llvm::omp::allowedExclusiveClauses_OMPD_cancellation_point,
3058 llvm::omp::requiredClauses_OMPD_cancellation_point,
3059 }
3060 },
3061 {llvm::omp::Directive::OMPD_critical,
3062 {
3063 llvm::omp::allowedClauses_OMPD_critical,
3064 llvm::omp::allowedOnceClauses_OMPD_critical,
3065 llvm::omp::allowedExclusiveClauses_OMPD_critical,
3066 llvm::omp::requiredClauses_OMPD_critical,
3067 }
3068 },
3069 {llvm::omp::Directive::OMPD_declare_induction,
3070 {
3071 llvm::omp::allowedClauses_OMPD_declare_induction,
3072 llvm::omp::allowedOnceClauses_OMPD_declare_induction,
3073 llvm::omp::allowedExclusiveClauses_OMPD_declare_induction,
3074 llvm::omp::requiredClauses_OMPD_declare_induction,
3075 }
3076 },
3077 {llvm::omp::Directive::OMPD_declare_mapper,
3078 {
3079 llvm::omp::allowedClauses_OMPD_declare_mapper,
3080 llvm::omp::allowedOnceClauses_OMPD_declare_mapper,
3081 llvm::omp::allowedExclusiveClauses_OMPD_declare_mapper,
3082 llvm::omp::requiredClauses_OMPD_declare_mapper,
3083 }
3084 },
3085 {llvm::omp::Directive::OMPD_declare_reduction,
3086 {
3087 llvm::omp::allowedClauses_OMPD_declare_reduction,
3088 llvm::omp::allowedOnceClauses_OMPD_declare_reduction,
3089 llvm::omp::allowedExclusiveClauses_OMPD_declare_reduction,
3090 llvm::omp::requiredClauses_OMPD_declare_reduction,
3091 }
3092 },
3093 {llvm::omp::Directive::OMPD_declare_simd,
3094 {
3095 llvm::omp::allowedClauses_OMPD_declare_simd,
3096 llvm::omp::allowedOnceClauses_OMPD_declare_simd,
3097 llvm::omp::allowedExclusiveClauses_OMPD_declare_simd,
3098 llvm::omp::requiredClauses_OMPD_declare_simd,
3099 }
3100 },
3101 {llvm::omp::Directive::OMPD_declare_target,
3102 {
3103 llvm::omp::allowedClauses_OMPD_declare_target,
3104 llvm::omp::allowedOnceClauses_OMPD_declare_target,
3105 llvm::omp::allowedExclusiveClauses_OMPD_declare_target,
3106 llvm::omp::requiredClauses_OMPD_declare_target,
3107 }
3108 },
3109 {llvm::omp::Directive::OMPD_declare_variant,
3110 {
3111 llvm::omp::allowedClauses_OMPD_declare_variant,
3112 llvm::omp::allowedOnceClauses_OMPD_declare_variant,
3113 llvm::omp::allowedExclusiveClauses_OMPD_declare_variant,
3114 llvm::omp::requiredClauses_OMPD_declare_variant,
3115 }
3116 },
3117 {llvm::omp::Directive::OMPD_depobj,
3118 {
3119 llvm::omp::allowedClauses_OMPD_depobj,
3120 llvm::omp::allowedOnceClauses_OMPD_depobj,
3121 llvm::omp::allowedExclusiveClauses_OMPD_depobj,
3122 llvm::omp::requiredClauses_OMPD_depobj,
3123 }
3124 },
3125 {llvm::omp::Directive::OMPD_distribute,
3126 {
3127 llvm::omp::allowedClauses_OMPD_distribute,
3128 llvm::omp::allowedOnceClauses_OMPD_distribute,
3129 llvm::omp::allowedExclusiveClauses_OMPD_distribute,
3130 llvm::omp::requiredClauses_OMPD_distribute,
3131 }
3132 },
3133 {llvm::omp::Directive::OMPD_distribute_parallel_do,
3134 {
3135 llvm::omp::allowedClauses_OMPD_distribute_parallel_do,
3136 llvm::omp::allowedOnceClauses_OMPD_distribute_parallel_do,
3137 llvm::omp::allowedExclusiveClauses_OMPD_distribute_parallel_do,
3138 llvm::omp::requiredClauses_OMPD_distribute_parallel_do,
3139 }
3140 },
3141 {llvm::omp::Directive::OMPD_distribute_parallel_do_simd,
3142 {
3143 llvm::omp::allowedClauses_OMPD_distribute_parallel_do_simd,
3144 llvm::omp::allowedOnceClauses_OMPD_distribute_parallel_do_simd,
3145 llvm::omp::allowedExclusiveClauses_OMPD_distribute_parallel_do_simd,
3146 llvm::omp::requiredClauses_OMPD_distribute_parallel_do_simd,
3147 }
3148 },
3149 {llvm::omp::Directive::OMPD_distribute_parallel_for,
3150 {
3151 llvm::omp::allowedClauses_OMPD_distribute_parallel_for,
3152 llvm::omp::allowedOnceClauses_OMPD_distribute_parallel_for,
3153 llvm::omp::allowedExclusiveClauses_OMPD_distribute_parallel_for,
3154 llvm::omp::requiredClauses_OMPD_distribute_parallel_for,
3155 }
3156 },
3157 {llvm::omp::Directive::OMPD_distribute_parallel_for_simd,
3158 {
3159 llvm::omp::allowedClauses_OMPD_distribute_parallel_for_simd,
3160 llvm::omp::allowedOnceClauses_OMPD_distribute_parallel_for_simd,
3161 llvm::omp::allowedExclusiveClauses_OMPD_distribute_parallel_for_simd,
3162 llvm::omp::requiredClauses_OMPD_distribute_parallel_for_simd,
3163 }
3164 },
3165 {llvm::omp::Directive::OMPD_distribute_simd,
3166 {
3167 llvm::omp::allowedClauses_OMPD_distribute_simd,
3168 llvm::omp::allowedOnceClauses_OMPD_distribute_simd,
3169 llvm::omp::allowedExclusiveClauses_OMPD_distribute_simd,
3170 llvm::omp::requiredClauses_OMPD_distribute_simd,
3171 }
3172 },
3173 {llvm::omp::Directive::OMPD_do,
3174 {
3175 llvm::omp::allowedClauses_OMPD_do,
3176 llvm::omp::allowedOnceClauses_OMPD_do,
3177 llvm::omp::allowedExclusiveClauses_OMPD_do,
3178 llvm::omp::requiredClauses_OMPD_do,
3179 }
3180 },
3181 {llvm::omp::Directive::OMPD_do_simd,
3182 {
3183 llvm::omp::allowedClauses_OMPD_do_simd,
3184 llvm::omp::allowedOnceClauses_OMPD_do_simd,
3185 llvm::omp::allowedExclusiveClauses_OMPD_do_simd,
3186 llvm::omp::requiredClauses_OMPD_do_simd,
3187 }
3188 },
3189 {llvm::omp::Directive::OMPD_end_assumes,
3190 {
3191 llvm::omp::allowedClauses_OMPD_end_assumes,
3192 llvm::omp::allowedOnceClauses_OMPD_end_assumes,
3193 llvm::omp::allowedExclusiveClauses_OMPD_end_assumes,
3194 llvm::omp::requiredClauses_OMPD_end_assumes,
3195 }
3196 },
3197 {llvm::omp::Directive::OMPD_end_declare_target,
3198 {
3199 llvm::omp::allowedClauses_OMPD_end_declare_target,
3200 llvm::omp::allowedOnceClauses_OMPD_end_declare_target,
3201 llvm::omp::allowedExclusiveClauses_OMPD_end_declare_target,
3202 llvm::omp::requiredClauses_OMPD_end_declare_target,
3203 }
3204 },
3205 {llvm::omp::Directive::OMPD_end_declare_variant,
3206 {
3207 llvm::omp::allowedClauses_OMPD_end_declare_variant,
3208 llvm::omp::allowedOnceClauses_OMPD_end_declare_variant,
3209 llvm::omp::allowedExclusiveClauses_OMPD_end_declare_variant,
3210 llvm::omp::requiredClauses_OMPD_end_declare_variant,
3211 }
3212 },
3213 {llvm::omp::Directive::OMPD_error,
3214 {
3215 llvm::omp::allowedClauses_OMPD_error,
3216 llvm::omp::allowedOnceClauses_OMPD_error,
3217 llvm::omp::allowedExclusiveClauses_OMPD_error,
3218 llvm::omp::requiredClauses_OMPD_error,
3219 }
3220 },
3221 {llvm::omp::Directive::OMPD_flatten,
3222 {
3223 llvm::omp::allowedClauses_OMPD_flatten,
3224 llvm::omp::allowedOnceClauses_OMPD_flatten,
3225 llvm::omp::allowedExclusiveClauses_OMPD_flatten,
3226 llvm::omp::requiredClauses_OMPD_flatten,
3227 }
3228 },
3229 {llvm::omp::Directive::OMPD_flush,
3230 {
3231 llvm::omp::allowedClauses_OMPD_flush,
3232 llvm::omp::allowedOnceClauses_OMPD_flush,
3233 llvm::omp::allowedExclusiveClauses_OMPD_flush,
3234 llvm::omp::requiredClauses_OMPD_flush,
3235 }
3236 },
3237 {llvm::omp::Directive::OMPD_for,
3238 {
3239 llvm::omp::allowedClauses_OMPD_for,
3240 llvm::omp::allowedOnceClauses_OMPD_for,
3241 llvm::omp::allowedExclusiveClauses_OMPD_for,
3242 llvm::omp::requiredClauses_OMPD_for,
3243 }
3244 },
3245 {llvm::omp::Directive::OMPD_for_simd,
3246 {
3247 llvm::omp::allowedClauses_OMPD_for_simd,
3248 llvm::omp::allowedOnceClauses_OMPD_for_simd,
3249 llvm::omp::allowedExclusiveClauses_OMPD_for_simd,
3250 llvm::omp::requiredClauses_OMPD_for_simd,
3251 }
3252 },
3253 {llvm::omp::Directive::OMPD_fuse,
3254 {
3255 llvm::omp::allowedClauses_OMPD_fuse,
3256 llvm::omp::allowedOnceClauses_OMPD_fuse,
3257 llvm::omp::allowedExclusiveClauses_OMPD_fuse,
3258 llvm::omp::requiredClauses_OMPD_fuse,
3259 }
3260 },
3261 {llvm::omp::Directive::OMPD_groupprivate,
3262 {
3263 llvm::omp::allowedClauses_OMPD_groupprivate,
3264 llvm::omp::allowedOnceClauses_OMPD_groupprivate,
3265 llvm::omp::allowedExclusiveClauses_OMPD_groupprivate,
3266 llvm::omp::requiredClauses_OMPD_groupprivate,
3267 }
3268 },
3269 {llvm::omp::Directive::OMPD_interchange,
3270 {
3271 llvm::omp::allowedClauses_OMPD_interchange,
3272 llvm::omp::allowedOnceClauses_OMPD_interchange,
3273 llvm::omp::allowedExclusiveClauses_OMPD_interchange,
3274 llvm::omp::requiredClauses_OMPD_interchange,
3275 }
3276 },
3277 {llvm::omp::Directive::OMPD_masked_taskloop,
3278 {
3279 llvm::omp::allowedClauses_OMPD_masked_taskloop,
3280 llvm::omp::allowedOnceClauses_OMPD_masked_taskloop,
3281 llvm::omp::allowedExclusiveClauses_OMPD_masked_taskloop,
3282 llvm::omp::requiredClauses_OMPD_masked_taskloop,
3283 }
3284 },
3285 {llvm::omp::Directive::OMPD_masked_taskloop_simd,
3286 {
3287 llvm::omp::allowedClauses_OMPD_masked_taskloop_simd,
3288 llvm::omp::allowedOnceClauses_OMPD_masked_taskloop_simd,
3289 llvm::omp::allowedExclusiveClauses_OMPD_masked_taskloop_simd,
3290 llvm::omp::requiredClauses_OMPD_masked_taskloop_simd,
3291 }
3292 },
3293 {llvm::omp::Directive::OMPD_master,
3294 {
3295 llvm::omp::allowedClauses_OMPD_master,
3296 llvm::omp::allowedOnceClauses_OMPD_master,
3297 llvm::omp::allowedExclusiveClauses_OMPD_master,
3298 llvm::omp::requiredClauses_OMPD_master,
3299 }
3300 },
3301 {llvm::omp::Directive::OMPD_master_taskloop,
3302 {
3303 llvm::omp::allowedClauses_OMPD_master_taskloop,
3304 llvm::omp::allowedOnceClauses_OMPD_master_taskloop,
3305 llvm::omp::allowedExclusiveClauses_OMPD_master_taskloop,
3306 llvm::omp::requiredClauses_OMPD_master_taskloop,
3307 }
3308 },
3309 {llvm::omp::Directive::OMPD_master_taskloop_simd,
3310 {
3311 llvm::omp::allowedClauses_OMPD_master_taskloop_simd,
3312 llvm::omp::allowedOnceClauses_OMPD_master_taskloop_simd,
3313 llvm::omp::allowedExclusiveClauses_OMPD_master_taskloop_simd,
3314 llvm::omp::requiredClauses_OMPD_master_taskloop_simd,
3315 }
3316 },
3317 {llvm::omp::Directive::OMPD_metadirective,
3318 {
3319 llvm::omp::allowedClauses_OMPD_metadirective,
3320 llvm::omp::allowedOnceClauses_OMPD_metadirective,
3321 llvm::omp::allowedExclusiveClauses_OMPD_metadirective,
3322 llvm::omp::requiredClauses_OMPD_metadirective,
3323 }
3324 },
3325 {llvm::omp::Directive::OMPD_nothing,
3326 {
3327 llvm::omp::allowedClauses_OMPD_nothing,
3328 llvm::omp::allowedOnceClauses_OMPD_nothing,
3329 llvm::omp::allowedExclusiveClauses_OMPD_nothing,
3330 llvm::omp::requiredClauses_OMPD_nothing,
3331 }
3332 },
3333 {llvm::omp::Directive::OMPD_ordered_blockassoc,
3334 {
3335 llvm::omp::allowedClauses_OMPD_ordered_blockassoc,
3336 llvm::omp::allowedOnceClauses_OMPD_ordered_blockassoc,
3337 llvm::omp::allowedExclusiveClauses_OMPD_ordered_blockassoc,
3338 llvm::omp::requiredClauses_OMPD_ordered_blockassoc,
3339 }
3340 },
3341 {llvm::omp::Directive::OMPD_ordered_standalone,
3342 {
3343 llvm::omp::allowedClauses_OMPD_ordered_standalone,
3344 llvm::omp::allowedOnceClauses_OMPD_ordered_standalone,
3345 llvm::omp::allowedExclusiveClauses_OMPD_ordered_standalone,
3346 llvm::omp::requiredClauses_OMPD_ordered_standalone,
3347 }
3348 },
3349 {llvm::omp::Directive::OMPD_parallel,
3350 {
3351 llvm::omp::allowedClauses_OMPD_parallel,
3352 llvm::omp::allowedOnceClauses_OMPD_parallel,
3353 llvm::omp::allowedExclusiveClauses_OMPD_parallel,
3354 llvm::omp::requiredClauses_OMPD_parallel,
3355 }
3356 },
3357 {llvm::omp::Directive::OMPD_parallel_do,
3358 {
3359 llvm::omp::allowedClauses_OMPD_parallel_do,
3360 llvm::omp::allowedOnceClauses_OMPD_parallel_do,
3361 llvm::omp::allowedExclusiveClauses_OMPD_parallel_do,
3362 llvm::omp::requiredClauses_OMPD_parallel_do,
3363 }
3364 },
3365 {llvm::omp::Directive::OMPD_parallel_do_simd,
3366 {
3367 llvm::omp::allowedClauses_OMPD_parallel_do_simd,
3368 llvm::omp::allowedOnceClauses_OMPD_parallel_do_simd,
3369 llvm::omp::allowedExclusiveClauses_OMPD_parallel_do_simd,
3370 llvm::omp::requiredClauses_OMPD_parallel_do_simd,
3371 }
3372 },
3373 {llvm::omp::Directive::OMPD_parallel_for,
3374 {
3375 llvm::omp::allowedClauses_OMPD_parallel_for,
3376 llvm::omp::allowedOnceClauses_OMPD_parallel_for,
3377 llvm::omp::allowedExclusiveClauses_OMPD_parallel_for,
3378 llvm::omp::requiredClauses_OMPD_parallel_for,
3379 }
3380 },
3381 {llvm::omp::Directive::OMPD_parallel_for_simd,
3382 {
3383 llvm::omp::allowedClauses_OMPD_parallel_for_simd,
3384 llvm::omp::allowedOnceClauses_OMPD_parallel_for_simd,
3385 llvm::omp::allowedExclusiveClauses_OMPD_parallel_for_simd,
3386 llvm::omp::requiredClauses_OMPD_parallel_for_simd,
3387 }
3388 },
3389 {llvm::omp::Directive::OMPD_parallel_masked,
3390 {
3391 llvm::omp::allowedClauses_OMPD_parallel_masked,
3392 llvm::omp::allowedOnceClauses_OMPD_parallel_masked,
3393 llvm::omp::allowedExclusiveClauses_OMPD_parallel_masked,
3394 llvm::omp::requiredClauses_OMPD_parallel_masked,
3395 }
3396 },
3397 {llvm::omp::Directive::OMPD_parallel_masked_taskloop,
3398 {
3399 llvm::omp::allowedClauses_OMPD_parallel_masked_taskloop,
3400 llvm::omp::allowedOnceClauses_OMPD_parallel_masked_taskloop,
3401 llvm::omp::allowedExclusiveClauses_OMPD_parallel_masked_taskloop,
3402 llvm::omp::requiredClauses_OMPD_parallel_masked_taskloop,
3403 }
3404 },
3405 {llvm::omp::Directive::OMPD_parallel_masked_taskloop_simd,
3406 {
3407 llvm::omp::allowedClauses_OMPD_parallel_masked_taskloop_simd,
3408 llvm::omp::allowedOnceClauses_OMPD_parallel_masked_taskloop_simd,
3409 llvm::omp::allowedExclusiveClauses_OMPD_parallel_masked_taskloop_simd,
3410 llvm::omp::requiredClauses_OMPD_parallel_masked_taskloop_simd,
3411 }
3412 },
3413 {llvm::omp::Directive::OMPD_parallel_master,
3414 {
3415 llvm::omp::allowedClauses_OMPD_parallel_master,
3416 llvm::omp::allowedOnceClauses_OMPD_parallel_master,
3417 llvm::omp::allowedExclusiveClauses_OMPD_parallel_master,
3418 llvm::omp::requiredClauses_OMPD_parallel_master,
3419 }
3420 },
3421 {llvm::omp::Directive::OMPD_parallel_master_taskloop,
3422 {
3423 llvm::omp::allowedClauses_OMPD_parallel_master_taskloop,
3424 llvm::omp::allowedOnceClauses_OMPD_parallel_master_taskloop,
3425 llvm::omp::allowedExclusiveClauses_OMPD_parallel_master_taskloop,
3426 llvm::omp::requiredClauses_OMPD_parallel_master_taskloop,
3427 }
3428 },
3429 {llvm::omp::Directive::OMPD_parallel_master_taskloop_simd,
3430 {
3431 llvm::omp::allowedClauses_OMPD_parallel_master_taskloop_simd,
3432 llvm::omp::allowedOnceClauses_OMPD_parallel_master_taskloop_simd,
3433 llvm::omp::allowedExclusiveClauses_OMPD_parallel_master_taskloop_simd,
3434 llvm::omp::requiredClauses_OMPD_parallel_master_taskloop_simd,
3435 }
3436 },
3437 {llvm::omp::Directive::OMPD_parallel_sections,
3438 {
3439 llvm::omp::allowedClauses_OMPD_parallel_sections,
3440 llvm::omp::allowedOnceClauses_OMPD_parallel_sections,
3441 llvm::omp::allowedExclusiveClauses_OMPD_parallel_sections,
3442 llvm::omp::requiredClauses_OMPD_parallel_sections,
3443 }
3444 },
3445 {llvm::omp::Directive::OMPD_parallel_workshare,
3446 {
3447 llvm::omp::allowedClauses_OMPD_parallel_workshare,
3448 llvm::omp::allowedOnceClauses_OMPD_parallel_workshare,
3449 llvm::omp::allowedExclusiveClauses_OMPD_parallel_workshare,
3450 llvm::omp::requiredClauses_OMPD_parallel_workshare,
3451 }
3452 },
3453 {llvm::omp::Directive::OMPD_requires,
3454 {
3455 llvm::omp::allowedClauses_OMPD_requires,
3456 llvm::omp::allowedOnceClauses_OMPD_requires,
3457 llvm::omp::allowedExclusiveClauses_OMPD_requires,
3458 llvm::omp::requiredClauses_OMPD_requires,
3459 }
3460 },
3461 {llvm::omp::Directive::OMPD_reverse,
3462 {
3463 llvm::omp::allowedClauses_OMPD_reverse,
3464 llvm::omp::allowedOnceClauses_OMPD_reverse,
3465 llvm::omp::allowedExclusiveClauses_OMPD_reverse,
3466 llvm::omp::requiredClauses_OMPD_reverse,
3467 }
3468 },
3469 {llvm::omp::Directive::OMPD_scan,
3470 {
3471 llvm::omp::allowedClauses_OMPD_scan,
3472 llvm::omp::allowedOnceClauses_OMPD_scan,
3473 llvm::omp::allowedExclusiveClauses_OMPD_scan,
3474 llvm::omp::requiredClauses_OMPD_scan,
3475 }
3476 },
3477 {llvm::omp::Directive::OMPD_scope,
3478 {
3479 llvm::omp::allowedClauses_OMPD_scope,
3480 llvm::omp::allowedOnceClauses_OMPD_scope,
3481 llvm::omp::allowedExclusiveClauses_OMPD_scope,
3482 llvm::omp::requiredClauses_OMPD_scope,
3483 }
3484 },
3485 {llvm::omp::Directive::OMPD_section,
3486 {
3487 llvm::omp::allowedClauses_OMPD_section,
3488 llvm::omp::allowedOnceClauses_OMPD_section,
3489 llvm::omp::allowedExclusiveClauses_OMPD_section,
3490 llvm::omp::requiredClauses_OMPD_section,
3491 }
3492 },
3493 {llvm::omp::Directive::OMPD_sections,
3494 {
3495 llvm::omp::allowedClauses_OMPD_sections,
3496 llvm::omp::allowedOnceClauses_OMPD_sections,
3497 llvm::omp::allowedExclusiveClauses_OMPD_sections,
3498 llvm::omp::requiredClauses_OMPD_sections,
3499 }
3500 },
3501 {llvm::omp::Directive::OMPD_simd,
3502 {
3503 llvm::omp::allowedClauses_OMPD_simd,
3504 llvm::omp::allowedOnceClauses_OMPD_simd,
3505 llvm::omp::allowedExclusiveClauses_OMPD_simd,
3506 llvm::omp::requiredClauses_OMPD_simd,
3507 }
3508 },
3509 {llvm::omp::Directive::OMPD_single,
3510 {
3511 llvm::omp::allowedClauses_OMPD_single,
3512 llvm::omp::allowedOnceClauses_OMPD_single,
3513 llvm::omp::allowedExclusiveClauses_OMPD_single,
3514 llvm::omp::requiredClauses_OMPD_single,
3515 }
3516 },
3517 {llvm::omp::Directive::OMPD_split,
3518 {
3519 llvm::omp::allowedClauses_OMPD_split,
3520 llvm::omp::allowedOnceClauses_OMPD_split,
3521 llvm::omp::allowedExclusiveClauses_OMPD_split,
3522 llvm::omp::requiredClauses_OMPD_split,
3523 }
3524 },
3525 {llvm::omp::Directive::OMPD_stripe,
3526 {
3527 llvm::omp::allowedClauses_OMPD_stripe,
3528 llvm::omp::allowedOnceClauses_OMPD_stripe,
3529 llvm::omp::allowedExclusiveClauses_OMPD_stripe,
3530 llvm::omp::requiredClauses_OMPD_stripe,
3531 }
3532 },
3533 {llvm::omp::Directive::OMPD_target,
3534 {
3535 llvm::omp::allowedClauses_OMPD_target,
3536 llvm::omp::allowedOnceClauses_OMPD_target,
3537 llvm::omp::allowedExclusiveClauses_OMPD_target,
3538 llvm::omp::requiredClauses_OMPD_target,
3539 }
3540 },
3541 {llvm::omp::Directive::OMPD_target_data,
3542 {
3543 llvm::omp::allowedClauses_OMPD_target_data,
3544 llvm::omp::allowedOnceClauses_OMPD_target_data,
3545 llvm::omp::allowedExclusiveClauses_OMPD_target_data,
3546 llvm::omp::requiredClauses_OMPD_target_data,
3547 }
3548 },
3549 {llvm::omp::Directive::OMPD_target_enter_data,
3550 {
3551 llvm::omp::allowedClauses_OMPD_target_enter_data,
3552 llvm::omp::allowedOnceClauses_OMPD_target_enter_data,
3553 llvm::omp::allowedExclusiveClauses_OMPD_target_enter_data,
3554 llvm::omp::requiredClauses_OMPD_target_enter_data,
3555 }
3556 },
3557 {llvm::omp::Directive::OMPD_target_exit_data,
3558 {
3559 llvm::omp::allowedClauses_OMPD_target_exit_data,
3560 llvm::omp::allowedOnceClauses_OMPD_target_exit_data,
3561 llvm::omp::allowedExclusiveClauses_OMPD_target_exit_data,
3562 llvm::omp::requiredClauses_OMPD_target_exit_data,
3563 }
3564 },
3565 {llvm::omp::Directive::OMPD_target_parallel,
3566 {
3567 llvm::omp::allowedClauses_OMPD_target_parallel,
3568 llvm::omp::allowedOnceClauses_OMPD_target_parallel,
3569 llvm::omp::allowedExclusiveClauses_OMPD_target_parallel,
3570 llvm::omp::requiredClauses_OMPD_target_parallel,
3571 }
3572 },
3573 {llvm::omp::Directive::OMPD_target_parallel_do,
3574 {
3575 llvm::omp::allowedClauses_OMPD_target_parallel_do,
3576 llvm::omp::allowedOnceClauses_OMPD_target_parallel_do,
3577 llvm::omp::allowedExclusiveClauses_OMPD_target_parallel_do,
3578 llvm::omp::requiredClauses_OMPD_target_parallel_do,
3579 }
3580 },
3581 {llvm::omp::Directive::OMPD_target_parallel_do_simd,
3582 {
3583 llvm::omp::allowedClauses_OMPD_target_parallel_do_simd,
3584 llvm::omp::allowedOnceClauses_OMPD_target_parallel_do_simd,
3585 llvm::omp::allowedExclusiveClauses_OMPD_target_parallel_do_simd,
3586 llvm::omp::requiredClauses_OMPD_target_parallel_do_simd,
3587 }
3588 },
3589 {llvm::omp::Directive::OMPD_target_parallel_for,
3590 {
3591 llvm::omp::allowedClauses_OMPD_target_parallel_for,
3592 llvm::omp::allowedOnceClauses_OMPD_target_parallel_for,
3593 llvm::omp::allowedExclusiveClauses_OMPD_target_parallel_for,
3594 llvm::omp::requiredClauses_OMPD_target_parallel_for,
3595 }
3596 },
3597 {llvm::omp::Directive::OMPD_target_parallel_for_simd,
3598 {
3599 llvm::omp::allowedClauses_OMPD_target_parallel_for_simd,
3600 llvm::omp::allowedOnceClauses_OMPD_target_parallel_for_simd,
3601 llvm::omp::allowedExclusiveClauses_OMPD_target_parallel_for_simd,
3602 llvm::omp::requiredClauses_OMPD_target_parallel_for_simd,
3603 }
3604 },
3605 {llvm::omp::Directive::OMPD_target_simd,
3606 {
3607 llvm::omp::allowedClauses_OMPD_target_simd,
3608 llvm::omp::allowedOnceClauses_OMPD_target_simd,
3609 llvm::omp::allowedExclusiveClauses_OMPD_target_simd,
3610 llvm::omp::requiredClauses_OMPD_target_simd,
3611 }
3612 },
3613 {llvm::omp::Directive::OMPD_target_teams,
3614 {
3615 llvm::omp::allowedClauses_OMPD_target_teams,
3616 llvm::omp::allowedOnceClauses_OMPD_target_teams,
3617 llvm::omp::allowedExclusiveClauses_OMPD_target_teams,
3618 llvm::omp::requiredClauses_OMPD_target_teams,
3619 }
3620 },
3621 {llvm::omp::Directive::OMPD_target_teams_distribute,
3622 {
3623 llvm::omp::allowedClauses_OMPD_target_teams_distribute,
3624 llvm::omp::allowedOnceClauses_OMPD_target_teams_distribute,
3625 llvm::omp::allowedExclusiveClauses_OMPD_target_teams_distribute,
3626 llvm::omp::requiredClauses_OMPD_target_teams_distribute,
3627 }
3628 },
3629 {llvm::omp::Directive::OMPD_target_teams_distribute_parallel_do,
3630 {
3631 llvm::omp::allowedClauses_OMPD_target_teams_distribute_parallel_do,
3632 llvm::omp::allowedOnceClauses_OMPD_target_teams_distribute_parallel_do,
3633 llvm::omp::allowedExclusiveClauses_OMPD_target_teams_distribute_parallel_do,
3634 llvm::omp::requiredClauses_OMPD_target_teams_distribute_parallel_do,
3635 }
3636 },
3637 {llvm::omp::Directive::OMPD_target_teams_distribute_parallel_do_simd,
3638 {
3639 llvm::omp::allowedClauses_OMPD_target_teams_distribute_parallel_do_simd,
3640 llvm::omp::allowedOnceClauses_OMPD_target_teams_distribute_parallel_do_simd,
3641 llvm::omp::allowedExclusiveClauses_OMPD_target_teams_distribute_parallel_do_simd,
3642 llvm::omp::requiredClauses_OMPD_target_teams_distribute_parallel_do_simd,
3643 }
3644 },
3645 {llvm::omp::Directive::OMPD_target_teams_distribute_parallel_for,
3646 {
3647 llvm::omp::allowedClauses_OMPD_target_teams_distribute_parallel_for,
3648 llvm::omp::allowedOnceClauses_OMPD_target_teams_distribute_parallel_for,
3649 llvm::omp::allowedExclusiveClauses_OMPD_target_teams_distribute_parallel_for,
3650 llvm::omp::requiredClauses_OMPD_target_teams_distribute_parallel_for,
3651 }
3652 },
3653 {llvm::omp::Directive::OMPD_target_teams_distribute_parallel_for_simd,
3654 {
3655 llvm::omp::allowedClauses_OMPD_target_teams_distribute_parallel_for_simd,
3656 llvm::omp::allowedOnceClauses_OMPD_target_teams_distribute_parallel_for_simd,
3657 llvm::omp::allowedExclusiveClauses_OMPD_target_teams_distribute_parallel_for_simd,
3658 llvm::omp::requiredClauses_OMPD_target_teams_distribute_parallel_for_simd,
3659 }
3660 },
3661 {llvm::omp::Directive::OMPD_target_teams_distribute_simd,
3662 {
3663 llvm::omp::allowedClauses_OMPD_target_teams_distribute_simd,
3664 llvm::omp::allowedOnceClauses_OMPD_target_teams_distribute_simd,
3665 llvm::omp::allowedExclusiveClauses_OMPD_target_teams_distribute_simd,
3666 llvm::omp::requiredClauses_OMPD_target_teams_distribute_simd,
3667 }
3668 },
3669 {llvm::omp::Directive::OMPD_target_teams_workdistribute,
3670 {
3671 llvm::omp::allowedClauses_OMPD_target_teams_workdistribute,
3672 llvm::omp::allowedOnceClauses_OMPD_target_teams_workdistribute,
3673 llvm::omp::allowedExclusiveClauses_OMPD_target_teams_workdistribute,
3674 llvm::omp::requiredClauses_OMPD_target_teams_workdistribute,
3675 }
3676 },
3677 {llvm::omp::Directive::OMPD_target_update,
3678 {
3679 llvm::omp::allowedClauses_OMPD_target_update,
3680 llvm::omp::allowedOnceClauses_OMPD_target_update,
3681 llvm::omp::allowedExclusiveClauses_OMPD_target_update,
3682 llvm::omp::requiredClauses_OMPD_target_update,
3683 }
3684 },
3685 {llvm::omp::Directive::OMPD_task,
3686 {
3687 llvm::omp::allowedClauses_OMPD_task,
3688 llvm::omp::allowedOnceClauses_OMPD_task,
3689 llvm::omp::allowedExclusiveClauses_OMPD_task,
3690 llvm::omp::requiredClauses_OMPD_task,
3691 }
3692 },
3693 {llvm::omp::Directive::OMPD_taskgroup,
3694 {
3695 llvm::omp::allowedClauses_OMPD_taskgroup,
3696 llvm::omp::allowedOnceClauses_OMPD_taskgroup,
3697 llvm::omp::allowedExclusiveClauses_OMPD_taskgroup,
3698 llvm::omp::requiredClauses_OMPD_taskgroup,
3699 }
3700 },
3701 {llvm::omp::Directive::OMPD_taskloop,
3702 {
3703 llvm::omp::allowedClauses_OMPD_taskloop,
3704 llvm::omp::allowedOnceClauses_OMPD_taskloop,
3705 llvm::omp::allowedExclusiveClauses_OMPD_taskloop,
3706 llvm::omp::requiredClauses_OMPD_taskloop,
3707 }
3708 },
3709 {llvm::omp::Directive::OMPD_taskloop_simd,
3710 {
3711 llvm::omp::allowedClauses_OMPD_taskloop_simd,
3712 llvm::omp::allowedOnceClauses_OMPD_taskloop_simd,
3713 llvm::omp::allowedExclusiveClauses_OMPD_taskloop_simd,
3714 llvm::omp::requiredClauses_OMPD_taskloop_simd,
3715 }
3716 },
3717 {llvm::omp::Directive::OMPD_taskwait,
3718 {
3719 llvm::omp::allowedClauses_OMPD_taskwait,
3720 llvm::omp::allowedOnceClauses_OMPD_taskwait,
3721 llvm::omp::allowedExclusiveClauses_OMPD_taskwait,
3722 llvm::omp::requiredClauses_OMPD_taskwait,
3723 }
3724 },
3725 {llvm::omp::Directive::OMPD_taskyield,
3726 {
3727 llvm::omp::allowedClauses_OMPD_taskyield,
3728 llvm::omp::allowedOnceClauses_OMPD_taskyield,
3729 llvm::omp::allowedExclusiveClauses_OMPD_taskyield,
3730 llvm::omp::requiredClauses_OMPD_taskyield,
3731 }
3732 },
3733 {llvm::omp::Directive::OMPD_taskgraph,
3734 {
3735 llvm::omp::allowedClauses_OMPD_taskgraph,
3736 llvm::omp::allowedOnceClauses_OMPD_taskgraph,
3737 llvm::omp::allowedExclusiveClauses_OMPD_taskgraph,
3738 llvm::omp::requiredClauses_OMPD_taskgraph,
3739 }
3740 },
3741 {llvm::omp::Directive::OMPD_teams,
3742 {
3743 llvm::omp::allowedClauses_OMPD_teams,
3744 llvm::omp::allowedOnceClauses_OMPD_teams,
3745 llvm::omp::allowedExclusiveClauses_OMPD_teams,
3746 llvm::omp::requiredClauses_OMPD_teams,
3747 }
3748 },
3749 {llvm::omp::Directive::OMPD_teams_distribute,
3750 {
3751 llvm::omp::allowedClauses_OMPD_teams_distribute,
3752 llvm::omp::allowedOnceClauses_OMPD_teams_distribute,
3753 llvm::omp::allowedExclusiveClauses_OMPD_teams_distribute,
3754 llvm::omp::requiredClauses_OMPD_teams_distribute,
3755 }
3756 },
3757 {llvm::omp::Directive::OMPD_teams_distribute_parallel_do,
3758 {
3759 llvm::omp::allowedClauses_OMPD_teams_distribute_parallel_do,
3760 llvm::omp::allowedOnceClauses_OMPD_teams_distribute_parallel_do,
3761 llvm::omp::allowedExclusiveClauses_OMPD_teams_distribute_parallel_do,
3762 llvm::omp::requiredClauses_OMPD_teams_distribute_parallel_do,
3763 }
3764 },
3765 {llvm::omp::Directive::OMPD_teams_distribute_parallel_do_simd,
3766 {
3767 llvm::omp::allowedClauses_OMPD_teams_distribute_parallel_do_simd,
3768 llvm::omp::allowedOnceClauses_OMPD_teams_distribute_parallel_do_simd,
3769 llvm::omp::allowedExclusiveClauses_OMPD_teams_distribute_parallel_do_simd,
3770 llvm::omp::requiredClauses_OMPD_teams_distribute_parallel_do_simd,
3771 }
3772 },
3773 {llvm::omp::Directive::OMPD_teams_distribute_parallel_for,
3774 {
3775 llvm::omp::allowedClauses_OMPD_teams_distribute_parallel_for,
3776 llvm::omp::allowedOnceClauses_OMPD_teams_distribute_parallel_for,
3777 llvm::omp::allowedExclusiveClauses_OMPD_teams_distribute_parallel_for,
3778 llvm::omp::requiredClauses_OMPD_teams_distribute_parallel_for,
3779 }
3780 },
3781 {llvm::omp::Directive::OMPD_teams_distribute_parallel_for_simd,
3782 {
3783 llvm::omp::allowedClauses_OMPD_teams_distribute_parallel_for_simd,
3784 llvm::omp::allowedOnceClauses_OMPD_teams_distribute_parallel_for_simd,
3785 llvm::omp::allowedExclusiveClauses_OMPD_teams_distribute_parallel_for_simd,
3786 llvm::omp::requiredClauses_OMPD_teams_distribute_parallel_for_simd,
3787 }
3788 },
3789 {llvm::omp::Directive::OMPD_teams_distribute_simd,
3790 {
3791 llvm::omp::allowedClauses_OMPD_teams_distribute_simd,
3792 llvm::omp::allowedOnceClauses_OMPD_teams_distribute_simd,
3793 llvm::omp::allowedExclusiveClauses_OMPD_teams_distribute_simd,
3794 llvm::omp::requiredClauses_OMPD_teams_distribute_simd,
3795 }
3796 },
3797 {llvm::omp::Directive::OMPD_teams_workdistribute,
3798 {
3799 llvm::omp::allowedClauses_OMPD_teams_workdistribute,
3800 llvm::omp::allowedOnceClauses_OMPD_teams_workdistribute,
3801 llvm::omp::allowedExclusiveClauses_OMPD_teams_workdistribute,
3802 llvm::omp::requiredClauses_OMPD_teams_workdistribute,
3803 }
3804 },
3805 {llvm::omp::Directive::OMPD_threadprivate,
3806 {
3807 llvm::omp::allowedClauses_OMPD_threadprivate,
3808 llvm::omp::allowedOnceClauses_OMPD_threadprivate,
3809 llvm::omp::allowedExclusiveClauses_OMPD_threadprivate,
3810 llvm::omp::requiredClauses_OMPD_threadprivate,
3811 }
3812 },
3813 {llvm::omp::Directive::OMPD_tile,
3814 {
3815 llvm::omp::allowedClauses_OMPD_tile,
3816 llvm::omp::allowedOnceClauses_OMPD_tile,
3817 llvm::omp::allowedExclusiveClauses_OMPD_tile,
3818 llvm::omp::requiredClauses_OMPD_tile,
3819 }
3820 },
3821 {llvm::omp::Directive::OMPD_unknown,
3822 {
3823 llvm::omp::allowedClauses_OMPD_unknown,
3824 llvm::omp::allowedOnceClauses_OMPD_unknown,
3825 llvm::omp::allowedExclusiveClauses_OMPD_unknown,
3826 llvm::omp::requiredClauses_OMPD_unknown,
3827 }
3828 },
3829 {llvm::omp::Directive::OMPD_unroll,
3830 {
3831 llvm::omp::allowedClauses_OMPD_unroll,
3832 llvm::omp::allowedOnceClauses_OMPD_unroll,
3833 llvm::omp::allowedExclusiveClauses_OMPD_unroll,
3834 llvm::omp::requiredClauses_OMPD_unroll,
3835 }
3836 },
3837 {llvm::omp::Directive::OMPD_workdistribute,
3838 {
3839 llvm::omp::allowedClauses_OMPD_workdistribute,
3840 llvm::omp::allowedOnceClauses_OMPD_workdistribute,
3841 llvm::omp::allowedExclusiveClauses_OMPD_workdistribute,
3842 llvm::omp::requiredClauses_OMPD_workdistribute,
3843 }
3844 },
3845 {llvm::omp::Directive::OMPD_workshare,
3846 {
3847 llvm::omp::allowedClauses_OMPD_workshare,
3848 llvm::omp::allowedOnceClauses_OMPD_workshare,
3849 llvm::omp::allowedExclusiveClauses_OMPD_workshare,
3850 llvm::omp::requiredClauses_OMPD_workshare,
3851 }
3852 },
3853 {llvm::omp::Directive::OMPD_dispatch,
3854 {
3855 llvm::omp::allowedClauses_OMPD_dispatch,
3856 llvm::omp::allowedOnceClauses_OMPD_dispatch,
3857 llvm::omp::allowedExclusiveClauses_OMPD_dispatch,
3858 llvm::omp::requiredClauses_OMPD_dispatch,
3859 }
3860 },
3861 {llvm::omp::Directive::OMPD_interop,
3862 {
3863 llvm::omp::allowedClauses_OMPD_interop,
3864 llvm::omp::allowedOnceClauses_OMPD_interop,
3865 llvm::omp::allowedExclusiveClauses_OMPD_interop,
3866 llvm::omp::requiredClauses_OMPD_interop,
3867 }
3868 },
3869 {llvm::omp::Directive::OMPD_loop,
3870 {
3871 llvm::omp::allowedClauses_OMPD_loop,
3872 llvm::omp::allowedOnceClauses_OMPD_loop,
3873 llvm::omp::allowedExclusiveClauses_OMPD_loop,
3874 llvm::omp::requiredClauses_OMPD_loop,
3875 }
3876 },
3877 {llvm::omp::Directive::OMPD_masked,
3878 {
3879 llvm::omp::allowedClauses_OMPD_masked,
3880 llvm::omp::allowedOnceClauses_OMPD_masked,
3881 llvm::omp::allowedExclusiveClauses_OMPD_masked,
3882 llvm::omp::requiredClauses_OMPD_masked,
3883 }
3884 },
3885 {llvm::omp::Directive::OMPD_parallel_loop,
3886 {
3887 llvm::omp::allowedClauses_OMPD_parallel_loop,
3888 llvm::omp::allowedOnceClauses_OMPD_parallel_loop,
3889 llvm::omp::allowedExclusiveClauses_OMPD_parallel_loop,
3890 llvm::omp::requiredClauses_OMPD_parallel_loop,
3891 }
3892 },
3893 {llvm::omp::Directive::OMPD_target_loop,
3894 {
3895 llvm::omp::allowedClauses_OMPD_target_loop,
3896 llvm::omp::allowedOnceClauses_OMPD_target_loop,
3897 llvm::omp::allowedExclusiveClauses_OMPD_target_loop,
3898 llvm::omp::requiredClauses_OMPD_target_loop,
3899 }
3900 },
3901 {llvm::omp::Directive::OMPD_target_parallel_loop,
3902 {
3903 llvm::omp::allowedClauses_OMPD_target_parallel_loop,
3904 llvm::omp::allowedOnceClauses_OMPD_target_parallel_loop,
3905 llvm::omp::allowedExclusiveClauses_OMPD_target_parallel_loop,
3906 llvm::omp::requiredClauses_OMPD_target_parallel_loop,
3907 }
3908 },
3909 {llvm::omp::Directive::OMPD_target_teams_loop,
3910 {
3911 llvm::omp::allowedClauses_OMPD_target_teams_loop,
3912 llvm::omp::allowedOnceClauses_OMPD_target_teams_loop,
3913 llvm::omp::allowedExclusiveClauses_OMPD_target_teams_loop,
3914 llvm::omp::requiredClauses_OMPD_target_teams_loop,
3915 }
3916 },
3917 {llvm::omp::Directive::OMPD_teams_loop,
3918 {
3919 llvm::omp::allowedClauses_OMPD_teams_loop,
3920 llvm::omp::allowedOnceClauses_OMPD_teams_loop,
3921 llvm::omp::allowedExclusiveClauses_OMPD_teams_loop,
3922 llvm::omp::requiredClauses_OMPD_teams_loop,
3923 }
3924 },
3925}
3926
3927#endif // GEN_FLANG_DIRECTIVE_CLAUSE_MAP
3928
3929#ifdef GEN_FLANG_CLAUSE_PARSER_CLASSES
3930#undef GEN_FLANG_CLAUSE_PARSER_CLASSES
3931
3932WRAPPER_CLASS(Absent, OmpAbsentClause);
3933EMPTY_CLASS(AcqRel);
3934EMPTY_CLASS(Acquire);
3935WRAPPER_CLASS(AdjustArgs, OmpAdjustArgsClause);
3936WRAPPER_CLASS(Affinity, OmpAffinityClause);
3937WRAPPER_CLASS(Align, OmpAlignClause);
3938WRAPPER_CLASS(Aligned, OmpAlignedClause);
3939WRAPPER_CLASS(Allocate, OmpAllocateClause);
3940WRAPPER_CLASS(Allocator, ScalarIntExpr);
3941WRAPPER_CLASS(AppendArgs, OmpAppendArgsClause);
3942WRAPPER_CLASS(Apply, OmpApplyClause);
3943WRAPPER_CLASS(At, OmpAtClause);
3944WRAPPER_CLASS(AtomicDefaultMemOrder, OmpAtomicDefaultMemOrderClause);
3945WRAPPER_CLASS(Bind, OmpBindClause);
3946WRAPPER_CLASS(CancellationConstructType, OmpCancellationConstructTypeClause);
3947EMPTY_CLASS(Capture);
3948WRAPPER_CLASS(Collapse, ScalarIntConstantExpr);
3949EMPTY_CLASS(Collector);
3950WRAPPER_CLASS(Combiner, OmpCombinerClause);
3951EMPTY_CLASS(Compare);
3952WRAPPER_CLASS(Contains, OmpContainsClause);
3953WRAPPER_CLASS(Copyprivate, OmpObjectList);
3954WRAPPER_CLASS(Copyin, OmpObjectList);
3955EMPTY_CLASS(Counts);
3956WRAPPER_CLASS(Default, OmpDefaultClause);
3957WRAPPER_CLASS(Defaultmap, OmpDefaultmapClause);
3958WRAPPER_CLASS(DefaultVariant, OmpDefaultVariantClause);
3959WRAPPER_CLASS(Depend, OmpDependClause);
3960EMPTY_CLASS(Depobj);
3961WRAPPER_CLASS(Depth, ScalarIntConstantExpr);
3962WRAPPER_CLASS(Destroy, std::optional<OmpDestroyClause>);
3963WRAPPER_CLASS(Detach, OmpDetachClause);
3964WRAPPER_CLASS(Device, OmpDeviceClause);
3965WRAPPER_CLASS(DeviceSafesync, std::optional<OmpDeviceSafesyncClause>);
3966WRAPPER_CLASS(DeviceType, OmpDeviceTypeClause);
3967WRAPPER_CLASS(DistSchedule, std::optional<ScalarIntExpr>);
3968WRAPPER_CLASS(Doacross, OmpDoacrossClause);
3969WRAPPER_CLASS(DynGroupprivate, OmpDynGroupprivateClause);
3970WRAPPER_CLASS(DynamicAllocators, std::optional<OmpDynamicAllocatorsClause>);
3971WRAPPER_CLASS(Enter, OmpEnterClause);
3972WRAPPER_CLASS(Exclusive, OmpObjectList);
3973WRAPPER_CLASS(Fail, OmpFailClause);
3974WRAPPER_CLASS(Filter, ScalarIntExpr);
3975WRAPPER_CLASS(Final, ScalarLogicalExpr);
3976WRAPPER_CLASS(Firstprivate, OmpObjectList);
3977EMPTY_CLASS(Flush);
3978WRAPPER_CLASS(From, OmpFromClause);
3979EMPTY_CLASS(Full);
3980WRAPPER_CLASS(Grainsize, OmpGrainsizeClause);
3981WRAPPER_CLASS(GraphId, OmpGraphIdClause);
3982WRAPPER_CLASS(GraphReset, std::optional<OmpGraphResetClause>);
3983EMPTY_CLASS(Groupprivate);
3984WRAPPER_CLASS(HasDeviceAddr, OmpObjectList);
3985WRAPPER_CLASS(Hint, OmpHintClause);
3986WRAPPER_CLASS(Holds, OmpHoldsClause);
3987WRAPPER_CLASS(If, OmpIfClause);
3988WRAPPER_CLASS(InReduction, OmpInReductionClause);
3989EMPTY_CLASS(Inbranch);
3990WRAPPER_CLASS(Inclusive, OmpObjectList);
3991WRAPPER_CLASS(Indirect, OmpIndirectClause);
3992EMPTY_CLASS(Induction);
3993EMPTY_CLASS(Inductor);
3994WRAPPER_CLASS(Init, OmpInitClause);
3995EMPTY_CLASS(InitComplete);
3996WRAPPER_CLASS(Initializer, OmpInitializerClause);
3997EMPTY_CLASS(Interop);
3998WRAPPER_CLASS(IsDevicePtr, OmpObjectList);
3999WRAPPER_CLASS(Lastprivate, OmpLastprivateClause);
4000WRAPPER_CLASS(Linear, OmpLinearClause);
4001WRAPPER_CLASS(Link, OmpObjectList);
4002EMPTY_CLASS(Local);
4003WRAPPER_CLASS(Looprange, OmpLooprangeClause);
4004WRAPPER_CLASS(Map, OmpMapClause);
4005WRAPPER_CLASS(Match, OmpMatchClause);
4006EMPTY_CLASS(MemoryOrder);
4007EMPTY_CLASS(Memscope);
4008EMPTY_CLASS(Mergeable);
4009WRAPPER_CLASS(Message, OmpMessageClause);
4010EMPTY_CLASS(Nogroup);
4011EMPTY_CLASS(NoOpenmp);
4012EMPTY_CLASS(NoOpenmpConstructs);
4013EMPTY_CLASS(NoOpenmpRoutines);
4014EMPTY_CLASS(NoParallelism);
4015EMPTY_CLASS(Nowait);
4016WRAPPER_CLASS(Nocontext, ScalarLogicalExpr);
4017WRAPPER_CLASS(Nontemporal, OmpObjectList);
4018EMPTY_CLASS(Notinbranch);
4019WRAPPER_CLASS(Novariants, ScalarLogicalExpr);
4020WRAPPER_CLASS(NumTasks, OmpNumTasksClause);
4021WRAPPER_CLASS(NumTeams, OmpNumTeamsClause);
4022WRAPPER_CLASS(NumThreads, OmpNumThreadsClause);
4023EMPTY_CLASS(OmpxAttribute);
4024EMPTY_CLASS(OmpxBare);
4025WRAPPER_CLASS(OmpxDynCgroupMem, ScalarIntExpr);
4026WRAPPER_CLASS(Order, OmpOrderClause);
4027WRAPPER_CLASS(Ordered, std::optional<ScalarIntConstantExpr>);
4028WRAPPER_CLASS(Otherwise, std::optional<OmpOtherwiseClause>);
4029WRAPPER_CLASS(Partial, std::optional<ScalarIntConstantExpr>);
4030WRAPPER_CLASS(Permutation, std::list<ScalarIntConstantExpr>);
4031WRAPPER_CLASS(Priority, ScalarIntExpr);
4032WRAPPER_CLASS(Private, OmpObjectList);
4033WRAPPER_CLASS(ProcBind, OmpProcBindClause);
4034EMPTY_CLASS(Read);
4035WRAPPER_CLASS(Reduction, OmpReductionClause);
4036EMPTY_CLASS(Relaxed);
4037EMPTY_CLASS(Release);
4038WRAPPER_CLASS(Replayable, std::optional<OmpReplayableClause>);
4039WRAPPER_CLASS(ReverseOffload, std::optional<OmpReverseOffloadClause>);
4040WRAPPER_CLASS(Safelen, ScalarIntConstantExpr);
4041EMPTY_CLASS(Safesync);
4042WRAPPER_CLASS(Schedule, OmpScheduleClause);
4043WRAPPER_CLASS(SelfMaps, std::optional<OmpSelfMapsClause>);
4044EMPTY_CLASS(SeqCst);
4045WRAPPER_CLASS(Severity, OmpSeverityClause);
4046WRAPPER_CLASS(Shared, OmpObjectList);
4047EMPTY_CLASS(Simd);
4048WRAPPER_CLASS(Simdlen, ScalarIntConstantExpr);
4049WRAPPER_CLASS(Sizes, std::list<ScalarIntExpr>);
4050WRAPPER_CLASS(TaskReduction, OmpTaskReductionClause);
4051WRAPPER_CLASS(ThreadLimit, OmpThreadLimitClause);
4052EMPTY_CLASS(Threadprivate);
4053EMPTY_CLASS(Threads);
4054WRAPPER_CLASS(Threadset, OmpThreadsetClause);
4055WRAPPER_CLASS(To, OmpToClause);
4056WRAPPER_CLASS(Transparent, std::optional<OmpTransparentClause>);
4057WRAPPER_CLASS(UnifiedAddress, std::optional<OmpUnifiedAddressClause>);
4058WRAPPER_CLASS(UnifiedSharedMemory, std::optional<OmpUnifiedSharedMemoryClause>);
4059WRAPPER_CLASS(Uniform, std::list<Name>);
4060EMPTY_CLASS(Unknown);
4061EMPTY_CLASS(Untied);
4062EMPTY_CLASS(Update);
4063WRAPPER_CLASS(UpdateDependObjects, OmpUpdateDependObjectsClause);
4064WRAPPER_CLASS(Use, OmpUseClause);
4065WRAPPER_CLASS(UseDeviceAddr, OmpObjectList);
4066WRAPPER_CLASS(UseDevicePtr, OmpObjectList);
4067WRAPPER_CLASS(UsesAllocators, OmpUsesAllocatorsClause);
4068EMPTY_CLASS(Weak);
4069WRAPPER_CLASS(When, OmpWhenClause);
4070EMPTY_CLASS(Write);
4071
4072#endif // GEN_FLANG_CLAUSE_PARSER_CLASSES
4073
4074#ifdef GEN_FLANG_CLAUSE_PARSER_CLASSES_LIST
4075#undef GEN_FLANG_CLAUSE_PARSER_CLASSES_LIST
4076
4077Absent
4078, AcqRel
4079, Acquire
4080, AdjustArgs
4081, Affinity
4082, Align
4083, Aligned
4084, Allocate
4085, Allocator
4086, AppendArgs
4087, Apply
4088, At
4089, AtomicDefaultMemOrder
4090, Bind
4091, CancellationConstructType
4092, Capture
4093, Collapse
4094, Collector
4095, Combiner
4096, Compare
4097, Contains
4098, Copyprivate
4099, Copyin
4100, Counts
4101, Default
4102, Defaultmap
4103, DefaultVariant
4104, Depend
4105, Depobj
4106, Depth
4107, Destroy
4108, Detach
4109, Device
4110, DeviceSafesync
4111, DeviceType
4112, DistSchedule
4113, Doacross
4114, DynGroupprivate
4115, DynamicAllocators
4116, Enter
4117, Exclusive
4118, Fail
4119, Filter
4120, Final
4121, Firstprivate
4122, Flush
4123, From
4124, Full
4125, Grainsize
4126, GraphId
4127, GraphReset
4128, Groupprivate
4129, HasDeviceAddr
4130, Hint
4131, Holds
4132, If
4133, InReduction
4134, Inbranch
4135, Inclusive
4136, Indirect
4137, Induction
4138, Inductor
4139, Init
4140, InitComplete
4141, Initializer
4142, Interop
4143, IsDevicePtr
4144, Lastprivate
4145, Linear
4146, Link
4147, Local
4148, Looprange
4149, Map
4150, Match
4151, MemoryOrder
4152, Memscope
4153, Mergeable
4154, Message
4155, Nogroup
4156, NoOpenmp
4157, NoOpenmpConstructs
4158, NoOpenmpRoutines
4159, NoParallelism
4160, Nowait
4161, Nocontext
4162, Nontemporal
4163, Notinbranch
4164, Novariants
4165, NumTasks
4166, NumTeams
4167, NumThreads
4168, OmpxAttribute
4169, OmpxBare
4170, OmpxDynCgroupMem
4171, Order
4172, Ordered
4173, Otherwise
4174, Partial
4175, Permutation
4176, Priority
4177, Private
4178, ProcBind
4179, Read
4180, Reduction
4181, Relaxed
4182, Release
4183, Replayable
4184, ReverseOffload
4185, Safelen
4186, Safesync
4187, Schedule
4188, SelfMaps
4189, SeqCst
4190, Severity
4191, Shared
4192, Simd
4193, Simdlen
4194, Sizes
4195, TaskReduction
4196, ThreadLimit
4197, Threadprivate
4198, Threads
4199, Threadset
4200, To
4201, Transparent
4202, UnifiedAddress
4203, UnifiedSharedMemory
4204, Uniform
4205, Unknown
4206, Untied
4207, Update
4208, UpdateDependObjects
4209, Use
4210, UseDeviceAddr
4211, UseDevicePtr
4212, UsesAllocators
4213, Weak
4214, When
4215, Write
4216
4217#endif // GEN_FLANG_CLAUSE_PARSER_CLASSES_LIST
4218
4219#ifdef GEN_FLANG_DUMP_PARSE_TREE_CLAUSES
4220#undef GEN_FLANG_DUMP_PARSE_TREE_CLAUSES
4221
4222NODE(OmpClause, Absent)
4223NODE(OmpClause, AcqRel)
4224NODE(OmpClause, Acquire)
4225NODE(OmpClause, AdjustArgs)
4226NODE(OmpClause, Affinity)
4227NODE(OmpClause, Align)
4228NODE(OmpClause, Aligned)
4229NODE(OmpClause, Allocate)
4230NODE(OmpClause, Allocator)
4231NODE(OmpClause, AppendArgs)
4232NODE(OmpClause, Apply)
4233NODE(OmpClause, At)
4234NODE(OmpClause, AtomicDefaultMemOrder)
4235NODE(OmpClause, Bind)
4236NODE(OmpClause, CancellationConstructType)
4237NODE(OmpClause, Capture)
4238NODE(OmpClause, Collapse)
4239NODE(OmpClause, Collector)
4240NODE(OmpClause, Combiner)
4241NODE(OmpClause, Compare)
4242NODE(OmpClause, Contains)
4243NODE(OmpClause, Copyprivate)
4244NODE(OmpClause, Copyin)
4245NODE(OmpClause, Counts)
4246NODE(OmpClause, Default)
4247NODE(OmpClause, Defaultmap)
4248NODE(OmpClause, DefaultVariant)
4249NODE(OmpClause, Depend)
4250NODE(OmpClause, Depobj)
4251NODE(OmpClause, Depth)
4252NODE(OmpClause, Destroy)
4253NODE(OmpClause, Detach)
4254NODE(OmpClause, Device)
4255NODE(OmpClause, DeviceSafesync)
4256NODE(OmpClause, DeviceType)
4257NODE(OmpClause, DistSchedule)
4258NODE(OmpClause, Doacross)
4259NODE(OmpClause, DynGroupprivate)
4260NODE(OmpClause, DynamicAllocators)
4261NODE(OmpClause, Enter)
4262NODE(OmpClause, Exclusive)
4263NODE(OmpClause, Fail)
4264NODE(OmpClause, Filter)
4265NODE(OmpClause, Final)
4266NODE(OmpClause, Firstprivate)
4267NODE(OmpClause, Flush)
4268NODE(OmpClause, From)
4269NODE(OmpClause, Full)
4270NODE(OmpClause, Grainsize)
4271NODE(OmpClause, GraphId)
4272NODE(OmpClause, GraphReset)
4273NODE(OmpClause, Groupprivate)
4274NODE(OmpClause, HasDeviceAddr)
4275NODE(OmpClause, Hint)
4276NODE(OmpClause, Holds)
4277NODE(OmpClause, If)
4278NODE(OmpClause, InReduction)
4279NODE(OmpClause, Inbranch)
4280NODE(OmpClause, Inclusive)
4281NODE(OmpClause, Indirect)
4282NODE(OmpClause, Induction)
4283NODE(OmpClause, Inductor)
4284NODE(OmpClause, Init)
4285NODE(OmpClause, InitComplete)
4286NODE(OmpClause, Initializer)
4287NODE(OmpClause, Interop)
4288NODE(OmpClause, IsDevicePtr)
4289NODE(OmpClause, Lastprivate)
4290NODE(OmpClause, Linear)
4291NODE(OmpClause, Link)
4292NODE(OmpClause, Local)
4293NODE(OmpClause, Looprange)
4294NODE(OmpClause, Map)
4295NODE(OmpClause, Match)
4296NODE(OmpClause, MemoryOrder)
4297NODE(OmpClause, Memscope)
4298NODE(OmpClause, Mergeable)
4299NODE(OmpClause, Message)
4300NODE(OmpClause, Nogroup)
4301NODE(OmpClause, NoOpenmp)
4302NODE(OmpClause, NoOpenmpConstructs)
4303NODE(OmpClause, NoOpenmpRoutines)
4304NODE(OmpClause, NoParallelism)
4305NODE(OmpClause, Nowait)
4306NODE(OmpClause, Nocontext)
4307NODE(OmpClause, Nontemporal)
4308NODE(OmpClause, Notinbranch)
4309NODE(OmpClause, Novariants)
4310NODE(OmpClause, NumTasks)
4311NODE(OmpClause, NumTeams)
4312NODE(OmpClause, NumThreads)
4313NODE(OmpClause, OmpxAttribute)
4314NODE(OmpClause, OmpxBare)
4315NODE(OmpClause, OmpxDynCgroupMem)
4316NODE(OmpClause, Order)
4317NODE(OmpClause, Ordered)
4318NODE(OmpClause, Otherwise)
4319NODE(OmpClause, Partial)
4320NODE(OmpClause, Permutation)
4321NODE(OmpClause, Priority)
4322NODE(OmpClause, Private)
4323NODE(OmpClause, ProcBind)
4324NODE(OmpClause, Read)
4325NODE(OmpClause, Reduction)
4326NODE(OmpClause, Relaxed)
4327NODE(OmpClause, Release)
4328NODE(OmpClause, Replayable)
4329NODE(OmpClause, ReverseOffload)
4330NODE(OmpClause, Safelen)
4331NODE(OmpClause, Safesync)
4332NODE(OmpClause, Schedule)
4333NODE(OmpClause, SelfMaps)
4334NODE(OmpClause, SeqCst)
4335NODE(OmpClause, Severity)
4336NODE(OmpClause, Shared)
4337NODE(OmpClause, Simd)
4338NODE(OmpClause, Simdlen)
4339NODE(OmpClause, Sizes)
4340NODE(OmpClause, TaskReduction)
4341NODE(OmpClause, ThreadLimit)
4342NODE(OmpClause, Threadprivate)
4343NODE(OmpClause, Threads)
4344NODE(OmpClause, Threadset)
4345NODE(OmpClause, To)
4346NODE(OmpClause, Transparent)
4347NODE(OmpClause, UnifiedAddress)
4348NODE(OmpClause, UnifiedSharedMemory)
4349NODE(OmpClause, Uniform)
4350NODE(OmpClause, Unknown)
4351NODE(OmpClause, Untied)
4352NODE(OmpClause, Update)
4353NODE(OmpClause, UpdateDependObjects)
4354NODE(OmpClause, Use)
4355NODE(OmpClause, UseDeviceAddr)
4356NODE(OmpClause, UseDevicePtr)
4357NODE(OmpClause, UsesAllocators)
4358NODE(OmpClause, Weak)
4359NODE(OmpClause, When)
4360NODE(OmpClause, Write)
4361
4362#endif // GEN_FLANG_DUMP_PARSE_TREE_CLAUSES
4363
4364#ifdef GEN_FLANG_CLAUSE_UNPARSE
4365#undef GEN_FLANG_CLAUSE_UNPARSE
4366
4367void Unparse(const OmpClause::Absent &x) {
4368 Word("ABSENT");
4369 Put("(");
4370 Walk(x.v);
4371 Put(")");
4372}
4373void Before(const OmpClause::AcqRel &) { Word("ACQ_REL"); }
4374void Before(const OmpClause::Acquire &) { Word("ACQUIRE"); }
4375void Unparse(const OmpClause::AdjustArgs &x) {
4376 Word("ADJUST_ARGS");
4377 Put("(");
4378 Walk(x.v);
4379 Put(")");
4380}
4381void Unparse(const OmpClause::Affinity &x) {
4382 Word("AFFINITY");
4383 Put("(");
4384 Walk(x.v);
4385 Put(")");
4386}
4387void Unparse(const OmpClause::Align &x) {
4388 Word("ALIGN");
4389 Put("(");
4390 Walk(x.v);
4391 Put(")");
4392}
4393void Unparse(const OmpClause::Aligned &x) {
4394 Word("ALIGNED");
4395 Put("(");
4396 Walk(x.v);
4397 Put(")");
4398}
4399void Unparse(const OmpClause::Allocate &x) {
4400 Word("ALLOCATE");
4401 Put("(");
4402 Walk(x.v);
4403 Put(")");
4404}
4405void Unparse(const OmpClause::Allocator &x) {
4406 Word("ALLOCATOR");
4407 Put("(");
4408 Walk(x.v);
4409 Put(")");
4410}
4411void Unparse(const OmpClause::AppendArgs &x) {
4412 Word("APPEND_ARGS");
4413 Put("(");
4414 Walk(x.v);
4415 Put(")");
4416}
4417void Unparse(const OmpClause::Apply &x) {
4418 Word("APPLY");
4419 Put("(");
4420 Walk(x.v);
4421 Put(")");
4422}
4423void Unparse(const OmpClause::At &x) {
4424 Word("AT");
4425 Put("(");
4426 Walk(x.v);
4427 Put(")");
4428}
4429void Unparse(const OmpClause::AtomicDefaultMemOrder &x) {
4430 Word("ATOMIC_DEFAULT_MEM_ORDER");
4431 Put("(");
4432 Walk(x.v);
4433 Put(")");
4434}
4435void Unparse(const OmpClause::Bind &x) {
4436 Word("BIND");
4437 Put("(");
4438 Walk(x.v);
4439 Put(")");
4440}
4441void Before(const OmpClause::Capture &) { Word("CAPTURE"); }
4442void Unparse(const OmpClause::Collapse &x) {
4443 Word("COLLAPSE");
4444 Put("(");
4445 Walk(x.v);
4446 Put(")");
4447}
4448void Before(const OmpClause::Collector &) { Word("COLLECTOR"); }
4449void Unparse(const OmpClause::Combiner &x) {
4450 Word("COMBINER");
4451 Put("(");
4452 Walk(x.v);
4453 Put(")");
4454}
4455void Before(const OmpClause::Compare &) { Word("COMPARE"); }
4456void Unparse(const OmpClause::Contains &x) {
4457 Word("CONTAINS");
4458 Put("(");
4459 Walk(x.v);
4460 Put(")");
4461}
4462void Unparse(const OmpClause::Copyprivate &x) {
4463 Word("COPYPRIVATE");
4464 Put("(");
4465 Walk(x.v);
4466 Put(")");
4467}
4468void Unparse(const OmpClause::Copyin &x) {
4469 Word("COPYIN");
4470 Put("(");
4471 Walk(x.v);
4472 Put(")");
4473}
4474void Before(const OmpClause::Counts &) { Word("COUNTS"); }
4475void Unparse(const OmpClause::Default &x) {
4476 Word("DEFAULT");
4477 Put("(");
4478 Walk(x.v);
4479 Put(")");
4480}
4481void Unparse(const OmpClause::Defaultmap &x) {
4482 Word("DEFAULTMAP");
4483 Put("(");
4484 Walk(x.v);
4485 Put(")");
4486}
4487void Unparse(const OmpClause::DefaultVariant &x) {
4488 Word("DEFAULT");
4489 Put("(");
4490 Walk(x.v);
4491 Put(")");
4492}
4493void Unparse(const OmpClause::Depend &x) {
4494 Word("DEPEND");
4495 Put("(");
4496 Walk(x.v);
4497 Put(")");
4498}
4499void Before(const OmpClause::Depobj &) { Word("DEPOBJ"); }
4500void Unparse(const OmpClause::Depth &x) {
4501 Word("DEPTH");
4502 Put("(");
4503 Walk(x.v);
4504 Put(")");
4505}
4506void Unparse(const OmpClause::Destroy &x) {
4507 Word("DESTROY");
4508 Walk("(", x.v, ")");
4509}
4510void Unparse(const OmpClause::Detach &x) {
4511 Word("DETACH");
4512 Put("(");
4513 Walk(x.v);
4514 Put(")");
4515}
4516void Unparse(const OmpClause::Device &x) {
4517 Word("DEVICE");
4518 Put("(");
4519 Walk(x.v);
4520 Put(")");
4521}
4522void Unparse(const OmpClause::DeviceSafesync &x) {
4523 Word("DEVICE_SAFESYNC");
4524 Walk("(", x.v, ")");
4525}
4526void Unparse(const OmpClause::DeviceType &x) {
4527 Word("DEVICE_TYPE");
4528 Put("(");
4529 Walk(x.v);
4530 Put(")");
4531}
4532void Unparse(const OmpClause::DistSchedule &x) {
4533 Word("DIST_SCHEDULE");
4534 Walk("(", x.v, ")");
4535}
4536void Unparse(const OmpClause::Doacross &x) {
4537 Word("DOACROSS");
4538 Put("(");
4539 Walk(x.v);
4540 Put(")");
4541}
4542void Unparse(const OmpClause::DynGroupprivate &x) {
4543 Word("DYN_GROUPPRIVATE");
4544 Put("(");
4545 Walk(x.v);
4546 Put(")");
4547}
4548void Unparse(const OmpClause::DynamicAllocators &x) {
4549 Word("DYNAMIC_ALLOCATORS");
4550 Walk("(", x.v, ")");
4551}
4552void Unparse(const OmpClause::Enter &x) {
4553 Word("ENTER");
4554 Put("(");
4555 Walk(x.v);
4556 Put(")");
4557}
4558void Unparse(const OmpClause::Exclusive &x) {
4559 Word("EXCLUSIVE");
4560 Put("(");
4561 Walk(x.v);
4562 Put(")");
4563}
4564void Unparse(const OmpClause::Fail &x) {
4565 Word("FAIL");
4566 Put("(");
4567 Walk(x.v);
4568 Put(")");
4569}
4570void Unparse(const OmpClause::Filter &x) {
4571 Word("FILTER");
4572 Put("(");
4573 Walk(x.v);
4574 Put(")");
4575}
4576void Unparse(const OmpClause::Final &x) {
4577 Word("FINAL");
4578 Put("(");
4579 Walk(x.v);
4580 Put(")");
4581}
4582void Unparse(const OmpClause::Firstprivate &x) {
4583 Word("FIRSTPRIVATE");
4584 Put("(");
4585 Walk(x.v);
4586 Put(")");
4587}
4588void Before(const OmpClause::Flush &) { Word("FLUSH"); }
4589void Unparse(const OmpClause::From &x) {
4590 Word("FROM");
4591 Put("(");
4592 Walk(x.v);
4593 Put(")");
4594}
4595void Before(const OmpClause::Full &) { Word("FULL"); }
4596void Unparse(const OmpClause::Grainsize &x) {
4597 Word("GRAINSIZE");
4598 Put("(");
4599 Walk(x.v);
4600 Put(")");
4601}
4602void Unparse(const OmpClause::GraphId &x) {
4603 Word("GRAPH_ID");
4604 Put("(");
4605 Walk(x.v);
4606 Put(")");
4607}
4608void Unparse(const OmpClause::GraphReset &x) {
4609 Word("GRAPH_RESET");
4610 Walk("(", x.v, ")");
4611}
4612void Before(const OmpClause::Groupprivate &) { Word("GROUPPRIVATE"); }
4613void Unparse(const OmpClause::HasDeviceAddr &x) {
4614 Word("HAS_DEVICE_ADDR");
4615 Put("(");
4616 Walk(x.v);
4617 Put(")");
4618}
4619void Unparse(const OmpClause::Hint &x) {
4620 Word("HINT");
4621 Put("(");
4622 Walk(x.v);
4623 Put(")");
4624}
4625void Unparse(const OmpClause::Holds &x) {
4626 Word("HOLDS");
4627 Put("(");
4628 Walk(x.v);
4629 Put(")");
4630}
4631void Unparse(const OmpClause::If &x) {
4632 Word("IF");
4633 Put("(");
4634 Walk(x.v);
4635 Put(")");
4636}
4637void Unparse(const OmpClause::InReduction &x) {
4638 Word("IN_REDUCTION");
4639 Put("(");
4640 Walk(x.v);
4641 Put(")");
4642}
4643void Before(const OmpClause::Inbranch &) { Word("INBRANCH"); }
4644void Unparse(const OmpClause::Inclusive &x) {
4645 Word("INCLUSIVE");
4646 Put("(");
4647 Walk(x.v);
4648 Put(")");
4649}
4650void Unparse(const OmpClause::Indirect &x) {
4651 Word("INDIRECT");
4652 Put("(");
4653 Walk(x.v);
4654 Put(")");
4655}
4656void Before(const OmpClause::Induction &) { Word("INDUCTION"); }
4657void Before(const OmpClause::Inductor &) { Word("INDUCTOR"); }
4658void Unparse(const OmpClause::Init &x) {
4659 Word("INIT");
4660 Put("(");
4661 Walk(x.v);
4662 Put(")");
4663}
4664void Before(const OmpClause::InitComplete &) { Word("INIT_COMPLETE"); }
4665void Unparse(const OmpClause::Initializer &x) {
4666 Word("INITIALIZER");
4667 Put("(");
4668 Walk(x.v);
4669 Put(")");
4670}
4671void Before(const OmpClause::Interop &) { Word("INTEROP"); }
4672void Unparse(const OmpClause::IsDevicePtr &x) {
4673 Word("IS_DEVICE_PTR");
4674 Put("(");
4675 Walk(x.v);
4676 Put(")");
4677}
4678void Unparse(const OmpClause::Lastprivate &x) {
4679 Word("LASTPRIVATE");
4680 Put("(");
4681 Walk(x.v);
4682 Put(")");
4683}
4684void Unparse(const OmpClause::Linear &x) {
4685 Word("LINEAR");
4686 Put("(");
4687 Walk(x.v);
4688 Put(")");
4689}
4690void Unparse(const OmpClause::Link &x) {
4691 Word("LINK");
4692 Put("(");
4693 Walk(x.v);
4694 Put(")");
4695}
4696void Before(const OmpClause::Local &) { Word("LOCAL"); }
4697void Unparse(const OmpClause::Looprange &x) {
4698 Word("LOOPRANGE");
4699 Put("(");
4700 Walk(x.v);
4701 Put(")");
4702}
4703void Unparse(const OmpClause::Map &x) {
4704 Word("MAP");
4705 Put("(");
4706 Walk(x.v);
4707 Put(")");
4708}
4709void Unparse(const OmpClause::Match &x) {
4710 Word("MATCH");
4711 Put("(");
4712 Walk(x.v);
4713 Put(")");
4714}
4715void Before(const OmpClause::MemoryOrder &) { Word("MEMORY_ORDER"); }
4716void Before(const OmpClause::Memscope &) { Word("MEMSCOPE"); }
4717void Before(const OmpClause::Mergeable &) { Word("MERGEABLE"); }
4718void Unparse(const OmpClause::Message &x) {
4719 Word("MESSAGE");
4720 Put("(");
4721 Walk(x.v);
4722 Put(")");
4723}
4724void Before(const OmpClause::Nogroup &) { Word("NOGROUP"); }
4725void Before(const OmpClause::NoOpenmp &) { Word("NO_OPENMP"); }
4726void Before(const OmpClause::NoOpenmpConstructs &) { Word("NO_OPENMP_CONSTRUCTS"); }
4727void Before(const OmpClause::NoOpenmpRoutines &) { Word("NO_OPENMP_ROUTINES"); }
4728void Before(const OmpClause::NoParallelism &) { Word("NO_PARALLELISM"); }
4729void Before(const OmpClause::Nowait &) { Word("NOWAIT"); }
4730void Unparse(const OmpClause::Nocontext &x) {
4731 Word("NOCONTEXT");
4732 Put("(");
4733 Walk(x.v);
4734 Put(")");
4735}
4736void Unparse(const OmpClause::Nontemporal &x) {
4737 Word("NONTEMPORAL");
4738 Put("(");
4739 Walk(x.v);
4740 Put(")");
4741}
4742void Before(const OmpClause::Notinbranch &) { Word("NOTINBRANCH"); }
4743void Unparse(const OmpClause::Novariants &x) {
4744 Word("NOVARIANTS");
4745 Put("(");
4746 Walk(x.v);
4747 Put(")");
4748}
4749void Unparse(const OmpClause::NumTasks &x) {
4750 Word("NUM_TASKS");
4751 Put("(");
4752 Walk(x.v);
4753 Put(")");
4754}
4755void Unparse(const OmpClause::NumTeams &x) {
4756 Word("NUM_TEAMS");
4757 Put("(");
4758 Walk(x.v);
4759 Put(")");
4760}
4761void Unparse(const OmpClause::NumThreads &x) {
4762 Word("NUM_THREADS");
4763 Put("(");
4764 Walk(x.v);
4765 Put(")");
4766}
4767void Before(const OmpClause::OmpxAttribute &) { Word("OMPX_ATTRIBUTE"); }
4768void Before(const OmpClause::OmpxBare &) { Word("OMPX_BARE"); }
4769void Unparse(const OmpClause::OmpxDynCgroupMem &x) {
4770 Word("OMPX_DYN_CGROUP_MEM");
4771 Put("(");
4772 Walk(x.v);
4773 Put(")");
4774}
4775void Unparse(const OmpClause::Order &x) {
4776 Word("ORDER");
4777 Put("(");
4778 Walk(x.v);
4779 Put(")");
4780}
4781void Unparse(const OmpClause::Ordered &x) {
4782 Word("ORDERED");
4783 Walk("(", x.v, ")");
4784}
4785void Unparse(const OmpClause::Otherwise &x) {
4786 Word("OTHERWISE");
4787 Walk("(", x.v, ")");
4788}
4789void Unparse(const OmpClause::Partial &x) {
4790 Word("PARTIAL");
4791 Walk("(", x.v, ")");
4792}
4793void Unparse(const OmpClause::Permutation &x) {
4794 Word("PERMUTATION");
4795 Put("(");
4796 Walk(x.v, ",");
4797 Put(")");
4798}
4799void Unparse(const OmpClause::Priority &x) {
4800 Word("PRIORITY");
4801 Put("(");
4802 Walk(x.v);
4803 Put(")");
4804}
4805void Unparse(const OmpClause::Private &x) {
4806 Word("PRIVATE");
4807 Put("(");
4808 Walk(x.v);
4809 Put(")");
4810}
4811void Unparse(const OmpClause::ProcBind &x) {
4812 Word("PROC_BIND");
4813 Put("(");
4814 Walk(x.v);
4815 Put(")");
4816}
4817void Before(const OmpClause::Read &) { Word("READ"); }
4818void Unparse(const OmpClause::Reduction &x) {
4819 Word("REDUCTION");
4820 Put("(");
4821 Walk(x.v);
4822 Put(")");
4823}
4824void Before(const OmpClause::Relaxed &) { Word("RELAXED"); }
4825void Before(const OmpClause::Release &) { Word("RELEASE"); }
4826void Unparse(const OmpClause::Replayable &x) {
4827 Word("REPLAYABLE");
4828 Walk("(", x.v, ")");
4829}
4830void Unparse(const OmpClause::ReverseOffload &x) {
4831 Word("REVERSE_OFFLOAD");
4832 Walk("(", x.v, ")");
4833}
4834void Unparse(const OmpClause::Safelen &x) {
4835 Word("SAFELEN");
4836 Put("(");
4837 Walk(x.v);
4838 Put(")");
4839}
4840void Before(const OmpClause::Safesync &) { Word("SAFESYNC"); }
4841void Unparse(const OmpClause::Schedule &x) {
4842 Word("SCHEDULE");
4843 Put("(");
4844 Walk(x.v);
4845 Put(")");
4846}
4847void Unparse(const OmpClause::SelfMaps &x) {
4848 Word("SELF_MAPS");
4849 Walk("(", x.v, ")");
4850}
4851void Before(const OmpClause::SeqCst &) { Word("SEQ_CST"); }
4852void Unparse(const OmpClause::Severity &x) {
4853 Word("SEVERITY");
4854 Put("(");
4855 Walk(x.v);
4856 Put(")");
4857}
4858void Unparse(const OmpClause::Shared &x) {
4859 Word("SHARED");
4860 Put("(");
4861 Walk(x.v);
4862 Put(")");
4863}
4864void Before(const OmpClause::Simd &) { Word("SIMD"); }
4865void Unparse(const OmpClause::Simdlen &x) {
4866 Word("SIMDLEN");
4867 Put("(");
4868 Walk(x.v);
4869 Put(")");
4870}
4871void Unparse(const OmpClause::Sizes &x) {
4872 Word("SIZES");
4873 Put("(");
4874 Walk(x.v, ",");
4875 Put(")");
4876}
4877void Unparse(const OmpClause::TaskReduction &x) {
4878 Word("TASK_REDUCTION");
4879 Put("(");
4880 Walk(x.v);
4881 Put(")");
4882}
4883void Unparse(const OmpClause::ThreadLimit &x) {
4884 Word("THREAD_LIMIT");
4885 Put("(");
4886 Walk(x.v);
4887 Put(")");
4888}
4889void Before(const OmpClause::Threadprivate &) { Word("THREADPRIVATE"); }
4890void Before(const OmpClause::Threads &) { Word("THREADS"); }
4891void Unparse(const OmpClause::Threadset &x) {
4892 Word("THREADSET");
4893 Put("(");
4894 Walk(x.v);
4895 Put(")");
4896}
4897void Unparse(const OmpClause::To &x) {
4898 Word("TO");
4899 Put("(");
4900 Walk(x.v);
4901 Put(")");
4902}
4903void Unparse(const OmpClause::Transparent &x) {
4904 Word("TRANSPARENT");
4905 Walk("(", x.v, ")");
4906}
4907void Unparse(const OmpClause::UnifiedAddress &x) {
4908 Word("UNIFIED_ADDRESS");
4909 Walk("(", x.v, ")");
4910}
4911void Unparse(const OmpClause::UnifiedSharedMemory &x) {
4912 Word("UNIFIED_SHARED_MEMORY");
4913 Walk("(", x.v, ")");
4914}
4915void Unparse(const OmpClause::Uniform &x) {
4916 Word("UNIFORM");
4917 Put("(");
4918 Walk(x.v, ",");
4919 Put(")");
4920}
4921void Before(const OmpClause::Unknown &) { Word("UNKNOWN"); }
4922void Before(const OmpClause::Untied &) { Word("UNTIED"); }
4923void Before(const OmpClause::Update &) { Word("UPDATE"); }
4924void Unparse(const OmpClause::UpdateDependObjects &x) {
4925 Word("UPDATE");
4926 Put("(");
4927 Walk(x.v);
4928 Put(")");
4929}
4930void Unparse(const OmpClause::Use &x) {
4931 Word("USE");
4932 Put("(");
4933 Walk(x.v);
4934 Put(")");
4935}
4936void Unparse(const OmpClause::UseDeviceAddr &x) {
4937 Word("USE_DEVICE_ADDR");
4938 Put("(");
4939 Walk(x.v);
4940 Put(")");
4941}
4942void Unparse(const OmpClause::UseDevicePtr &x) {
4943 Word("USE_DEVICE_PTR");
4944 Put("(");
4945 Walk(x.v);
4946 Put(")");
4947}
4948void Unparse(const OmpClause::UsesAllocators &x) {
4949 Word("USES_ALLOCATORS");
4950 Put("(");
4951 Walk(x.v);
4952 Put(")");
4953}
4954void Before(const OmpClause::Weak &) { Word("WEAK"); }
4955void Unparse(const OmpClause::When &x) {
4956 Word("WHEN");
4957 Put("(");
4958 Walk(x.v);
4959 Put(")");
4960}
4961void Before(const OmpClause::Write &) { Word("WRITE"); }
4962
4963#endif // GEN_FLANG_CLAUSE_UNPARSE
4964
4965#ifdef GEN_FLANG_CLAUSE_CHECK_ENTER
4966#undef GEN_FLANG_CLAUSE_CHECK_ENTER
4967
4968void Enter(const parser::OmpClause::Absent &);
4969void Enter(const parser::OmpClause::AcqRel &);
4970void Enter(const parser::OmpClause::Acquire &);
4971void Enter(const parser::OmpClause::AdjustArgs &);
4972void Enter(const parser::OmpClause::Affinity &);
4973void Enter(const parser::OmpClause::Align &);
4974void Enter(const parser::OmpClause::Aligned &);
4975void Enter(const parser::OmpClause::Allocate &);
4976void Enter(const parser::OmpClause::Allocator &);
4977void Enter(const parser::OmpClause::AppendArgs &);
4978void Enter(const parser::OmpClause::Apply &);
4979void Enter(const parser::OmpClause::At &);
4980void Enter(const parser::OmpClause::AtomicDefaultMemOrder &);
4981void Enter(const parser::OmpClause::Bind &);
4982void Enter(const parser::OmpClause::CancellationConstructType &);
4983void Enter(const parser::OmpClause::Capture &);
4984void Enter(const parser::OmpClause::Collapse &);
4985void Enter(const parser::OmpClause::Collector &);
4986void Enter(const parser::OmpClause::Combiner &);
4987void Enter(const parser::OmpClause::Compare &);
4988void Enter(const parser::OmpClause::Contains &);
4989void Enter(const parser::OmpClause::Copyprivate &);
4990void Enter(const parser::OmpClause::Copyin &);
4991void Enter(const parser::OmpClause::Counts &);
4992void Enter(const parser::OmpClause::Default &);
4993void Enter(const parser::OmpClause::Defaultmap &);
4994void Enter(const parser::OmpClause::DefaultVariant &);
4995void Enter(const parser::OmpClause::Depend &);
4996void Enter(const parser::OmpClause::Depobj &);
4997void Enter(const parser::OmpClause::Depth &);
4998void Enter(const parser::OmpClause::Destroy &);
4999void Enter(const parser::OmpClause::Detach &);
5000void Enter(const parser::OmpClause::Device &);
5001void Enter(const parser::OmpClause::DeviceSafesync &);
5002void Enter(const parser::OmpClause::DeviceType &);
5003void Enter(const parser::OmpClause::DistSchedule &);
5004void Enter(const parser::OmpClause::Doacross &);
5005void Enter(const parser::OmpClause::DynGroupprivate &);
5006void Enter(const parser::OmpClause::DynamicAllocators &);
5007void Enter(const parser::OmpClause::Enter &);
5008void Enter(const parser::OmpClause::Exclusive &);
5009void Enter(const parser::OmpClause::Fail &);
5010void Enter(const parser::OmpClause::Filter &);
5011void Enter(const parser::OmpClause::Final &);
5012void Enter(const parser::OmpClause::Firstprivate &);
5013void Enter(const parser::OmpClause::Flush &);
5014void Enter(const parser::OmpClause::From &);
5015void Enter(const parser::OmpClause::Full &);
5016void Enter(const parser::OmpClause::Grainsize &);
5017void Enter(const parser::OmpClause::GraphId &);
5018void Enter(const parser::OmpClause::GraphReset &);
5019void Enter(const parser::OmpClause::Groupprivate &);
5020void Enter(const parser::OmpClause::HasDeviceAddr &);
5021void Enter(const parser::OmpClause::Hint &);
5022void Enter(const parser::OmpClause::Holds &);
5023void Enter(const parser::OmpClause::If &);
5024void Enter(const parser::OmpClause::InReduction &);
5025void Enter(const parser::OmpClause::Inbranch &);
5026void Enter(const parser::OmpClause::Inclusive &);
5027void Enter(const parser::OmpClause::Indirect &);
5028void Enter(const parser::OmpClause::Induction &);
5029void Enter(const parser::OmpClause::Inductor &);
5030void Enter(const parser::OmpClause::Init &);
5031void Enter(const parser::OmpClause::InitComplete &);
5032void Enter(const parser::OmpClause::Initializer &);
5033void Enter(const parser::OmpClause::Interop &);
5034void Enter(const parser::OmpClause::IsDevicePtr &);
5035void Enter(const parser::OmpClause::Lastprivate &);
5036void Enter(const parser::OmpClause::Linear &);
5037void Enter(const parser::OmpClause::Link &);
5038void Enter(const parser::OmpClause::Local &);
5039void Enter(const parser::OmpClause::Looprange &);
5040void Enter(const parser::OmpClause::Map &);
5041void Enter(const parser::OmpClause::Match &);
5042void Enter(const parser::OmpClause::MemoryOrder &);
5043void Enter(const parser::OmpClause::Memscope &);
5044void Enter(const parser::OmpClause::Mergeable &);
5045void Enter(const parser::OmpClause::Message &);
5046void Enter(const parser::OmpClause::Nogroup &);
5047void Enter(const parser::OmpClause::NoOpenmp &);
5048void Enter(const parser::OmpClause::NoOpenmpConstructs &);
5049void Enter(const parser::OmpClause::NoOpenmpRoutines &);
5050void Enter(const parser::OmpClause::NoParallelism &);
5051void Enter(const parser::OmpClause::Nowait &);
5052void Enter(const parser::OmpClause::Nocontext &);
5053void Enter(const parser::OmpClause::Nontemporal &);
5054void Enter(const parser::OmpClause::Notinbranch &);
5055void Enter(const parser::OmpClause::Novariants &);
5056void Enter(const parser::OmpClause::NumTasks &);
5057void Enter(const parser::OmpClause::NumTeams &);
5058void Enter(const parser::OmpClause::NumThreads &);
5059void Enter(const parser::OmpClause::OmpxAttribute &);
5060void Enter(const parser::OmpClause::OmpxBare &);
5061void Enter(const parser::OmpClause::OmpxDynCgroupMem &);
5062void Enter(const parser::OmpClause::Order &);
5063void Enter(const parser::OmpClause::Ordered &);
5064void Enter(const parser::OmpClause::Otherwise &);
5065void Enter(const parser::OmpClause::Partial &);
5066void Enter(const parser::OmpClause::Permutation &);
5067void Enter(const parser::OmpClause::Priority &);
5068void Enter(const parser::OmpClause::Private &);
5069void Enter(const parser::OmpClause::ProcBind &);
5070void Enter(const parser::OmpClause::Read &);
5071void Enter(const parser::OmpClause::Reduction &);
5072void Enter(const parser::OmpClause::Relaxed &);
5073void Enter(const parser::OmpClause::Release &);
5074void Enter(const parser::OmpClause::Replayable &);
5075void Enter(const parser::OmpClause::ReverseOffload &);
5076void Enter(const parser::OmpClause::Safelen &);
5077void Enter(const parser::OmpClause::Safesync &);
5078void Enter(const parser::OmpClause::Schedule &);
5079void Enter(const parser::OmpClause::SelfMaps &);
5080void Enter(const parser::OmpClause::SeqCst &);
5081void Enter(const parser::OmpClause::Severity &);
5082void Enter(const parser::OmpClause::Shared &);
5083void Enter(const parser::OmpClause::Simd &);
5084void Enter(const parser::OmpClause::Simdlen &);
5085void Enter(const parser::OmpClause::Sizes &);
5086void Enter(const parser::OmpClause::TaskReduction &);
5087void Enter(const parser::OmpClause::ThreadLimit &);
5088void Enter(const parser::OmpClause::Threadprivate &);
5089void Enter(const parser::OmpClause::Threads &);
5090void Enter(const parser::OmpClause::Threadset &);
5091void Enter(const parser::OmpClause::To &);
5092void Enter(const parser::OmpClause::Transparent &);
5093void Enter(const parser::OmpClause::UnifiedAddress &);
5094void Enter(const parser::OmpClause::UnifiedSharedMemory &);
5095void Enter(const parser::OmpClause::Uniform &);
5096void Enter(const parser::OmpClause::Unknown &);
5097void Enter(const parser::OmpClause::Untied &);
5098void Enter(const parser::OmpClause::Update &);
5099void Enter(const parser::OmpClause::UpdateDependObjects &);
5100void Enter(const parser::OmpClause::Use &);
5101void Enter(const parser::OmpClause::UseDeviceAddr &);
5102void Enter(const parser::OmpClause::UseDevicePtr &);
5103void Enter(const parser::OmpClause::UsesAllocators &);
5104void Enter(const parser::OmpClause::Weak &);
5105void Enter(const parser::OmpClause::When &);
5106void Enter(const parser::OmpClause::Write &);
5107
5108#endif // GEN_FLANG_CLAUSE_CHECK_ENTER
5109
5110#ifdef GEN_FLANG_CLAUSE_PARSER_KIND_MAP
5111#undef GEN_FLANG_CLAUSE_PARSER_KIND_MAP
5112
5113if constexpr (std::is_same_v<A, parser::OmpClause::Absent>)
5114 return llvm::omp::Clause::OMPC_absent;
5115if constexpr (std::is_same_v<A, parser::OmpClause::AcqRel>)
5116 return llvm::omp::Clause::OMPC_acq_rel;
5117if constexpr (std::is_same_v<A, parser::OmpClause::Acquire>)
5118 return llvm::omp::Clause::OMPC_acquire;
5119if constexpr (std::is_same_v<A, parser::OmpClause::AdjustArgs>)
5120 return llvm::omp::Clause::OMPC_adjust_args;
5121if constexpr (std::is_same_v<A, parser::OmpClause::Affinity>)
5122 return llvm::omp::Clause::OMPC_affinity;
5123if constexpr (std::is_same_v<A, parser::OmpClause::Align>)
5124 return llvm::omp::Clause::OMPC_align;
5125if constexpr (std::is_same_v<A, parser::OmpClause::Aligned>)
5126 return llvm::omp::Clause::OMPC_aligned;
5127if constexpr (std::is_same_v<A, parser::OmpClause::Allocate>)
5128 return llvm::omp::Clause::OMPC_allocate;
5129if constexpr (std::is_same_v<A, parser::OmpClause::Allocator>)
5130 return llvm::omp::Clause::OMPC_allocator;
5131if constexpr (std::is_same_v<A, parser::OmpClause::AppendArgs>)
5132 return llvm::omp::Clause::OMPC_append_args;
5133if constexpr (std::is_same_v<A, parser::OmpClause::Apply>)
5134 return llvm::omp::Clause::OMPC_apply;
5135if constexpr (std::is_same_v<A, parser::OmpClause::At>)
5136 return llvm::omp::Clause::OMPC_at;
5137if constexpr (std::is_same_v<A, parser::OmpClause::AtomicDefaultMemOrder>)
5138 return llvm::omp::Clause::OMPC_atomic_default_mem_order;
5139if constexpr (std::is_same_v<A, parser::OmpClause::Bind>)
5140 return llvm::omp::Clause::OMPC_bind;
5141if constexpr (std::is_same_v<A, parser::OmpClause::CancellationConstructType>)
5142 return llvm::omp::Clause::OMPC_cancellation_construct_type;
5143if constexpr (std::is_same_v<A, parser::OmpClause::Capture>)
5144 return llvm::omp::Clause::OMPC_capture;
5145if constexpr (std::is_same_v<A, parser::OmpClause::Collapse>)
5146 return llvm::omp::Clause::OMPC_collapse;
5147if constexpr (std::is_same_v<A, parser::OmpClause::Collector>)
5148 return llvm::omp::Clause::OMPC_collector;
5149if constexpr (std::is_same_v<A, parser::OmpClause::Combiner>)
5150 return llvm::omp::Clause::OMPC_combiner;
5151if constexpr (std::is_same_v<A, parser::OmpClause::Compare>)
5152 return llvm::omp::Clause::OMPC_compare;
5153if constexpr (std::is_same_v<A, parser::OmpClause::Contains>)
5154 return llvm::omp::Clause::OMPC_contains;
5155if constexpr (std::is_same_v<A, parser::OmpClause::Copyprivate>)
5156 return llvm::omp::Clause::OMPC_copyprivate;
5157if constexpr (std::is_same_v<A, parser::OmpClause::Copyin>)
5158 return llvm::omp::Clause::OMPC_copyin;
5159if constexpr (std::is_same_v<A, parser::OmpClause::Counts>)
5160 return llvm::omp::Clause::OMPC_counts;
5161if constexpr (std::is_same_v<A, parser::OmpClause::Default>)
5162 return llvm::omp::Clause::OMPC_default;
5163if constexpr (std::is_same_v<A, parser::OmpClause::Defaultmap>)
5164 return llvm::omp::Clause::OMPC_defaultmap;
5165if constexpr (std::is_same_v<A, parser::OmpClause::DefaultVariant>)
5166 return llvm::omp::Clause::OMPC_default_variant;
5167if constexpr (std::is_same_v<A, parser::OmpClause::Depend>)
5168 return llvm::omp::Clause::OMPC_depend;
5169if constexpr (std::is_same_v<A, parser::OmpClause::Depobj>)
5170 return llvm::omp::Clause::OMPC_depobj;
5171if constexpr (std::is_same_v<A, parser::OmpClause::Depth>)
5172 return llvm::omp::Clause::OMPC_depth;
5173if constexpr (std::is_same_v<A, parser::OmpClause::Destroy>)
5174 return llvm::omp::Clause::OMPC_destroy;
5175if constexpr (std::is_same_v<A, parser::OmpClause::Detach>)
5176 return llvm::omp::Clause::OMPC_detach;
5177if constexpr (std::is_same_v<A, parser::OmpClause::Device>)
5178 return llvm::omp::Clause::OMPC_device;
5179if constexpr (std::is_same_v<A, parser::OmpClause::DeviceSafesync>)
5180 return llvm::omp::Clause::OMPC_device_safesync;
5181if constexpr (std::is_same_v<A, parser::OmpClause::DeviceType>)
5182 return llvm::omp::Clause::OMPC_device_type;
5183if constexpr (std::is_same_v<A, parser::OmpClause::DistSchedule>)
5184 return llvm::omp::Clause::OMPC_dist_schedule;
5185if constexpr (std::is_same_v<A, parser::OmpClause::Doacross>)
5186 return llvm::omp::Clause::OMPC_doacross;
5187if constexpr (std::is_same_v<A, parser::OmpClause::DynGroupprivate>)
5188 return llvm::omp::Clause::OMPC_dyn_groupprivate;
5189if constexpr (std::is_same_v<A, parser::OmpClause::DynamicAllocators>)
5190 return llvm::omp::Clause::OMPC_dynamic_allocators;
5191if constexpr (std::is_same_v<A, parser::OmpClause::Enter>)
5192 return llvm::omp::Clause::OMPC_enter;
5193if constexpr (std::is_same_v<A, parser::OmpClause::Exclusive>)
5194 return llvm::omp::Clause::OMPC_exclusive;
5195if constexpr (std::is_same_v<A, parser::OmpClause::Fail>)
5196 return llvm::omp::Clause::OMPC_fail;
5197if constexpr (std::is_same_v<A, parser::OmpClause::Filter>)
5198 return llvm::omp::Clause::OMPC_filter;
5199if constexpr (std::is_same_v<A, parser::OmpClause::Final>)
5200 return llvm::omp::Clause::OMPC_final;
5201if constexpr (std::is_same_v<A, parser::OmpClause::Firstprivate>)
5202 return llvm::omp::Clause::OMPC_firstprivate;
5203if constexpr (std::is_same_v<A, parser::OmpClause::Flush>)
5204 return llvm::omp::Clause::OMPC_flush;
5205if constexpr (std::is_same_v<A, parser::OmpClause::From>)
5206 return llvm::omp::Clause::OMPC_from;
5207if constexpr (std::is_same_v<A, parser::OmpClause::Full>)
5208 return llvm::omp::Clause::OMPC_full;
5209if constexpr (std::is_same_v<A, parser::OmpClause::Grainsize>)
5210 return llvm::omp::Clause::OMPC_grainsize;
5211if constexpr (std::is_same_v<A, parser::OmpClause::GraphId>)
5212 return llvm::omp::Clause::OMPC_graph_id;
5213if constexpr (std::is_same_v<A, parser::OmpClause::GraphReset>)
5214 return llvm::omp::Clause::OMPC_graph_reset;
5215if constexpr (std::is_same_v<A, parser::OmpClause::Groupprivate>)
5216 return llvm::omp::Clause::OMPC_groupprivate;
5217if constexpr (std::is_same_v<A, parser::OmpClause::HasDeviceAddr>)
5218 return llvm::omp::Clause::OMPC_has_device_addr;
5219if constexpr (std::is_same_v<A, parser::OmpClause::Hint>)
5220 return llvm::omp::Clause::OMPC_hint;
5221if constexpr (std::is_same_v<A, parser::OmpClause::Holds>)
5222 return llvm::omp::Clause::OMPC_holds;
5223if constexpr (std::is_same_v<A, parser::OmpClause::If>)
5224 return llvm::omp::Clause::OMPC_if;
5225if constexpr (std::is_same_v<A, parser::OmpClause::InReduction>)
5226 return llvm::omp::Clause::OMPC_in_reduction;
5227if constexpr (std::is_same_v<A, parser::OmpClause::Inbranch>)
5228 return llvm::omp::Clause::OMPC_inbranch;
5229if constexpr (std::is_same_v<A, parser::OmpClause::Inclusive>)
5230 return llvm::omp::Clause::OMPC_inclusive;
5231if constexpr (std::is_same_v<A, parser::OmpClause::Indirect>)
5232 return llvm::omp::Clause::OMPC_indirect;
5233if constexpr (std::is_same_v<A, parser::OmpClause::Induction>)
5234 return llvm::omp::Clause::OMPC_induction;
5235if constexpr (std::is_same_v<A, parser::OmpClause::Inductor>)
5236 return llvm::omp::Clause::OMPC_inductor;
5237if constexpr (std::is_same_v<A, parser::OmpClause::Init>)
5238 return llvm::omp::Clause::OMPC_init;
5239if constexpr (std::is_same_v<A, parser::OmpClause::InitComplete>)
5240 return llvm::omp::Clause::OMPC_init_complete;
5241if constexpr (std::is_same_v<A, parser::OmpClause::Initializer>)
5242 return llvm::omp::Clause::OMPC_initializer;
5243if constexpr (std::is_same_v<A, parser::OmpClause::Interop>)
5244 return llvm::omp::Clause::OMPC_interop;
5245if constexpr (std::is_same_v<A, parser::OmpClause::IsDevicePtr>)
5246 return llvm::omp::Clause::OMPC_is_device_ptr;
5247if constexpr (std::is_same_v<A, parser::OmpClause::Lastprivate>)
5248 return llvm::omp::Clause::OMPC_lastprivate;
5249if constexpr (std::is_same_v<A, parser::OmpClause::Linear>)
5250 return llvm::omp::Clause::OMPC_linear;
5251if constexpr (std::is_same_v<A, parser::OmpClause::Link>)
5252 return llvm::omp::Clause::OMPC_link;
5253if constexpr (std::is_same_v<A, parser::OmpClause::Local>)
5254 return llvm::omp::Clause::OMPC_local;
5255if constexpr (std::is_same_v<A, parser::OmpClause::Looprange>)
5256 return llvm::omp::Clause::OMPC_looprange;
5257if constexpr (std::is_same_v<A, parser::OmpClause::Map>)
5258 return llvm::omp::Clause::OMPC_map;
5259if constexpr (std::is_same_v<A, parser::OmpClause::Match>)
5260 return llvm::omp::Clause::OMPC_match;
5261if constexpr (std::is_same_v<A, parser::OmpClause::MemoryOrder>)
5262 return llvm::omp::Clause::OMPC_memory_order;
5263if constexpr (std::is_same_v<A, parser::OmpClause::Memscope>)
5264 return llvm::omp::Clause::OMPC_memscope;
5265if constexpr (std::is_same_v<A, parser::OmpClause::Mergeable>)
5266 return llvm::omp::Clause::OMPC_mergeable;
5267if constexpr (std::is_same_v<A, parser::OmpClause::Message>)
5268 return llvm::omp::Clause::OMPC_message;
5269if constexpr (std::is_same_v<A, parser::OmpClause::Nogroup>)
5270 return llvm::omp::Clause::OMPC_nogroup;
5271if constexpr (std::is_same_v<A, parser::OmpClause::NoOpenmp>)
5272 return llvm::omp::Clause::OMPC_no_openmp;
5273if constexpr (std::is_same_v<A, parser::OmpClause::NoOpenmpConstructs>)
5274 return llvm::omp::Clause::OMPC_no_openmp_constructs;
5275if constexpr (std::is_same_v<A, parser::OmpClause::NoOpenmpRoutines>)
5276 return llvm::omp::Clause::OMPC_no_openmp_routines;
5277if constexpr (std::is_same_v<A, parser::OmpClause::NoParallelism>)
5278 return llvm::omp::Clause::OMPC_no_parallelism;
5279if constexpr (std::is_same_v<A, parser::OmpClause::Nowait>)
5280 return llvm::omp::Clause::OMPC_nowait;
5281if constexpr (std::is_same_v<A, parser::OmpClause::Nocontext>)
5282 return llvm::omp::Clause::OMPC_nocontext;
5283if constexpr (std::is_same_v<A, parser::OmpClause::Nontemporal>)
5284 return llvm::omp::Clause::OMPC_nontemporal;
5285if constexpr (std::is_same_v<A, parser::OmpClause::Notinbranch>)
5286 return llvm::omp::Clause::OMPC_notinbranch;
5287if constexpr (std::is_same_v<A, parser::OmpClause::Novariants>)
5288 return llvm::omp::Clause::OMPC_novariants;
5289if constexpr (std::is_same_v<A, parser::OmpClause::NumTasks>)
5290 return llvm::omp::Clause::OMPC_num_tasks;
5291if constexpr (std::is_same_v<A, parser::OmpClause::NumTeams>)
5292 return llvm::omp::Clause::OMPC_num_teams;
5293if constexpr (std::is_same_v<A, parser::OmpClause::NumThreads>)
5294 return llvm::omp::Clause::OMPC_num_threads;
5295if constexpr (std::is_same_v<A, parser::OmpClause::OmpxAttribute>)
5296 return llvm::omp::Clause::OMPC_ompx_attribute;
5297if constexpr (std::is_same_v<A, parser::OmpClause::OmpxBare>)
5298 return llvm::omp::Clause::OMPC_ompx_bare;
5299if constexpr (std::is_same_v<A, parser::OmpClause::OmpxDynCgroupMem>)
5300 return llvm::omp::Clause::OMPC_ompx_dyn_cgroup_mem;
5301if constexpr (std::is_same_v<A, parser::OmpClause::Order>)
5302 return llvm::omp::Clause::OMPC_order;
5303if constexpr (std::is_same_v<A, parser::OmpClause::Ordered>)
5304 return llvm::omp::Clause::OMPC_ordered;
5305if constexpr (std::is_same_v<A, parser::OmpClause::Otherwise>)
5306 return llvm::omp::Clause::OMPC_otherwise;
5307if constexpr (std::is_same_v<A, parser::OmpClause::Partial>)
5308 return llvm::omp::Clause::OMPC_partial;
5309if constexpr (std::is_same_v<A, parser::OmpClause::Permutation>)
5310 return llvm::omp::Clause::OMPC_permutation;
5311if constexpr (std::is_same_v<A, parser::OmpClause::Priority>)
5312 return llvm::omp::Clause::OMPC_priority;
5313if constexpr (std::is_same_v<A, parser::OmpClause::Private>)
5314 return llvm::omp::Clause::OMPC_private;
5315if constexpr (std::is_same_v<A, parser::OmpClause::ProcBind>)
5316 return llvm::omp::Clause::OMPC_proc_bind;
5317if constexpr (std::is_same_v<A, parser::OmpClause::Read>)
5318 return llvm::omp::Clause::OMPC_read;
5319if constexpr (std::is_same_v<A, parser::OmpClause::Reduction>)
5320 return llvm::omp::Clause::OMPC_reduction;
5321if constexpr (std::is_same_v<A, parser::OmpClause::Relaxed>)
5322 return llvm::omp::Clause::OMPC_relaxed;
5323if constexpr (std::is_same_v<A, parser::OmpClause::Release>)
5324 return llvm::omp::Clause::OMPC_release;
5325if constexpr (std::is_same_v<A, parser::OmpClause::Replayable>)
5326 return llvm::omp::Clause::OMPC_replayable;
5327if constexpr (std::is_same_v<A, parser::OmpClause::ReverseOffload>)
5328 return llvm::omp::Clause::OMPC_reverse_offload;
5329if constexpr (std::is_same_v<A, parser::OmpClause::Safelen>)
5330 return llvm::omp::Clause::OMPC_safelen;
5331if constexpr (std::is_same_v<A, parser::OmpClause::Safesync>)
5332 return llvm::omp::Clause::OMPC_safesync;
5333if constexpr (std::is_same_v<A, parser::OmpClause::Schedule>)
5334 return llvm::omp::Clause::OMPC_schedule;
5335if constexpr (std::is_same_v<A, parser::OmpClause::SelfMaps>)
5336 return llvm::omp::Clause::OMPC_self_maps;
5337if constexpr (std::is_same_v<A, parser::OmpClause::SeqCst>)
5338 return llvm::omp::Clause::OMPC_seq_cst;
5339if constexpr (std::is_same_v<A, parser::OmpClause::Severity>)
5340 return llvm::omp::Clause::OMPC_severity;
5341if constexpr (std::is_same_v<A, parser::OmpClause::Shared>)
5342 return llvm::omp::Clause::OMPC_shared;
5343if constexpr (std::is_same_v<A, parser::OmpClause::Simd>)
5344 return llvm::omp::Clause::OMPC_simd;
5345if constexpr (std::is_same_v<A, parser::OmpClause::Simdlen>)
5346 return llvm::omp::Clause::OMPC_simdlen;
5347if constexpr (std::is_same_v<A, parser::OmpClause::Sizes>)
5348 return llvm::omp::Clause::OMPC_sizes;
5349if constexpr (std::is_same_v<A, parser::OmpClause::TaskReduction>)
5350 return llvm::omp::Clause::OMPC_task_reduction;
5351if constexpr (std::is_same_v<A, parser::OmpClause::ThreadLimit>)
5352 return llvm::omp::Clause::OMPC_thread_limit;
5353if constexpr (std::is_same_v<A, parser::OmpClause::Threadprivate>)
5354 return llvm::omp::Clause::OMPC_threadprivate;
5355if constexpr (std::is_same_v<A, parser::OmpClause::Threads>)
5356 return llvm::omp::Clause::OMPC_threads;
5357if constexpr (std::is_same_v<A, parser::OmpClause::Threadset>)
5358 return llvm::omp::Clause::OMPC_threadset;
5359if constexpr (std::is_same_v<A, parser::OmpClause::To>)
5360 return llvm::omp::Clause::OMPC_to;
5361if constexpr (std::is_same_v<A, parser::OmpClause::Transparent>)
5362 return llvm::omp::Clause::OMPC_transparent;
5363if constexpr (std::is_same_v<A, parser::OmpClause::UnifiedAddress>)
5364 return llvm::omp::Clause::OMPC_unified_address;
5365if constexpr (std::is_same_v<A, parser::OmpClause::UnifiedSharedMemory>)
5366 return llvm::omp::Clause::OMPC_unified_shared_memory;
5367if constexpr (std::is_same_v<A, parser::OmpClause::Uniform>)
5368 return llvm::omp::Clause::OMPC_uniform;
5369if constexpr (std::is_same_v<A, parser::OmpClause::Unknown>)
5370 return llvm::omp::Clause::OMPC_unknown;
5371if constexpr (std::is_same_v<A, parser::OmpClause::Untied>)
5372 return llvm::omp::Clause::OMPC_untied;
5373if constexpr (std::is_same_v<A, parser::OmpClause::Update>)
5374 return llvm::omp::Clause::OMPC_update;
5375if constexpr (std::is_same_v<A, parser::OmpClause::UpdateDependObjects>)
5376 return llvm::omp::Clause::OMPC_update_depend_objects;
5377if constexpr (std::is_same_v<A, parser::OmpClause::Use>)
5378 return llvm::omp::Clause::OMPC_use;
5379if constexpr (std::is_same_v<A, parser::OmpClause::UseDeviceAddr>)
5380 return llvm::omp::Clause::OMPC_use_device_addr;
5381if constexpr (std::is_same_v<A, parser::OmpClause::UseDevicePtr>)
5382 return llvm::omp::Clause::OMPC_use_device_ptr;
5383if constexpr (std::is_same_v<A, parser::OmpClause::UsesAllocators>)
5384 return llvm::omp::Clause::OMPC_uses_allocators;
5385if constexpr (std::is_same_v<A, parser::OmpClause::Weak>)
5386 return llvm::omp::Clause::OMPC_weak;
5387if constexpr (std::is_same_v<A, parser::OmpClause::When>)
5388 return llvm::omp::Clause::OMPC_when;
5389if constexpr (std::is_same_v<A, parser::OmpClause::Write>)
5390 return llvm::omp::Clause::OMPC_write;
5391llvm_unreachable("Invalid OpenMP Parser clause");
5392
5393#endif // GEN_FLANG_CLAUSE_PARSER_KIND_MAP
5394
5395#ifdef GEN_FLANG_CLAUSES_PARSER
5396#undef GEN_FLANG_CLAUSES_PARSER
5397
5398TYPE_PARSER(
5399 "write" >> construct<OmpClause>(construct<OmpClause::Write>()) ||
5400 "when" >> construct<OmpClause>(construct<OmpClause::When>(parenthesized(Parser<OmpWhenClause>{}))) ||
5401 "weak" >> construct<OmpClause>(construct<OmpClause::Weak>()) ||
5402 "uses_allocators" >> construct<OmpClause>(construct<OmpClause::UsesAllocators>(parenthesized(Parser<OmpUsesAllocatorsClause>{}))) ||
5403 "use_device_ptr" >> construct<OmpClause>(construct<OmpClause::UseDevicePtr>(parenthesized(Parser<OmpObjectList>{}))) ||
5404 "use_device_addr" >> construct<OmpClause>(construct<OmpClause::UseDeviceAddr>(parenthesized(Parser<OmpObjectList>{}))) ||
5405 "use" >> construct<OmpClause>(construct<OmpClause::Use>(parenthesized(Parser<OmpUseClause>{}))) ||
5406 "update" >> construct<OmpClause>(construct<OmpClause::UpdateDependObjects>(parenthesized(Parser<OmpUpdateDependObjectsClause>{}))) ||
5407 "update" >> construct<OmpClause>(construct<OmpClause::Update>()) ||
5408 "untied" >> construct<OmpClause>(construct<OmpClause::Untied>()) ||
5409 "unknown" >> construct<OmpClause>(construct<OmpClause::Unknown>()) ||
5410 "uniform" >> construct<OmpClause>(construct<OmpClause::Uniform>(parenthesized(nonemptyList(name)))) ||
5411 "unified_shared_memory" >> construct<OmpClause>(construct<OmpClause::UnifiedSharedMemory>(maybe(parenthesized(Parser<OmpUnifiedSharedMemoryClause>{})))) ||
5412 "unified_address" >> construct<OmpClause>(construct<OmpClause::UnifiedAddress>(maybe(parenthesized(Parser<OmpUnifiedAddressClause>{})))) ||
5413 "transparent" >> construct<OmpClause>(construct<OmpClause::Transparent>(maybe(parenthesized(Parser<OmpTransparentClause>{})))) ||
5414 "to" >> construct<OmpClause>(construct<OmpClause::To>(parenthesized(Parser<OmpToClause>{}))) ||
5415 "threadset" >> construct<OmpClause>(construct<OmpClause::Threadset>(parenthesized(Parser<OmpThreadsetClause>{}))) ||
5416 "threads" >> construct<OmpClause>(construct<OmpClause::Threads>()) ||
5417 "threadprivate" >> construct<OmpClause>(construct<OmpClause::Threadprivate>()) ||
5418 "thread_limit" >> construct<OmpClause>(construct<OmpClause::ThreadLimit>(parenthesized(Parser<OmpThreadLimitClause>{}))) ||
5419 "task_reduction" >> construct<OmpClause>(construct<OmpClause::TaskReduction>(parenthesized(Parser<OmpTaskReductionClause>{}))) ||
5420 "sizes" >> construct<OmpClause>(construct<OmpClause::Sizes>(parenthesized(nonemptyList(scalarIntExpr)))) ||
5421 "simdlen" >> construct<OmpClause>(construct<OmpClause::Simdlen>(parenthesized(scalarIntConstantExpr))) ||
5422 "simd" >> construct<OmpClause>(construct<OmpClause::Simd>()) ||
5423 "shared" >> construct<OmpClause>(construct<OmpClause::Shared>(parenthesized(Parser<OmpObjectList>{}))) ||
5424 "severity" >> construct<OmpClause>(construct<OmpClause::Severity>(parenthesized(Parser<OmpSeverityClause>{}))) ||
5425 "seq_cst" >> construct<OmpClause>(construct<OmpClause::SeqCst>()) ||
5426 "self_maps" >> construct<OmpClause>(construct<OmpClause::SelfMaps>(maybe(parenthesized(Parser<OmpSelfMapsClause>{})))) ||
5427 "schedule" >> construct<OmpClause>(construct<OmpClause::Schedule>(parenthesized(Parser<OmpScheduleClause>{}))) ||
5428 "safesync" >> construct<OmpClause>(construct<OmpClause::Safesync>()) ||
5429 "safelen" >> construct<OmpClause>(construct<OmpClause::Safelen>(parenthesized(scalarIntConstantExpr))) ||
5430 "reverse_offload" >> construct<OmpClause>(construct<OmpClause::ReverseOffload>(maybe(parenthesized(Parser<OmpReverseOffloadClause>{})))) ||
5431 "replayable" >> construct<OmpClause>(construct<OmpClause::Replayable>(maybe(parenthesized(Parser<OmpReplayableClause>{})))) ||
5432 "release" >> construct<OmpClause>(construct<OmpClause::Release>()) ||
5433 "relaxed" >> construct<OmpClause>(construct<OmpClause::Relaxed>()) ||
5434 "reduction" >> construct<OmpClause>(construct<OmpClause::Reduction>(parenthesized(Parser<OmpReductionClause>{}))) ||
5435 "read" >> construct<OmpClause>(construct<OmpClause::Read>()) ||
5436 "proc_bind" >> construct<OmpClause>(construct<OmpClause::ProcBind>(parenthesized(Parser<OmpProcBindClause>{}))) ||
5437 "private" >> construct<OmpClause>(construct<OmpClause::Private>(parenthesized(Parser<OmpObjectList>{}))) ||
5438 "priority" >> construct<OmpClause>(construct<OmpClause::Priority>(parenthesized(scalarIntExpr))) ||
5439 "permutation" >> construct<OmpClause>(construct<OmpClause::Permutation>(parenthesized(nonemptyList(scalarIntConstantExpr)))) ||
5440 "partial" >> construct<OmpClause>(construct<OmpClause::Partial>(maybe(parenthesized(scalarIntConstantExpr)))) ||
5441 "otherwise" >> construct<OmpClause>(construct<OmpClause::Otherwise>(maybe(parenthesized(Parser<OmpOtherwiseClause>{})))) ||
5442 "ordered" >> construct<OmpClause>(construct<OmpClause::Ordered>(maybe(parenthesized(scalarIntConstantExpr)))) ||
5443 "order" >> construct<OmpClause>(construct<OmpClause::Order>(parenthesized(Parser<OmpOrderClause>{}))) ||
5444 "ompx_dyn_cgroup_mem" >> construct<OmpClause>(construct<OmpClause::OmpxDynCgroupMem>(parenthesized(scalarIntExpr))) ||
5445 "ompx_bare" >> construct<OmpClause>(construct<OmpClause::OmpxBare>()) ||
5446 "ompx_attribute" >> construct<OmpClause>(construct<OmpClause::OmpxAttribute>()) ||
5447 "num_threads" >> construct<OmpClause>(construct<OmpClause::NumThreads>(parenthesized(Parser<OmpNumThreadsClause>{}))) ||
5448 "num_teams" >> construct<OmpClause>(construct<OmpClause::NumTeams>(parenthesized(Parser<OmpNumTeamsClause>{}))) ||
5449 "num_tasks" >> construct<OmpClause>(construct<OmpClause::NumTasks>(parenthesized(Parser<OmpNumTasksClause>{}))) ||
5450 "nowait" >> construct<OmpClause>(construct<OmpClause::Nowait>()) ||
5451 "novariants" >> construct<OmpClause>(construct<OmpClause::Novariants>(parenthesized(scalarLogicalExpr))) ||
5452 "notinbranch" >> construct<OmpClause>(construct<OmpClause::Notinbranch>()) ||
5453 "nontemporal" >> construct<OmpClause>(construct<OmpClause::Nontemporal>(parenthesized(Parser<OmpObjectList>{}))) ||
5454 "nogroup" >> construct<OmpClause>(construct<OmpClause::Nogroup>()) ||
5455 "nocontext" >> construct<OmpClause>(construct<OmpClause::Nocontext>(parenthesized(scalarLogicalExpr))) ||
5456 "no_parallelism" >> construct<OmpClause>(construct<OmpClause::NoParallelism>()) ||
5457 "no_openmp_routines" >> construct<OmpClause>(construct<OmpClause::NoOpenmpRoutines>()) ||
5458 "no_openmp_constructs" >> construct<OmpClause>(construct<OmpClause::NoOpenmpConstructs>()) ||
5459 "no_openmp" >> construct<OmpClause>(construct<OmpClause::NoOpenmp>()) ||
5460 "message" >> construct<OmpClause>(construct<OmpClause::Message>(parenthesized(Parser<OmpMessageClause>{}))) ||
5461 "mergeable" >> construct<OmpClause>(construct<OmpClause::Mergeable>()) ||
5462 "memscope" >> construct<OmpClause>(construct<OmpClause::Memscope>()) ||
5463 "memory_order" >> construct<OmpClause>(construct<OmpClause::MemoryOrder>()) ||
5464 "match" >> construct<OmpClause>(construct<OmpClause::Match>(parenthesized(Parser<OmpMatchClause>{}))) ||
5465 "map" >> construct<OmpClause>(construct<OmpClause::Map>(parenthesized(Parser<OmpMapClause>{}))) ||
5466 "looprange" >> construct<OmpClause>(construct<OmpClause::Looprange>(parenthesized(Parser<OmpLooprangeClause>{}))) ||
5467 "local" >> construct<OmpClause>(construct<OmpClause::Local>()) ||
5468 "link" >> construct<OmpClause>(construct<OmpClause::Link>(parenthesized(Parser<OmpObjectList>{}))) ||
5469 "linear" >> construct<OmpClause>(construct<OmpClause::Linear>(parenthesized(Parser<OmpLinearClause>{}))) ||
5470 "lastprivate" >> construct<OmpClause>(construct<OmpClause::Lastprivate>(parenthesized(Parser<OmpLastprivateClause>{}))) ||
5471 "is_device_ptr" >> construct<OmpClause>(construct<OmpClause::IsDevicePtr>(parenthesized(Parser<OmpObjectList>{}))) ||
5472 "interop" >> construct<OmpClause>(construct<OmpClause::Interop>()) ||
5473 "initializer" >> construct<OmpClause>(construct<OmpClause::Initializer>(parenthesized(Parser<OmpInitializerClause>{}))) ||
5474 "init_complete" >> construct<OmpClause>(construct<OmpClause::InitComplete>()) ||
5475 "init" >> construct<OmpClause>(construct<OmpClause::Init>(parenthesized(Parser<OmpInitClause>{}))) ||
5476 "inductor" >> construct<OmpClause>(construct<OmpClause::Inductor>()) ||
5477 "induction" >> construct<OmpClause>(construct<OmpClause::Induction>()) ||
5478 "indirect" >> construct<OmpClause>(construct<OmpClause::Indirect>(parenthesized(Parser<OmpIndirectClause>{}))) ||
5479 "inclusive" >> construct<OmpClause>(construct<OmpClause::Inclusive>(parenthesized(Parser<OmpObjectList>{}))) ||
5480 "inbranch" >> construct<OmpClause>(construct<OmpClause::Inbranch>()) ||
5481 "in_reduction" >> construct<OmpClause>(construct<OmpClause::InReduction>(parenthesized(Parser<OmpInReductionClause>{}))) ||
5482 "if" >> construct<OmpClause>(construct<OmpClause::If>(parenthesized(Parser<OmpIfClause>{}))) ||
5483 "holds" >> construct<OmpClause>(construct<OmpClause::Holds>(parenthesized(Parser<OmpHoldsClause>{}))) ||
5484 "hint" >> construct<OmpClause>(construct<OmpClause::Hint>(parenthesized(Parser<OmpHintClause>{}))) ||
5485 "has_device_addr" >> construct<OmpClause>(construct<OmpClause::HasDeviceAddr>(parenthesized(Parser<OmpObjectList>{}))) ||
5486 "groupprivate" >> construct<OmpClause>(construct<OmpClause::Groupprivate>()) ||
5487 "graph_reset" >> construct<OmpClause>(construct<OmpClause::GraphReset>(maybe(parenthesized(Parser<OmpGraphResetClause>{})))) ||
5488 "graph_id" >> construct<OmpClause>(construct<OmpClause::GraphId>(parenthesized(Parser<OmpGraphIdClause>{}))) ||
5489 "grainsize" >> construct<OmpClause>(construct<OmpClause::Grainsize>(parenthesized(Parser<OmpGrainsizeClause>{}))) ||
5490 "full" >> construct<OmpClause>(construct<OmpClause::Full>()) ||
5491 "from" >> construct<OmpClause>(construct<OmpClause::From>(parenthesized(Parser<OmpFromClause>{}))) ||
5492 "flush" >> construct<OmpClause>(construct<OmpClause::Flush>()) ||
5493 "firstprivate" >> construct<OmpClause>(construct<OmpClause::Firstprivate>(parenthesized(Parser<OmpObjectList>{}))) ||
5494 "final" >> construct<OmpClause>(construct<OmpClause::Final>(parenthesized(scalarLogicalExpr))) ||
5495 "filter" >> construct<OmpClause>(construct<OmpClause::Filter>(parenthesized(scalarIntExpr))) ||
5496 "fail" >> construct<OmpClause>(construct<OmpClause::Fail>(parenthesized(Parser<OmpFailClause>{}))) ||
5497 "exclusive" >> construct<OmpClause>(construct<OmpClause::Exclusive>(parenthesized(Parser<OmpObjectList>{}))) ||
5498 "enter" >> construct<OmpClause>(construct<OmpClause::Enter>(parenthesized(Parser<OmpEnterClause>{}))) ||
5499 "dynamic_allocators" >> construct<OmpClause>(construct<OmpClause::DynamicAllocators>(maybe(parenthesized(Parser<OmpDynamicAllocatorsClause>{})))) ||
5500 "dyn_groupprivate" >> construct<OmpClause>(construct<OmpClause::DynGroupprivate>(parenthesized(Parser<OmpDynGroupprivateClause>{}))) ||
5501 "doacross" >> construct<OmpClause>(construct<OmpClause::Doacross>(parenthesized(Parser<OmpDoacrossClause>{}))) ||
5502 "dist_schedule" >> construct<OmpClause>(construct<OmpClause::DistSchedule>(maybe(parenthesized(scalarIntExpr)))) ||
5503 "device_type" >> construct<OmpClause>(construct<OmpClause::DeviceType>(parenthesized(Parser<OmpDeviceTypeClause>{}))) ||
5504 "device_safesync" >> construct<OmpClause>(construct<OmpClause::DeviceSafesync>(maybe(parenthesized(Parser<OmpDeviceSafesyncClause>{})))) ||
5505 "device" >> construct<OmpClause>(construct<OmpClause::Device>(parenthesized(Parser<OmpDeviceClause>{}))) ||
5506 "detach" >> construct<OmpClause>(construct<OmpClause::Detach>(parenthesized(Parser<OmpDetachClause>{}))) ||
5507 "destroy" >> construct<OmpClause>(construct<OmpClause::Destroy>(maybe(parenthesized(Parser<OmpDestroyClause>{})))) ||
5508 "depth" >> construct<OmpClause>(construct<OmpClause::Depth>(parenthesized(scalarIntConstantExpr))) ||
5509 "depobj" >> construct<OmpClause>(construct<OmpClause::Depobj>()) ||
5510 "depend" >> construct<OmpClause>(construct<OmpClause::Depend>(parenthesized(Parser<OmpDependClause>{}))) ||
5511 "defaultmap" >> construct<OmpClause>(construct<OmpClause::Defaultmap>(parenthesized(Parser<OmpDefaultmapClause>{}))) ||
5512 "default" >> construct<OmpClause>(construct<OmpClause::DefaultVariant>(parenthesized(Parser<OmpDefaultVariantClause>{}))) ||
5513 "default" >> construct<OmpClause>(construct<OmpClause::Default>(parenthesized(Parser<OmpDefaultClause>{}))) ||
5514 "counts" >> construct<OmpClause>(construct<OmpClause::Counts>()) ||
5515 "copyprivate" >> construct<OmpClause>(construct<OmpClause::Copyprivate>(parenthesized(Parser<OmpObjectList>{}))) ||
5516 "copyin" >> construct<OmpClause>(construct<OmpClause::Copyin>(parenthesized(Parser<OmpObjectList>{}))) ||
5517 "contains" >> construct<OmpClause>(construct<OmpClause::Contains>(parenthesized(Parser<OmpContainsClause>{}))) ||
5518 "compare" >> construct<OmpClause>(construct<OmpClause::Compare>()) ||
5519 "combiner" >> construct<OmpClause>(construct<OmpClause::Combiner>(parenthesized(Parser<OmpCombinerClause>{}))) ||
5520 "collector" >> construct<OmpClause>(construct<OmpClause::Collector>()) ||
5521 "collapse" >> construct<OmpClause>(construct<OmpClause::Collapse>(parenthesized(scalarIntConstantExpr))) ||
5522 "capture" >> construct<OmpClause>(construct<OmpClause::Capture>()) ||
5523 "cancellation_construct_type" >> construct<OmpClause>(construct<OmpClause::CancellationConstructType>(parenthesized(Parser<OmpCancellationConstructTypeClause>{}))) ||
5524 "bind" >> construct<OmpClause>(construct<OmpClause::Bind>(parenthesized(Parser<OmpBindClause>{}))) ||
5525 "atomic_default_mem_order" >> construct<OmpClause>(construct<OmpClause::AtomicDefaultMemOrder>(parenthesized(Parser<OmpAtomicDefaultMemOrderClause>{}))) ||
5526 "at" >> construct<OmpClause>(construct<OmpClause::At>(parenthesized(Parser<OmpAtClause>{}))) ||
5527 "apply" >> construct<OmpClause>(construct<OmpClause::Apply>(parenthesized(Parser<OmpApplyClause>{}))) ||
5528 "append_args" >> construct<OmpClause>(construct<OmpClause::AppendArgs>(parenthesized(Parser<OmpAppendArgsClause>{}))) ||
5529 "allocator" >> construct<OmpClause>(construct<OmpClause::Allocator>(parenthesized(scalarIntExpr))) ||
5530 "allocate" >> construct<OmpClause>(construct<OmpClause::Allocate>(parenthesized(Parser<OmpAllocateClause>{}))) ||
5531 "aligned" >> construct<OmpClause>(construct<OmpClause::Aligned>(parenthesized(Parser<OmpAlignedClause>{}))) ||
5532 "align" >> construct<OmpClause>(construct<OmpClause::Align>(parenthesized(Parser<OmpAlignClause>{}))) ||
5533 "affinity" >> construct<OmpClause>(construct<OmpClause::Affinity>(parenthesized(Parser<OmpAffinityClause>{}))) ||
5534 "adjust_args" >> construct<OmpClause>(construct<OmpClause::AdjustArgs>(parenthesized(Parser<OmpAdjustArgsClause>{}))) ||
5535 "acquire" >> construct<OmpClause>(construct<OmpClause::Acquire>()) ||
5536 "acq_rel" >> construct<OmpClause>(construct<OmpClause::AcqRel>()) ||
5537 "absent" >> construct<OmpClause>(construct<OmpClause::Absent>(parenthesized(Parser<OmpAbsentClause>{})))
5538)
5539
5540#endif // GEN_FLANG_CLAUSES_PARSER
5541
5542#ifdef GEN_CLANG_CLAUSE_CLASS
5543#undef GEN_CLANG_CLAUSE_CLASS
5544
5545#ifndef CLAUSE
5546#define CLAUSE(Enum, Str, Implicit)
5547#endif
5548#ifndef CLAUSE_CLASS
5549#define CLAUSE_CLASS(Enum, Str, Class)
5550#endif
5551#ifndef CLAUSE_NO_CLASS
5552#define CLAUSE_NO_CLASS(Enum, Str)
5553#endif
5554
5555#define __CLAUSE(Name, Class) \
5556 CLAUSE(OMPC_##Name, #Name, /* Implicit */ false) \
5557 CLAUSE_CLASS(OMPC_##Name, #Name, Class)
5558#define __CLAUSE_NO_CLASS(Name) \
5559 CLAUSE(OMPC_##Name, #Name, /* Implicit */ false) \
5560 CLAUSE_NO_CLASS(OMPC_##Name, #Name)
5561#define __IMPLICIT_CLAUSE_CLASS(Name, Str, Class) \
5562 CLAUSE(OMPC_##Name, Str, /* Implicit */ true) \
5563 CLAUSE_CLASS(OMPC_##Name, Str, Class)
5564#define __IMPLICIT_CLAUSE_NO_CLASS(Name, Str) \
5565 CLAUSE(OMPC_##Name, Str, /* Implicit */ true) \
5566 CLAUSE_NO_CLASS(OMPC_##Name, Str)
5567
5568__CLAUSE(absent, OMPAbsentClause)
5569__CLAUSE(acq_rel, OMPAcqRelClause)
5570__CLAUSE(acquire, OMPAcquireClause)
5571__CLAUSE_NO_CLASS(adjust_args)
5572__CLAUSE(affinity, OMPAffinityClause)
5573__CLAUSE(align, OMPAlignClause)
5574__CLAUSE(aligned, OMPAlignedClause)
5575__CLAUSE(allocate, OMPAllocateClause)
5576__CLAUSE(allocator, OMPAllocatorClause)
5577__CLAUSE_NO_CLASS(append_args)
5578__CLAUSE_NO_CLASS(apply)
5579__CLAUSE(at, OMPAtClause)
5580__CLAUSE(atomic_default_mem_order, OMPAtomicDefaultMemOrderClause)
5581__CLAUSE(bind, OMPBindClause)
5582__CLAUSE_NO_CLASS(cancellation_construct_type)
5583__CLAUSE(capture, OMPCaptureClause)
5584__CLAUSE(collapse, OMPCollapseClause)
5585__CLAUSE_NO_CLASS(collector)
5586__CLAUSE_NO_CLASS(combiner)
5587__CLAUSE(compare, OMPCompareClause)
5588__CLAUSE(contains, OMPContainsClause)
5589__CLAUSE(copyprivate, OMPCopyprivateClause)
5590__CLAUSE(copyin, OMPCopyinClause)
5591__CLAUSE(counts, OMPCountsClause)
5592__CLAUSE(default, OMPDefaultClause)
5593__CLAUSE(defaultmap, OMPDefaultmapClause)
5594__CLAUSE_NO_CLASS(default_variant)
5595__CLAUSE(depend, OMPDependClause)
5596__IMPLICIT_CLAUSE_CLASS(depobj, "depobj", OMPDepobjClause)
5597__CLAUSE_NO_CLASS(depth)
5598__CLAUSE(destroy, OMPDestroyClause)
5599__CLAUSE(detach, OMPDetachClause)
5600__CLAUSE(device, OMPDeviceClause)
5601__CLAUSE_NO_CLASS(device_safesync)
5602__CLAUSE_NO_CLASS(device_type)
5603__CLAUSE(dist_schedule, OMPDistScheduleClause)
5604__CLAUSE(doacross, OMPDoacrossClause)
5605__CLAUSE(dyn_groupprivate, OMPDynGroupprivateClause)
5606__CLAUSE(dynamic_allocators, OMPDynamicAllocatorsClause)
5607__CLAUSE_NO_CLASS(enter)
5608__CLAUSE(exclusive, OMPExclusiveClause)
5609__CLAUSE(fail, OMPFailClause)
5610__CLAUSE(filter, OMPFilterClause)
5611__CLAUSE(final, OMPFinalClause)
5612__CLAUSE(firstprivate, OMPFirstprivateClause)
5613__IMPLICIT_CLAUSE_CLASS(flush, "flush", OMPFlushClause)
5614__CLAUSE(from, OMPFromClause)
5615__CLAUSE(full, OMPFullClause)
5616__CLAUSE(grainsize, OMPGrainsizeClause)
5617__CLAUSE_NO_CLASS(graph_id)
5618__CLAUSE_NO_CLASS(graph_reset)
5619__IMPLICIT_CLAUSE_NO_CLASS(groupprivate, "groupprivate")
5620__CLAUSE(has_device_addr, OMPHasDeviceAddrClause)
5621__CLAUSE(hint, OMPHintClause)
5622__CLAUSE(holds, OMPHoldsClause)
5623__CLAUSE(if, OMPIfClause)
5624__CLAUSE(in_reduction, OMPInReductionClause)
5625__CLAUSE_NO_CLASS(inbranch)
5626__CLAUSE(inclusive, OMPInclusiveClause)
5627__CLAUSE_NO_CLASS(indirect)
5628__CLAUSE_NO_CLASS(induction)
5629__CLAUSE_NO_CLASS(inductor)
5630__CLAUSE(init, OMPInitClause)
5631__CLAUSE_NO_CLASS(init_complete)
5632__CLAUSE_NO_CLASS(initializer)
5633__CLAUSE_NO_CLASS(interop)
5634__CLAUSE(is_device_ptr, OMPIsDevicePtrClause)
5635__CLAUSE(lastprivate, OMPLastprivateClause)
5636__CLAUSE(linear, OMPLinearClause)
5637__CLAUSE_NO_CLASS(link)
5638__CLAUSE_NO_CLASS(local)
5639__CLAUSE(looprange, OMPLoopRangeClause)
5640__CLAUSE(map, OMPMapClause)
5641__CLAUSE_NO_CLASS(match)
5642__CLAUSE_NO_CLASS(memory_order)
5643__CLAUSE_NO_CLASS(memscope)
5644__CLAUSE(mergeable, OMPMergeableClause)
5645__CLAUSE(message, OMPMessageClause)
5646__CLAUSE(nogroup, OMPNogroupClause)
5647__CLAUSE(no_openmp, OMPNoOpenMPClause)
5648__CLAUSE(no_openmp_constructs, OMPNoOpenMPConstructsClause)
5649__CLAUSE(no_openmp_routines, OMPNoOpenMPRoutinesClause)
5650__CLAUSE(no_parallelism, OMPNoParallelismClause)
5651__CLAUSE(nowait, OMPNowaitClause)
5652__CLAUSE(nocontext, OMPNocontextClause)
5653__CLAUSE(nontemporal, OMPNontemporalClause)
5654__CLAUSE_NO_CLASS(notinbranch)
5655__CLAUSE(novariants, OMPNovariantsClause)
5656__CLAUSE(num_tasks, OMPNumTasksClause)
5657__CLAUSE(num_teams, OMPNumTeamsClause)
5658__CLAUSE(num_threads, OMPNumThreadsClause)
5659__CLAUSE(ompx_attribute, OMPXAttributeClause)
5660__CLAUSE(ompx_bare, OMPXBareClause)
5661__CLAUSE(ompx_dyn_cgroup_mem, OMPXDynCGroupMemClause)
5662__CLAUSE(order, OMPOrderClause)
5663__CLAUSE(ordered, OMPOrderedClause)
5664__CLAUSE_NO_CLASS(otherwise)
5665__CLAUSE(partial, OMPPartialClause)
5666__CLAUSE(permutation, OMPPermutationClause)
5667__CLAUSE(priority, OMPPriorityClause)
5668__CLAUSE(private, OMPPrivateClause)
5669__CLAUSE(proc_bind, OMPProcBindClause)
5670__CLAUSE(read, OMPReadClause)
5671__CLAUSE(reduction, OMPReductionClause)
5672__CLAUSE(relaxed, OMPRelaxedClause)
5673__CLAUSE(release, OMPReleaseClause)
5674__CLAUSE_NO_CLASS(replayable)
5675__CLAUSE(reverse_offload, OMPReverseOffloadClause)
5676__CLAUSE(safelen, OMPSafelenClause)
5677__CLAUSE_NO_CLASS(safesync)
5678__CLAUSE(schedule, OMPScheduleClause)
5679__CLAUSE(self_maps, OMPSelfMapsClause)
5680__CLAUSE(seq_cst, OMPSeqCstClause)
5681__CLAUSE(severity, OMPSeverityClause)
5682__CLAUSE(shared, OMPSharedClause)
5683__CLAUSE(simd, OMPSIMDClause)
5684__CLAUSE(simdlen, OMPSimdlenClause)
5685__CLAUSE(sizes, OMPSizesClause)
5686__CLAUSE(task_reduction, OMPTaskReductionClause)
5687__CLAUSE(thread_limit, OMPThreadLimitClause)
5688__IMPLICIT_CLAUSE_NO_CLASS(threadprivate, "threadprivate")
5689__CLAUSE(threads, OMPThreadsClause)
5690__CLAUSE(threadset, OMPThreadsetClause)
5691__CLAUSE(to, OMPToClause)
5692__CLAUSE(transparent, OMPTransparentClause)
5693__CLAUSE(unified_address, OMPUnifiedAddressClause)
5694__CLAUSE(unified_shared_memory, OMPUnifiedSharedMemoryClause)
5695__CLAUSE_NO_CLASS(uniform)
5696__IMPLICIT_CLAUSE_NO_CLASS(unknown, "unknown")
5697__CLAUSE(untied, OMPUntiedClause)
5698__CLAUSE(update, OMPUpdateClause)
5699__CLAUSE(update_depend_objects, OMPUpdateDependObjectsClause)
5700__CLAUSE(use, OMPUseClause)
5701__CLAUSE(use_device_addr, OMPUseDeviceAddrClause)
5702__CLAUSE(use_device_ptr, OMPUseDevicePtrClause)
5703__CLAUSE(uses_allocators, OMPUsesAllocatorsClause)
5704__CLAUSE(weak, OMPWeakClause)
5705__CLAUSE_NO_CLASS(when)
5706__CLAUSE(write, OMPWriteClause)
5707
5708#undef __IMPLICIT_CLAUSE_NO_CLASS
5709#undef __IMPLICIT_CLAUSE_CLASS
5710#undef __CLAUSE_NO_CLASS
5711#undef __CLAUSE
5712#undef CLAUSE_NO_CLASS
5713#undef CLAUSE_CLASS
5714#undef CLAUSE
5715
5716#endif // GEN_CLANG_CLAUSE_CLASS
5717
5718#ifdef GEN_DIRECTIVES_IMPL
5719#undef GEN_DIRECTIVES_IMPL
5720
5721#include "llvm/Frontend/Directive/Spelling.h"
5722#include "llvm/Support/ErrorHandling.h"
5723#include <utility>
5724
5725std::pair<llvm::omp::Directive, llvm::directive::VersionRange> llvm::omp::getOpenMPDirectiveKindAndVersions(llvm::StringRef Str) {
5726 directive::VersionRange All; // Default-initialized to "all versions"
5727 return StringSwitch<std::pair<Directive, directive::VersionRange>>(Str)
5728 .Case("allocate", {OMPD_allocate, All})
5729 .Case("allocators", {OMPD_allocators, All})
5730 .Case("assume", {OMPD_assume, All})
5731 .Case("assumes", {OMPD_assumes, All})
5732 .Case("atomic", {OMPD_atomic, All})
5733 .Case("barrier", {OMPD_barrier, All})
5734 .Case("begin assumes", {OMPD_begin_assumes, All})
5735 .Case("begin declare target", {OMPD_begin_declare_target, {1, 52}})
5736 .Case("begin declare_target", {OMPD_begin_declare_target, {60, 2147483647}})
5737 .Case("begin declare variant", {OMPD_begin_declare_variant, {1, 52}})
5738 .Case("begin declare_variant", {OMPD_begin_declare_variant, {60, 2147483647}})
5739 .Case("cancel", {OMPD_cancel, All})
5740 .Case("cancellation point", {OMPD_cancellation_point, {1, 52}})
5741 .Case("cancellation_point", {OMPD_cancellation_point, {60, 2147483647}})
5742 .Case("critical", {OMPD_critical, All})
5743 .Case("declare_induction", {OMPD_declare_induction, All})
5744 .Case("declare mapper", {OMPD_declare_mapper, {1, 52}})
5745 .Case("declare_mapper", {OMPD_declare_mapper, {60, 2147483647}})
5746 .Case("declare reduction", {OMPD_declare_reduction, {1, 52}})
5747 .Case("declare_reduction", {OMPD_declare_reduction, {60, 2147483647}})
5748 .Case("declare simd", {OMPD_declare_simd, {1, 52}})
5749 .Case("declare_simd", {OMPD_declare_simd, {60, 2147483647}})
5750 .Case("declare target", {OMPD_declare_target, {1, 52}})
5751 .Case("declare_target", {OMPD_declare_target, {60, 2147483647}})
5752 .Case("declare variant", {OMPD_declare_variant, {1, 52}})
5753 .Case("declare_variant", {OMPD_declare_variant, {60, 2147483647}})
5754 .Case("depobj", {OMPD_depobj, All})
5755 .Case("distribute", {OMPD_distribute, All})
5756 .Case("distribute parallel do", {OMPD_distribute_parallel_do, All})
5757 .Case("distribute parallel do simd", {OMPD_distribute_parallel_do_simd, All})
5758 .Case("distribute parallel for", {OMPD_distribute_parallel_for, All})
5759 .Case("distribute parallel for simd", {OMPD_distribute_parallel_for_simd, All})
5760 .Case("distribute simd", {OMPD_distribute_simd, All})
5761 .Case("do", {OMPD_do, All})
5762 .Case("do simd", {OMPD_do_simd, All})
5763 .Case("end assumes", {OMPD_end_assumes, All})
5764 .Case("end declare target", {OMPD_end_declare_target, {1, 52}})
5765 .Case("end declare_target", {OMPD_end_declare_target, {60, 2147483647}})
5766 .Case("end declare variant", {OMPD_end_declare_variant, {1, 52}})
5767 .Case("end declare_variant", {OMPD_end_declare_variant, {60, 2147483647}})
5768 .Case("error", {OMPD_error, All})
5769 .Case("flatten", {OMPD_flatten, All})
5770 .Case("flush", {OMPD_flush, All})
5771 .Case("for", {OMPD_for, All})
5772 .Case("for simd", {OMPD_for_simd, All})
5773 .Case("fuse", {OMPD_fuse, All})
5774 .Case("groupprivate", {OMPD_groupprivate, All})
5775 .Case("interchange", {OMPD_interchange, All})
5776 .Case("masked taskloop", {OMPD_masked_taskloop, All})
5777 .Case("masked taskloop simd", {OMPD_masked_taskloop_simd, All})
5778 .Case("master", {OMPD_master, All})
5779 .Case("master taskloop", {OMPD_master_taskloop, All})
5780 .Case("master taskloop simd", {OMPD_master_taskloop_simd, All})
5781 .Case("metadirective", {OMPD_metadirective, All})
5782 .Case("nothing", {OMPD_nothing, All})
5783 .Case("ordered", {OMPD_ordered_blockassoc, All})
5784 .Case("ordered", {OMPD_ordered_standalone, All})
5785 .Case("parallel", {OMPD_parallel, All})
5786 .Case("parallel do", {OMPD_parallel_do, All})
5787 .Case("parallel do simd", {OMPD_parallel_do_simd, All})
5788 .Case("parallel for", {OMPD_parallel_for, All})
5789 .Case("parallel for simd", {OMPD_parallel_for_simd, All})
5790 .Case("parallel masked", {OMPD_parallel_masked, All})
5791 .Case("parallel masked taskloop", {OMPD_parallel_masked_taskloop, All})
5792 .Case("parallel masked taskloop simd", {OMPD_parallel_masked_taskloop_simd, All})
5793 .Case("parallel master", {OMPD_parallel_master, All})
5794 .Case("parallel master taskloop", {OMPD_parallel_master_taskloop, All})
5795 .Case("parallel master taskloop simd", {OMPD_parallel_master_taskloop_simd, All})
5796 .Case("parallel sections", {OMPD_parallel_sections, All})
5797 .Case("parallel workshare", {OMPD_parallel_workshare, All})
5798 .Case("requires", {OMPD_requires, All})
5799 .Case("reverse", {OMPD_reverse, All})
5800 .Case("scan", {OMPD_scan, All})
5801 .Case("scope", {OMPD_scope, All})
5802 .Case("section", {OMPD_section, All})
5803 .Case("sections", {OMPD_sections, All})
5804 .Case("simd", {OMPD_simd, All})
5805 .Case("single", {OMPD_single, All})
5806 .Case("split", {OMPD_split, All})
5807 .Case("stripe", {OMPD_stripe, All})
5808 .Case("target", {OMPD_target, All})
5809 .Case("target data", {OMPD_target_data, {1, 52}})
5810 .Case("target_data", {OMPD_target_data, {60, 2147483647}})
5811 .Case("target enter data", {OMPD_target_enter_data, {1, 52}})
5812 .Case("target_enter_data", {OMPD_target_enter_data, {60, 2147483647}})
5813 .Case("target exit data", {OMPD_target_exit_data, {1, 52}})
5814 .Case("target_exit_data", {OMPD_target_exit_data, {60, 2147483647}})
5815 .Case("target parallel", {OMPD_target_parallel, All})
5816 .Case("target parallel do", {OMPD_target_parallel_do, All})
5817 .Case("target parallel do simd", {OMPD_target_parallel_do_simd, All})
5818 .Case("target parallel for", {OMPD_target_parallel_for, All})
5819 .Case("target parallel for simd", {OMPD_target_parallel_for_simd, All})
5820 .Case("target simd", {OMPD_target_simd, All})
5821 .Case("target teams", {OMPD_target_teams, All})
5822 .Case("target teams distribute", {OMPD_target_teams_distribute, All})
5823 .Case("target teams distribute parallel do", {OMPD_target_teams_distribute_parallel_do, All})
5824 .Case("target teams distribute parallel do simd", {OMPD_target_teams_distribute_parallel_do_simd, All})
5825 .Case("target teams distribute parallel for", {OMPD_target_teams_distribute_parallel_for, All})
5826 .Case("target teams distribute parallel for simd", {OMPD_target_teams_distribute_parallel_for_simd, All})
5827 .Case("target teams distribute simd", {OMPD_target_teams_distribute_simd, All})
5828 .Case("target teams workdistribute", {OMPD_target_teams_workdistribute, All})
5829 .Case("target update", {OMPD_target_update, {1, 52}})
5830 .Case("target_update", {OMPD_target_update, {60, 2147483647}})
5831 .Case("task", {OMPD_task, All})
5832 .Case("taskgroup", {OMPD_taskgroup, All})
5833 .Case("taskloop", {OMPD_taskloop, All})
5834 .Case("taskloop simd", {OMPD_taskloop_simd, All})
5835 .Case("taskwait", {OMPD_taskwait, All})
5836 .Case("taskyield", {OMPD_taskyield, All})
5837 .Case("taskgraph", {OMPD_taskgraph, All})
5838 .Case("teams", {OMPD_teams, All})
5839 .Case("teams distribute", {OMPD_teams_distribute, All})
5840 .Case("teams distribute parallel do", {OMPD_teams_distribute_parallel_do, All})
5841 .Case("teams distribute parallel do simd", {OMPD_teams_distribute_parallel_do_simd, All})
5842 .Case("teams distribute parallel for", {OMPD_teams_distribute_parallel_for, All})
5843 .Case("teams distribute parallel for simd", {OMPD_teams_distribute_parallel_for_simd, All})
5844 .Case("teams distribute simd", {OMPD_teams_distribute_simd, All})
5845 .Case("teams workdistribute", {OMPD_teams_workdistribute, All})
5846 .Case("threadprivate", {OMPD_threadprivate, All})
5847 .Case("tile", {OMPD_tile, All})
5848 .Case("unknown", {OMPD_unknown, All})
5849 .Case("unroll", {OMPD_unroll, All})
5850 .Case("workdistribute", {OMPD_workdistribute, All})
5851 .Case("workshare", {OMPD_workshare, All})
5852 .Case("dispatch", {OMPD_dispatch, All})
5853 .Case("interop", {OMPD_interop, All})
5854 .Case("loop", {OMPD_loop, All})
5855 .Case("masked", {OMPD_masked, All})
5856 .Case("parallel loop", {OMPD_parallel_loop, All})
5857 .Case("target loop", {OMPD_target_loop, All})
5858 .Case("target parallel loop", {OMPD_target_parallel_loop, All})
5859 .Case("target teams loop", {OMPD_target_teams_loop, All})
5860 .Case("teams loop", {OMPD_teams_loop, All})
5861 .Default({OMPD_unknown, All});
5862}
5863
5864llvm::StringRef llvm::omp::getOpenMPDirectiveName(llvm::omp::Directive Kind, unsigned Version) {
5865 switch (Kind) {
5866 case OMPD_allocate:
5867 return "allocate";
5868 case OMPD_allocators:
5869 return "allocators";
5870 case OMPD_assume:
5871 return "assume";
5872 case OMPD_assumes:
5873 return "assumes";
5874 case OMPD_atomic:
5875 return "atomic";
5876 case OMPD_barrier:
5877 return "barrier";
5878 case OMPD_begin_assumes:
5879 return "begin assumes";
5880 case OMPD_begin_declare_target: {
5881 static constexpr llvm::directive::Spelling OMPD_begin_declare_target_spellings[] = {
5882 {"begin declare target", {1, 52}},
5883 {"begin declare_target", {60, 2147483647}},
5884 };
5885 return llvm::directive::FindName(OMPD_begin_declare_target_spellings, Version);
5886 }
5887 case OMPD_begin_declare_variant: {
5888 static constexpr llvm::directive::Spelling OMPD_begin_declare_variant_spellings[] = {
5889 {"begin declare variant", {1, 52}},
5890 {"begin declare_variant", {60, 2147483647}},
5891 };
5892 return llvm::directive::FindName(OMPD_begin_declare_variant_spellings, Version);
5893 }
5894 case OMPD_cancel:
5895 return "cancel";
5896 case OMPD_cancellation_point: {
5897 static constexpr llvm::directive::Spelling OMPD_cancellation_point_spellings[] = {
5898 {"cancellation point", {1, 52}},
5899 {"cancellation_point", {60, 2147483647}},
5900 };
5901 return llvm::directive::FindName(OMPD_cancellation_point_spellings, Version);
5902 }
5903 case OMPD_critical:
5904 return "critical";
5905 case OMPD_declare_induction:
5906 return "declare_induction";
5907 case OMPD_declare_mapper: {
5908 static constexpr llvm::directive::Spelling OMPD_declare_mapper_spellings[] = {
5909 {"declare mapper", {1, 52}},
5910 {"declare_mapper", {60, 2147483647}},
5911 };
5912 return llvm::directive::FindName(OMPD_declare_mapper_spellings, Version);
5913 }
5914 case OMPD_declare_reduction: {
5915 static constexpr llvm::directive::Spelling OMPD_declare_reduction_spellings[] = {
5916 {"declare reduction", {1, 52}},
5917 {"declare_reduction", {60, 2147483647}},
5918 };
5919 return llvm::directive::FindName(OMPD_declare_reduction_spellings, Version);
5920 }
5921 case OMPD_declare_simd: {
5922 static constexpr llvm::directive::Spelling OMPD_declare_simd_spellings[] = {
5923 {"declare simd", {1, 52}},
5924 {"declare_simd", {60, 2147483647}},
5925 };
5926 return llvm::directive::FindName(OMPD_declare_simd_spellings, Version);
5927 }
5928 case OMPD_declare_target: {
5929 static constexpr llvm::directive::Spelling OMPD_declare_target_spellings[] = {
5930 {"declare target", {1, 52}},
5931 {"declare_target", {60, 2147483647}},
5932 };
5933 return llvm::directive::FindName(OMPD_declare_target_spellings, Version);
5934 }
5935 case OMPD_declare_variant: {
5936 static constexpr llvm::directive::Spelling OMPD_declare_variant_spellings[] = {
5937 {"declare variant", {1, 52}},
5938 {"declare_variant", {60, 2147483647}},
5939 };
5940 return llvm::directive::FindName(OMPD_declare_variant_spellings, Version);
5941 }
5942 case OMPD_depobj:
5943 return "depobj";
5944 case OMPD_distribute:
5945 return "distribute";
5946 case OMPD_distribute_parallel_do:
5947 return "distribute parallel do";
5948 case OMPD_distribute_parallel_do_simd:
5949 return "distribute parallel do simd";
5950 case OMPD_distribute_parallel_for:
5951 return "distribute parallel for";
5952 case OMPD_distribute_parallel_for_simd:
5953 return "distribute parallel for simd";
5954 case OMPD_distribute_simd:
5955 return "distribute simd";
5956 case OMPD_do:
5957 return "do";
5958 case OMPD_do_simd:
5959 return "do simd";
5960 case OMPD_end_assumes:
5961 return "end assumes";
5962 case OMPD_end_declare_target: {
5963 static constexpr llvm::directive::Spelling OMPD_end_declare_target_spellings[] = {
5964 {"end declare target", {1, 52}},
5965 {"end declare_target", {60, 2147483647}},
5966 };
5967 return llvm::directive::FindName(OMPD_end_declare_target_spellings, Version);
5968 }
5969 case OMPD_end_declare_variant: {
5970 static constexpr llvm::directive::Spelling OMPD_end_declare_variant_spellings[] = {
5971 {"end declare variant", {1, 52}},
5972 {"end declare_variant", {60, 2147483647}},
5973 };
5974 return llvm::directive::FindName(OMPD_end_declare_variant_spellings, Version);
5975 }
5976 case OMPD_error:
5977 return "error";
5978 case OMPD_flatten:
5979 return "flatten";
5980 case OMPD_flush:
5981 return "flush";
5982 case OMPD_for:
5983 return "for";
5984 case OMPD_for_simd:
5985 return "for simd";
5986 case OMPD_fuse:
5987 return "fuse";
5988 case OMPD_groupprivate:
5989 return "groupprivate";
5990 case OMPD_interchange:
5991 return "interchange";
5992 case OMPD_masked_taskloop:
5993 return "masked taskloop";
5994 case OMPD_masked_taskloop_simd:
5995 return "masked taskloop simd";
5996 case OMPD_master:
5997 return "master";
5998 case OMPD_master_taskloop:
5999 return "master taskloop";
6000 case OMPD_master_taskloop_simd:
6001 return "master taskloop simd";
6002 case OMPD_metadirective:
6003 return "metadirective";
6004 case OMPD_nothing:
6005 return "nothing";
6006 case OMPD_ordered_blockassoc:
6007 return "ordered";
6008 case OMPD_ordered_standalone:
6009 return "ordered";
6010 case OMPD_parallel:
6011 return "parallel";
6012 case OMPD_parallel_do:
6013 return "parallel do";
6014 case OMPD_parallel_do_simd:
6015 return "parallel do simd";
6016 case OMPD_parallel_for:
6017 return "parallel for";
6018 case OMPD_parallel_for_simd:
6019 return "parallel for simd";
6020 case OMPD_parallel_masked:
6021 return "parallel masked";
6022 case OMPD_parallel_masked_taskloop:
6023 return "parallel masked taskloop";
6024 case OMPD_parallel_masked_taskloop_simd:
6025 return "parallel masked taskloop simd";
6026 case OMPD_parallel_master:
6027 return "parallel master";
6028 case OMPD_parallel_master_taskloop:
6029 return "parallel master taskloop";
6030 case OMPD_parallel_master_taskloop_simd:
6031 return "parallel master taskloop simd";
6032 case OMPD_parallel_sections:
6033 return "parallel sections";
6034 case OMPD_parallel_workshare:
6035 return "parallel workshare";
6036 case OMPD_requires:
6037 return "requires";
6038 case OMPD_reverse:
6039 return "reverse";
6040 case OMPD_scan:
6041 return "scan";
6042 case OMPD_scope:
6043 return "scope";
6044 case OMPD_section:
6045 return "section";
6046 case OMPD_sections:
6047 return "sections";
6048 case OMPD_simd:
6049 return "simd";
6050 case OMPD_single:
6051 return "single";
6052 case OMPD_split:
6053 return "split";
6054 case OMPD_stripe:
6055 return "stripe";
6056 case OMPD_target:
6057 return "target";
6058 case OMPD_target_data: {
6059 static constexpr llvm::directive::Spelling OMPD_target_data_spellings[] = {
6060 {"target data", {1, 52}},
6061 {"target_data", {60, 2147483647}},
6062 };
6063 return llvm::directive::FindName(OMPD_target_data_spellings, Version);
6064 }
6065 case OMPD_target_enter_data: {
6066 static constexpr llvm::directive::Spelling OMPD_target_enter_data_spellings[] = {
6067 {"target enter data", {1, 52}},
6068 {"target_enter_data", {60, 2147483647}},
6069 };
6070 return llvm::directive::FindName(OMPD_target_enter_data_spellings, Version);
6071 }
6072 case OMPD_target_exit_data: {
6073 static constexpr llvm::directive::Spelling OMPD_target_exit_data_spellings[] = {
6074 {"target exit data", {1, 52}},
6075 {"target_exit_data", {60, 2147483647}},
6076 };
6077 return llvm::directive::FindName(OMPD_target_exit_data_spellings, Version);
6078 }
6079 case OMPD_target_parallel:
6080 return "target parallel";
6081 case OMPD_target_parallel_do:
6082 return "target parallel do";
6083 case OMPD_target_parallel_do_simd:
6084 return "target parallel do simd";
6085 case OMPD_target_parallel_for:
6086 return "target parallel for";
6087 case OMPD_target_parallel_for_simd:
6088 return "target parallel for simd";
6089 case OMPD_target_simd:
6090 return "target simd";
6091 case OMPD_target_teams:
6092 return "target teams";
6093 case OMPD_target_teams_distribute:
6094 return "target teams distribute";
6095 case OMPD_target_teams_distribute_parallel_do:
6096 return "target teams distribute parallel do";
6097 case OMPD_target_teams_distribute_parallel_do_simd:
6098 return "target teams distribute parallel do simd";
6099 case OMPD_target_teams_distribute_parallel_for:
6100 return "target teams distribute parallel for";
6101 case OMPD_target_teams_distribute_parallel_for_simd:
6102 return "target teams distribute parallel for simd";
6103 case OMPD_target_teams_distribute_simd:
6104 return "target teams distribute simd";
6105 case OMPD_target_teams_workdistribute:
6106 return "target teams workdistribute";
6107 case OMPD_target_update: {
6108 static constexpr llvm::directive::Spelling OMPD_target_update_spellings[] = {
6109 {"target update", {1, 52}},
6110 {"target_update", {60, 2147483647}},
6111 };
6112 return llvm::directive::FindName(OMPD_target_update_spellings, Version);
6113 }
6114 case OMPD_task:
6115 return "task";
6116 case OMPD_taskgroup:
6117 return "taskgroup";
6118 case OMPD_taskloop:
6119 return "taskloop";
6120 case OMPD_taskloop_simd:
6121 return "taskloop simd";
6122 case OMPD_taskwait:
6123 return "taskwait";
6124 case OMPD_taskyield:
6125 return "taskyield";
6126 case OMPD_taskgraph:
6127 return "taskgraph";
6128 case OMPD_teams:
6129 return "teams";
6130 case OMPD_teams_distribute:
6131 return "teams distribute";
6132 case OMPD_teams_distribute_parallel_do:
6133 return "teams distribute parallel do";
6134 case OMPD_teams_distribute_parallel_do_simd:
6135 return "teams distribute parallel do simd";
6136 case OMPD_teams_distribute_parallel_for:
6137 return "teams distribute parallel for";
6138 case OMPD_teams_distribute_parallel_for_simd:
6139 return "teams distribute parallel for simd";
6140 case OMPD_teams_distribute_simd:
6141 return "teams distribute simd";
6142 case OMPD_teams_workdistribute:
6143 return "teams workdistribute";
6144 case OMPD_threadprivate:
6145 return "threadprivate";
6146 case OMPD_tile:
6147 return "tile";
6148 case OMPD_unknown:
6149 return "unknown";
6150 case OMPD_unroll:
6151 return "unroll";
6152 case OMPD_workdistribute:
6153 return "workdistribute";
6154 case OMPD_workshare:
6155 return "workshare";
6156 case OMPD_dispatch:
6157 return "dispatch";
6158 case OMPD_interop:
6159 return "interop";
6160 case OMPD_loop:
6161 return "loop";
6162 case OMPD_masked:
6163 return "masked";
6164 case OMPD_parallel_loop:
6165 return "parallel loop";
6166 case OMPD_target_loop:
6167 return "target loop";
6168 case OMPD_target_parallel_loop:
6169 return "target parallel loop";
6170 case OMPD_target_teams_loop:
6171 return "target teams loop";
6172 case OMPD_teams_loop:
6173 return "teams loop";
6174 }
6175 llvm_unreachable("Invalid OpenMP Directive kind");
6176}
6177
6178std::pair<llvm::omp::Clause, llvm::directive::VersionRange> llvm::omp::getOpenMPClauseKindAndVersions(llvm::StringRef Str) {
6179 directive::VersionRange All; // Default-initialized to "all versions"
6180 return StringSwitch<std::pair<Clause, directive::VersionRange>>(Str)
6181 .Case("absent", {OMPC_absent, All})
6182 .Case("acq_rel", {OMPC_acq_rel, All})
6183 .Case("acquire", {OMPC_acquire, All})
6184 .Case("adjust_args", {OMPC_adjust_args, All})
6185 .Case("affinity", {OMPC_affinity, All})
6186 .Case("align", {OMPC_align, All})
6187 .Case("aligned", {OMPC_aligned, All})
6188 .Case("allocate", {OMPC_allocate, All})
6189 .Case("allocator", {OMPC_allocator, All})
6190 .Case("append_args", {OMPC_append_args, All})
6191 .Case("apply", {OMPC_apply, All})
6192 .Case("at", {OMPC_at, All})
6193 .Case("atomic_default_mem_order", {OMPC_atomic_default_mem_order, All})
6194 .Case("bind", {OMPC_bind, All})
6195 .Case("cancellation_construct_type", {OMPC_cancellation_construct_type, All})
6196 .Case("capture", {OMPC_capture, All})
6197 .Case("collapse", {OMPC_collapse, All})
6198 .Case("collector", {OMPC_collector, All})
6199 .Case("combiner", {OMPC_combiner, All})
6200 .Case("compare", {OMPC_compare, All})
6201 .Case("contains", {OMPC_contains, All})
6202 .Case("copyprivate", {OMPC_copyprivate, All})
6203 .Case("copyin", {OMPC_copyin, All})
6204 .Case("counts", {OMPC_counts, All})
6205 .Case("default", {OMPC_default, All})
6206 .Case("defaultmap", {OMPC_defaultmap, All})
6207 .Case("default", {OMPC_default_variant, All})
6208 .Case("depend", {OMPC_depend, All})
6209 .Case("depobj", {OMPC_unknown, All})
6210 .Case("depth", {OMPC_depth, All})
6211 .Case("destroy", {OMPC_destroy, All})
6212 .Case("detach", {OMPC_detach, All})
6213 .Case("device", {OMPC_device, All})
6214 .Case("device_safesync", {OMPC_device_safesync, All})
6215 .Case("device_type", {OMPC_device_type, All})
6216 .Case("dist_schedule", {OMPC_dist_schedule, All})
6217 .Case("doacross", {OMPC_doacross, All})
6218 .Case("dyn_groupprivate", {OMPC_dyn_groupprivate, All})
6219 .Case("dynamic_allocators", {OMPC_dynamic_allocators, All})
6220 .Case("enter", {OMPC_enter, All})
6221 .Case("exclusive", {OMPC_exclusive, All})
6222 .Case("fail", {OMPC_fail, All})
6223 .Case("filter", {OMPC_filter, All})
6224 .Case("final", {OMPC_final, All})
6225 .Case("firstprivate", {OMPC_firstprivate, All})
6226 .Case("flush", {OMPC_unknown, All})
6227 .Case("from", {OMPC_from, All})
6228 .Case("full", {OMPC_full, All})
6229 .Case("grainsize", {OMPC_grainsize, All})
6230 .Case("graph_id", {OMPC_graph_id, All})
6231 .Case("graph_reset", {OMPC_graph_reset, All})
6232 .Case("groupprivate", {OMPC_unknown, All})
6233 .Case("has_device_addr", {OMPC_has_device_addr, All})
6234 .Case("hint", {OMPC_hint, All})
6235 .Case("holds", {OMPC_holds, All})
6236 .Case("if", {OMPC_if, All})
6237 .Case("in_reduction", {OMPC_in_reduction, All})
6238 .Case("inbranch", {OMPC_inbranch, All})
6239 .Case("inclusive", {OMPC_inclusive, All})
6240 .Case("indirect", {OMPC_indirect, All})
6241 .Case("induction", {OMPC_induction, All})
6242 .Case("inductor", {OMPC_inductor, All})
6243 .Case("init", {OMPC_init, All})
6244 .Case("init_complete", {OMPC_init_complete, All})
6245 .Case("initializer", {OMPC_initializer, All})
6246 .Case("interop", {OMPC_interop, All})
6247 .Case("is_device_ptr", {OMPC_is_device_ptr, All})
6248 .Case("lastprivate", {OMPC_lastprivate, All})
6249 .Case("linear", {OMPC_linear, All})
6250 .Case("link", {OMPC_link, All})
6251 .Case("local", {OMPC_local, All})
6252 .Case("looprange", {OMPC_looprange, All})
6253 .Case("map", {OMPC_map, All})
6254 .Case("match", {OMPC_match, All})
6255 .Case("memory_order", {OMPC_memory_order, All})
6256 .Case("memscope", {OMPC_memscope, All})
6257 .Case("mergeable", {OMPC_mergeable, All})
6258 .Case("message", {OMPC_message, All})
6259 .Case("nogroup", {OMPC_nogroup, All})
6260 .Case("no_openmp", {OMPC_no_openmp, All})
6261 .Case("no_openmp_constructs", {OMPC_no_openmp_constructs, All})
6262 .Case("no_openmp_routines", {OMPC_no_openmp_routines, All})
6263 .Case("no_parallelism", {OMPC_no_parallelism, All})
6264 .Case("nowait", {OMPC_nowait, All})
6265 .Case("nocontext", {OMPC_nocontext, All})
6266 .Case("nontemporal", {OMPC_nontemporal, All})
6267 .Case("notinbranch", {OMPC_notinbranch, All})
6268 .Case("novariants", {OMPC_novariants, All})
6269 .Case("num_tasks", {OMPC_num_tasks, All})
6270 .Case("num_teams", {OMPC_num_teams, All})
6271 .Case("num_threads", {OMPC_num_threads, All})
6272 .Case("ompx_attribute", {OMPC_ompx_attribute, All})
6273 .Case("ompx_bare", {OMPC_ompx_bare, All})
6274 .Case("ompx_dyn_cgroup_mem", {OMPC_ompx_dyn_cgroup_mem, All})
6275 .Case("order", {OMPC_order, All})
6276 .Case("ordered", {OMPC_ordered, All})
6277 .Case("otherwise", {OMPC_otherwise, All})
6278 .Case("partial", {OMPC_partial, All})
6279 .Case("permutation", {OMPC_permutation, All})
6280 .Case("priority", {OMPC_priority, All})
6281 .Case("private", {OMPC_private, All})
6282 .Case("proc_bind", {OMPC_proc_bind, All})
6283 .Case("read", {OMPC_read, All})
6284 .Case("reduction", {OMPC_reduction, All})
6285 .Case("relaxed", {OMPC_relaxed, All})
6286 .Case("release", {OMPC_release, All})
6287 .Case("replayable", {OMPC_replayable, All})
6288 .Case("reverse_offload", {OMPC_reverse_offload, All})
6289 .Case("safelen", {OMPC_safelen, All})
6290 .Case("safesync", {OMPC_safesync, All})
6291 .Case("schedule", {OMPC_schedule, All})
6292 .Case("self_maps", {OMPC_self_maps, All})
6293 .Case("seq_cst", {OMPC_seq_cst, All})
6294 .Case("severity", {OMPC_severity, All})
6295 .Case("shared", {OMPC_shared, All})
6296 .Case("simd", {OMPC_simd, All})
6297 .Case("simdlen", {OMPC_simdlen, All})
6298 .Case("sizes", {OMPC_sizes, All})
6299 .Case("task_reduction", {OMPC_task_reduction, All})
6300 .Case("thread_limit", {OMPC_thread_limit, All})
6301 .Case("threadprivate", {OMPC_unknown, All})
6302 .Case("threads", {OMPC_threads, All})
6303 .Case("threadset", {OMPC_threadset, All})
6304 .Case("to", {OMPC_to, All})
6305 .Case("transparent", {OMPC_transparent, All})
6306 .Case("unified_address", {OMPC_unified_address, All})
6307 .Case("unified_shared_memory", {OMPC_unified_shared_memory, All})
6308 .Case("uniform", {OMPC_uniform, All})
6309 .Case("unknown", {OMPC_unknown, All})
6310 .Case("untied", {OMPC_untied, All})
6311 .Case("update", {OMPC_update, All})
6312 .Case("update", {OMPC_update_depend_objects, All})
6313 .Case("use", {OMPC_use, All})
6314 .Case("use_device_addr", {OMPC_use_device_addr, All})
6315 .Case("use_device_ptr", {OMPC_use_device_ptr, All})
6316 .Case("uses_allocators", {OMPC_uses_allocators, All})
6317 .Case("weak", {OMPC_weak, All})
6318 .Case("when", {OMPC_when, All})
6319 .Case("write", {OMPC_write, All})
6320 .Default({OMPC_unknown, All});
6321}
6322
6323llvm::StringRef llvm::omp::getOpenMPClauseName(llvm::omp::Clause Kind, unsigned Version) {
6324 switch (Kind) {
6325 case OMPC_absent:
6326 return "absent";
6327 case OMPC_acq_rel:
6328 return "acq_rel";
6329 case OMPC_acquire:
6330 return "acquire";
6331 case OMPC_adjust_args:
6332 return "adjust_args";
6333 case OMPC_affinity:
6334 return "affinity";
6335 case OMPC_align:
6336 return "align";
6337 case OMPC_aligned:
6338 return "aligned";
6339 case OMPC_allocate:
6340 return "allocate";
6341 case OMPC_allocator:
6342 return "allocator";
6343 case OMPC_append_args:
6344 return "append_args";
6345 case OMPC_apply:
6346 return "apply";
6347 case OMPC_at:
6348 return "at";
6349 case OMPC_atomic_default_mem_order:
6350 return "atomic_default_mem_order";
6351 case OMPC_bind:
6352 return "bind";
6353 case OMPC_cancellation_construct_type:
6354 return "cancellation_construct_type";
6355 case OMPC_capture:
6356 return "capture";
6357 case OMPC_collapse:
6358 return "collapse";
6359 case OMPC_collector:
6360 return "collector";
6361 case OMPC_combiner:
6362 return "combiner";
6363 case OMPC_compare:
6364 return "compare";
6365 case OMPC_contains:
6366 return "contains";
6367 case OMPC_copyprivate:
6368 return "copyprivate";
6369 case OMPC_copyin:
6370 return "copyin";
6371 case OMPC_counts:
6372 return "counts";
6373 case OMPC_default:
6374 return "default";
6375 case OMPC_defaultmap:
6376 return "defaultmap";
6377 case OMPC_default_variant:
6378 return "default";
6379 case OMPC_depend:
6380 return "depend";
6381 case OMPC_depobj:
6382 return "depobj";
6383 case OMPC_depth:
6384 return "depth";
6385 case OMPC_destroy:
6386 return "destroy";
6387 case OMPC_detach:
6388 return "detach";
6389 case OMPC_device:
6390 return "device";
6391 case OMPC_device_safesync:
6392 return "device_safesync";
6393 case OMPC_device_type:
6394 return "device_type";
6395 case OMPC_dist_schedule:
6396 return "dist_schedule";
6397 case OMPC_doacross:
6398 return "doacross";
6399 case OMPC_dyn_groupprivate:
6400 return "dyn_groupprivate";
6401 case OMPC_dynamic_allocators:
6402 return "dynamic_allocators";
6403 case OMPC_enter:
6404 return "enter";
6405 case OMPC_exclusive:
6406 return "exclusive";
6407 case OMPC_fail:
6408 return "fail";
6409 case OMPC_filter:
6410 return "filter";
6411 case OMPC_final:
6412 return "final";
6413 case OMPC_firstprivate:
6414 return "firstprivate";
6415 case OMPC_flush:
6416 return "flush";
6417 case OMPC_from:
6418 return "from";
6419 case OMPC_full:
6420 return "full";
6421 case OMPC_grainsize:
6422 return "grainsize";
6423 case OMPC_graph_id:
6424 return "graph_id";
6425 case OMPC_graph_reset:
6426 return "graph_reset";
6427 case OMPC_groupprivate:
6428 return "groupprivate";
6429 case OMPC_has_device_addr:
6430 return "has_device_addr";
6431 case OMPC_hint:
6432 return "hint";
6433 case OMPC_holds:
6434 return "holds";
6435 case OMPC_if:
6436 return "if";
6437 case OMPC_in_reduction:
6438 return "in_reduction";
6439 case OMPC_inbranch:
6440 return "inbranch";
6441 case OMPC_inclusive:
6442 return "inclusive";
6443 case OMPC_indirect:
6444 return "indirect";
6445 case OMPC_induction:
6446 return "induction";
6447 case OMPC_inductor:
6448 return "inductor";
6449 case OMPC_init:
6450 return "init";
6451 case OMPC_init_complete:
6452 return "init_complete";
6453 case OMPC_initializer:
6454 return "initializer";
6455 case OMPC_interop:
6456 return "interop";
6457 case OMPC_is_device_ptr:
6458 return "is_device_ptr";
6459 case OMPC_lastprivate:
6460 return "lastprivate";
6461 case OMPC_linear:
6462 return "linear";
6463 case OMPC_link:
6464 return "link";
6465 case OMPC_local:
6466 return "local";
6467 case OMPC_looprange:
6468 return "looprange";
6469 case OMPC_map:
6470 return "map";
6471 case OMPC_match:
6472 return "match";
6473 case OMPC_memory_order:
6474 return "memory_order";
6475 case OMPC_memscope:
6476 return "memscope";
6477 case OMPC_mergeable:
6478 return "mergeable";
6479 case OMPC_message:
6480 return "message";
6481 case OMPC_nogroup:
6482 return "nogroup";
6483 case OMPC_no_openmp:
6484 return "no_openmp";
6485 case OMPC_no_openmp_constructs:
6486 return "no_openmp_constructs";
6487 case OMPC_no_openmp_routines:
6488 return "no_openmp_routines";
6489 case OMPC_no_parallelism:
6490 return "no_parallelism";
6491 case OMPC_nowait:
6492 return "nowait";
6493 case OMPC_nocontext:
6494 return "nocontext";
6495 case OMPC_nontemporal:
6496 return "nontemporal";
6497 case OMPC_notinbranch:
6498 return "notinbranch";
6499 case OMPC_novariants:
6500 return "novariants";
6501 case OMPC_num_tasks:
6502 return "num_tasks";
6503 case OMPC_num_teams:
6504 return "num_teams";
6505 case OMPC_num_threads:
6506 return "num_threads";
6507 case OMPC_ompx_attribute:
6508 return "ompx_attribute";
6509 case OMPC_ompx_bare:
6510 return "ompx_bare";
6511 case OMPC_ompx_dyn_cgroup_mem:
6512 return "ompx_dyn_cgroup_mem";
6513 case OMPC_order:
6514 return "order";
6515 case OMPC_ordered:
6516 return "ordered";
6517 case OMPC_otherwise:
6518 return "otherwise";
6519 case OMPC_partial:
6520 return "partial";
6521 case OMPC_permutation:
6522 return "permutation";
6523 case OMPC_priority:
6524 return "priority";
6525 case OMPC_private:
6526 return "private";
6527 case OMPC_proc_bind:
6528 return "proc_bind";
6529 case OMPC_read:
6530 return "read";
6531 case OMPC_reduction:
6532 return "reduction";
6533 case OMPC_relaxed:
6534 return "relaxed";
6535 case OMPC_release:
6536 return "release";
6537 case OMPC_replayable:
6538 return "replayable";
6539 case OMPC_reverse_offload:
6540 return "reverse_offload";
6541 case OMPC_safelen:
6542 return "safelen";
6543 case OMPC_safesync:
6544 return "safesync";
6545 case OMPC_schedule:
6546 return "schedule";
6547 case OMPC_self_maps:
6548 return "self_maps";
6549 case OMPC_seq_cst:
6550 return "seq_cst";
6551 case OMPC_severity:
6552 return "severity";
6553 case OMPC_shared:
6554 return "shared";
6555 case OMPC_simd:
6556 return "simd";
6557 case OMPC_simdlen:
6558 return "simdlen";
6559 case OMPC_sizes:
6560 return "sizes";
6561 case OMPC_task_reduction:
6562 return "task_reduction";
6563 case OMPC_thread_limit:
6564 return "thread_limit";
6565 case OMPC_threadprivate:
6566 return "threadprivate";
6567 case OMPC_threads:
6568 return "threads";
6569 case OMPC_threadset:
6570 return "threadset";
6571 case OMPC_to:
6572 return "to";
6573 case OMPC_transparent:
6574 return "transparent";
6575 case OMPC_unified_address:
6576 return "unified_address";
6577 case OMPC_unified_shared_memory:
6578 return "unified_shared_memory";
6579 case OMPC_uniform:
6580 return "uniform";
6581 case OMPC_unknown:
6582 return "unknown";
6583 case OMPC_untied:
6584 return "untied";
6585 case OMPC_update:
6586 return "update";
6587 case OMPC_update_depend_objects:
6588 return "update";
6589 case OMPC_use:
6590 return "use";
6591 case OMPC_use_device_addr:
6592 return "use_device_addr";
6593 case OMPC_use_device_ptr:
6594 return "use_device_ptr";
6595 case OMPC_uses_allocators:
6596 return "uses_allocators";
6597 case OMPC_weak:
6598 return "weak";
6599 case OMPC_when:
6600 return "when";
6601 case OMPC_write:
6602 return "write";
6603 }
6604 llvm_unreachable("Invalid OpenMP Clause kind");
6605}
6606
6607llvm::omp::BindKind llvm::omp::getBindKind(llvm::StringRef Str) {
6608 return StringSwitch<BindKind>(Str)
6609 .Case("parallel",OMP_BIND_parallel)
6610 .Case("teams",OMP_BIND_teams)
6611 .Case("thread",OMP_BIND_thread)
6612 .Default(OMP_BIND_thread);
6613}
6614
6615llvm::StringRef llvm::omp::getOpenMPBindKindName(llvm::omp::BindKind x) {
6616 switch (x) {
6617 case OMP_BIND_parallel:
6618 return "parallel";
6619 case OMP_BIND_teams:
6620 return "teams";
6621 case OMP_BIND_thread:
6622 return "thread";
6623 }
6624 llvm_unreachable("Invalid OpenMP BindKind kind");
6625}
6626
6627llvm::omp::CancellationConstructType llvm::omp::getCancellationConstructType(llvm::StringRef Str) {
6628 return StringSwitch<CancellationConstructType>(Str)
6629 .Case("parallel",OMP_CANCELLATION_CONSTRUCT_Parallel)
6630 .Case("loop",OMP_CANCELLATION_CONSTRUCT_Loop)
6631 .Case("sections",OMP_CANCELLATION_CONSTRUCT_Sections)
6632 .Case("taskgroup",OMP_CANCELLATION_CONSTRUCT_Taskgroup)
6633 .Case("none",OMP_CANCELLATION_CONSTRUCT_None)
6634 .Default(OMP_CANCELLATION_CONSTRUCT_None);
6635}
6636
6637llvm::StringRef llvm::omp::getOpenMPCancellationConstructTypeName(llvm::omp::CancellationConstructType x) {
6638 switch (x) {
6639 case OMP_CANCELLATION_CONSTRUCT_Parallel:
6640 return "parallel";
6641 case OMP_CANCELLATION_CONSTRUCT_Loop:
6642 return "loop";
6643 case OMP_CANCELLATION_CONSTRUCT_Sections:
6644 return "sections";
6645 case OMP_CANCELLATION_CONSTRUCT_Taskgroup:
6646 return "taskgroup";
6647 case OMP_CANCELLATION_CONSTRUCT_None:
6648 return "none";
6649 }
6650 llvm_unreachable("Invalid OpenMP CancellationConstructType kind");
6651}
6652
6653llvm::omp::GrainsizeType llvm::omp::getGrainsizeType(llvm::StringRef Str) {
6654 return StringSwitch<GrainsizeType>(Str)
6655 .Case("strict",OMP_GRAINSIZE_Strict)
6656 .Case("unknown",OMP_GRAINSIZE_Unknown)
6657 .Default(OMP_GRAINSIZE_Unknown);
6658}
6659
6660llvm::StringRef llvm::omp::getOpenMPGrainsizeTypeName(llvm::omp::GrainsizeType x) {
6661 switch (x) {
6662 case OMP_GRAINSIZE_Strict:
6663 return "strict";
6664 case OMP_GRAINSIZE_Unknown:
6665 return "unknown";
6666 }
6667 llvm_unreachable("Invalid OpenMP GrainsizeType kind");
6668}
6669
6670llvm::omp::MemoryOrderKind llvm::omp::getMemoryOrderKind(llvm::StringRef Str) {
6671 return StringSwitch<MemoryOrderKind>(Str)
6672 .Case("seq_cst",OMP_MEMORY_ORDER_SeqCst)
6673 .Case("acq_rel",OMP_MEMORY_ORDER_AcqRel)
6674 .Case("acquire",OMP_MEMORY_ORDER_Acquire)
6675 .Case("release",OMP_MEMORY_ORDER_Release)
6676 .Case("relaxed",OMP_MEMORY_ORDER_Relaxed)
6677 .Case("default",OMP_MEMORY_ORDER_Default)
6678 .Default(OMP_MEMORY_ORDER_Default);
6679}
6680
6681llvm::StringRef llvm::omp::getOpenMPMemoryOrderKindName(llvm::omp::MemoryOrderKind x) {
6682 switch (x) {
6683 case OMP_MEMORY_ORDER_SeqCst:
6684 return "seq_cst";
6685 case OMP_MEMORY_ORDER_AcqRel:
6686 return "acq_rel";
6687 case OMP_MEMORY_ORDER_Acquire:
6688 return "acquire";
6689 case OMP_MEMORY_ORDER_Release:
6690 return "release";
6691 case OMP_MEMORY_ORDER_Relaxed:
6692 return "relaxed";
6693 case OMP_MEMORY_ORDER_Default:
6694 return "default";
6695 }
6696 llvm_unreachable("Invalid OpenMP MemoryOrderKind kind");
6697}
6698
6699llvm::omp::NumTasksType llvm::omp::getNumTasksType(llvm::StringRef Str) {
6700 return StringSwitch<NumTasksType>(Str)
6701 .Case("strict",OMP_NUMTASKS_Strict)
6702 .Case("unknown",OMP_NUMTASKS_Unknown)
6703 .Default(OMP_NUMTASKS_Unknown);
6704}
6705
6706llvm::StringRef llvm::omp::getOpenMPNumTasksTypeName(llvm::omp::NumTasksType x) {
6707 switch (x) {
6708 case OMP_NUMTASKS_Strict:
6709 return "strict";
6710 case OMP_NUMTASKS_Unknown:
6711 return "unknown";
6712 }
6713 llvm_unreachable("Invalid OpenMP NumTasksType kind");
6714}
6715
6716llvm::omp::NumThreadsType llvm::omp::getNumThreadsType(llvm::StringRef Str) {
6717 return StringSwitch<NumThreadsType>(Str)
6718 .Case("strict",OMP_NUMTHREADS_Strict)
6719 .Case("unknown",OMP_NUMTHREADS_Unknown)
6720 .Default(OMP_NUMTHREADS_Unknown);
6721}
6722
6723llvm::StringRef llvm::omp::getOpenMPNumThreadsTypeName(llvm::omp::NumThreadsType x) {
6724 switch (x) {
6725 case OMP_NUMTHREADS_Strict:
6726 return "strict";
6727 case OMP_NUMTHREADS_Unknown:
6728 return "unknown";
6729 }
6730 llvm_unreachable("Invalid OpenMP NumThreadsType kind");
6731}
6732
6733llvm::omp::OrderKind llvm::omp::getOrderKind(llvm::StringRef Str) {
6734 return StringSwitch<OrderKind>(Str)
6735 .Case("unknown",OMP_ORDER_unknown)
6736 .Case("concurrent",OMP_ORDER_concurrent)
6737 .Default(OMP_ORDER_unknown);
6738}
6739
6740llvm::StringRef llvm::omp::getOpenMPOrderKindName(llvm::omp::OrderKind x) {
6741 switch (x) {
6742 case OMP_ORDER_unknown:
6743 return "unknown";
6744 case OMP_ORDER_concurrent:
6745 return "concurrent";
6746 }
6747 llvm_unreachable("Invalid OpenMP OrderKind kind");
6748}
6749
6750llvm::omp::ProcBindKind llvm::omp::getProcBindKind(llvm::StringRef Str) {
6751 return StringSwitch<ProcBindKind>(Str)
6752 .Case("primary",OMP_PROC_BIND_primary)
6753 .Case("master",OMP_PROC_BIND_master)
6754 .Case("close",OMP_PROC_BIND_close)
6755 .Case("spread",OMP_PROC_BIND_spread)
6756 .Case("default",OMP_PROC_BIND_default)
6757 .Case("unknown",OMP_PROC_BIND_unknown)
6758 .Default(OMP_PROC_BIND_unknown);
6759}
6760
6761llvm::StringRef llvm::omp::getOpenMPProcBindKindName(llvm::omp::ProcBindKind x) {
6762 switch (x) {
6763 case OMP_PROC_BIND_primary:
6764 return "primary";
6765 case OMP_PROC_BIND_master:
6766 return "master";
6767 case OMP_PROC_BIND_close:
6768 return "close";
6769 case OMP_PROC_BIND_spread:
6770 return "spread";
6771 case OMP_PROC_BIND_default:
6772 return "default";
6773 case OMP_PROC_BIND_unknown:
6774 return "unknown";
6775 }
6776 llvm_unreachable("Invalid OpenMP ProcBindKind kind");
6777}
6778
6779llvm::omp::ScheduleKind llvm::omp::getScheduleKind(llvm::StringRef Str) {
6780 return StringSwitch<ScheduleKind>(Str)
6781 .Case("static",OMP_SCHEDULE_Static)
6782 .Case("dynamic",OMP_SCHEDULE_Dynamic)
6783 .Case("guided",OMP_SCHEDULE_Guided)
6784 .Case("auto",OMP_SCHEDULE_Auto)
6785 .Case("runtime",OMP_SCHEDULE_Runtime)
6786 .Case("distribute",OMP_SCHEDULE_Distribute)
6787 .Case("default",OMP_SCHEDULE_Default)
6788 .Default(OMP_SCHEDULE_Default);
6789}
6790
6791llvm::StringRef llvm::omp::getOpenMPScheduleKindName(llvm::omp::ScheduleKind x) {
6792 switch (x) {
6793 case OMP_SCHEDULE_Static:
6794 return "static";
6795 case OMP_SCHEDULE_Dynamic:
6796 return "dynamic";
6797 case OMP_SCHEDULE_Guided:
6798 return "guided";
6799 case OMP_SCHEDULE_Auto:
6800 return "auto";
6801 case OMP_SCHEDULE_Runtime:
6802 return "runtime";
6803 case OMP_SCHEDULE_Distribute:
6804 return "distribute";
6805 case OMP_SCHEDULE_Default:
6806 return "default";
6807 }
6808 llvm_unreachable("Invalid OpenMP ScheduleKind kind");
6809}
6810
6811bool llvm::omp::isAllowedClauseForDirective(llvm::omp::Directive D, llvm::omp::Clause C, unsigned Version) {
6812 assert(unsigned(D) <= Directive_enumSize);
6813 assert(unsigned(C) <= Clause_enumSize);
6814 switch (D) {
6815 case OMPD_allocate:
6816 switch (C) {
6817 case OMPC_align:
6818 return 51 <= Version && 2147483647 >= Version;
6819 case OMPC_allocator:
6820 return 1 <= Version && 2147483647 >= Version;
6821 default:
6822 return false;
6823 }
6824 break;
6825 case OMPD_allocators:
6826 switch (C) {
6827 case OMPC_allocate:
6828 return 50 <= Version && 2147483647 >= Version;
6829 default:
6830 return false;
6831 }
6832 break;
6833 case OMPD_assume:
6834 switch (C) {
6835 case OMPC_absent:
6836 return 51 <= Version && 2147483647 >= Version;
6837 case OMPC_contains:
6838 return 51 <= Version && 2147483647 >= Version;
6839 case OMPC_holds:
6840 return 51 <= Version && 2147483647 >= Version;
6841 case OMPC_no_openmp:
6842 return 51 <= Version && 2147483647 >= Version;
6843 case OMPC_no_openmp_constructs:
6844 return 60 <= Version && 2147483647 >= Version;
6845 case OMPC_no_openmp_routines:
6846 return 51 <= Version && 2147483647 >= Version;
6847 case OMPC_no_parallelism:
6848 return 51 <= Version && 2147483647 >= Version;
6849 default:
6850 return false;
6851 }
6852 break;
6853 case OMPD_assumes:
6854 switch (C) {
6855 case OMPC_absent:
6856 return 51 <= Version && 2147483647 >= Version;
6857 case OMPC_contains:
6858 return 51 <= Version && 2147483647 >= Version;
6859 case OMPC_holds:
6860 return 51 <= Version && 2147483647 >= Version;
6861 case OMPC_no_openmp:
6862 return 51 <= Version && 2147483647 >= Version;
6863 case OMPC_no_openmp_routines:
6864 return 51 <= Version && 2147483647 >= Version;
6865 case OMPC_no_parallelism:
6866 return 51 <= Version && 2147483647 >= Version;
6867 default:
6868 return false;
6869 }
6870 break;
6871 case OMPD_atomic:
6872 switch (C) {
6873 case OMPC_acq_rel:
6874 return 50 <= Version && 2147483647 >= Version;
6875 case OMPC_acquire:
6876 return 50 <= Version && 2147483647 >= Version;
6877 case OMPC_capture:
6878 return 1 <= Version && 2147483647 >= Version;
6879 case OMPC_compare:
6880 return 51 <= Version && 2147483647 >= Version;
6881 case OMPC_fail:
6882 return 51 <= Version && 2147483647 >= Version;
6883 case OMPC_hint:
6884 return 50 <= Version && 2147483647 >= Version;
6885 case OMPC_read:
6886 return 1 <= Version && 2147483647 >= Version;
6887 case OMPC_relaxed:
6888 return 50 <= Version && 2147483647 >= Version;
6889 case OMPC_release:
6890 return 50 <= Version && 2147483647 >= Version;
6891 case OMPC_seq_cst:
6892 return 1 <= Version && 2147483647 >= Version;
6893 case OMPC_update:
6894 return 1 <= Version && 2147483647 >= Version;
6895 case OMPC_weak:
6896 return 51 <= Version && 2147483647 >= Version;
6897 case OMPC_write:
6898 return 1 <= Version && 2147483647 >= Version;
6899 default:
6900 return false;
6901 }
6902 break;
6903 case OMPD_barrier:
6904 return false;
6905 break;
6906 case OMPD_begin_assumes:
6907 switch (C) {
6908 case OMPC_absent:
6909 return 51 <= Version && 2147483647 >= Version;
6910 case OMPC_contains:
6911 return 51 <= Version && 2147483647 >= Version;
6912 case OMPC_holds:
6913 return 51 <= Version && 2147483647 >= Version;
6914 case OMPC_no_openmp:
6915 return 51 <= Version && 2147483647 >= Version;
6916 case OMPC_no_openmp_routines:
6917 return 51 <= Version && 2147483647 >= Version;
6918 case OMPC_no_parallelism:
6919 return 51 <= Version && 2147483647 >= Version;
6920 default:
6921 return false;
6922 }
6923 break;
6924 case OMPD_begin_declare_target:
6925 switch (C) {
6926 case OMPC_link:
6927 return 1 <= Version && 2147483647 >= Version;
6928 case OMPC_to:
6929 return 1 <= Version && 2147483647 >= Version;
6930 case OMPC_device_type:
6931 return 1 <= Version && 2147483647 >= Version;
6932 case OMPC_indirect:
6933 return 51 <= Version && 2147483647 >= Version;
6934 default:
6935 return false;
6936 }
6937 break;
6938 case OMPD_begin_declare_variant:
6939 return false;
6940 break;
6941 case OMPD_cancel:
6942 switch (C) {
6943 case OMPC_if:
6944 return 1 <= Version && 2147483647 >= Version;
6945 case OMPC_cancellation_construct_type:
6946 return 1 <= Version && 2147483647 >= Version;
6947 default:
6948 return false;
6949 }
6950 break;
6951 case OMPD_cancellation_point:
6952 switch (C) {
6953 case OMPC_cancellation_construct_type:
6954 return 1 <= Version && 2147483647 >= Version;
6955 default:
6956 return false;
6957 }
6958 break;
6959 case OMPD_critical:
6960 switch (C) {
6961 case OMPC_hint:
6962 return 1 <= Version && 2147483647 >= Version;
6963 default:
6964 return false;
6965 }
6966 break;
6967 case OMPD_declare_induction:
6968 switch (C) {
6969 case OMPC_collector:
6970 return 60 <= Version && 2147483647 >= Version;
6971 case OMPC_inductor:
6972 return 60 <= Version && 2147483647 >= Version;
6973 default:
6974 return false;
6975 }
6976 break;
6977 case OMPD_declare_mapper:
6978 switch (C) {
6979 case OMPC_map:
6980 return 45 <= Version && 2147483647 >= Version;
6981 default:
6982 return false;
6983 }
6984 break;
6985 case OMPD_declare_reduction:
6986 switch (C) {
6987 case OMPC_combiner:
6988 return 60 <= Version && 2147483647 >= Version;
6989 case OMPC_initializer:
6990 return 1 <= Version && 2147483647 >= Version;
6991 default:
6992 return false;
6993 }
6994 break;
6995 case OMPD_declare_simd:
6996 switch (C) {
6997 case OMPC_aligned:
6998 return 1 <= Version && 2147483647 >= Version;
6999 case OMPC_linear:
7000 return 1 <= Version && 2147483647 >= Version;
7001 case OMPC_uniform:
7002 return 1 <= Version && 2147483647 >= Version;
7003 case OMPC_simdlen:
7004 return 1 <= Version && 2147483647 >= Version;
7005 case OMPC_inbranch:
7006 return 1 <= Version && 2147483647 >= Version;
7007 case OMPC_notinbranch:
7008 return 1 <= Version && 2147483647 >= Version;
7009 default:
7010 return false;
7011 }
7012 break;
7013 case OMPD_declare_target:
7014 switch (C) {
7015 case OMPC_enter:
7016 return 52 <= Version && 2147483647 >= Version;
7017 case OMPC_link:
7018 return 1 <= Version && 2147483647 >= Version;
7019 case OMPC_local:
7020 return 60 <= Version && 2147483647 >= Version;
7021 case OMPC_to:
7022 return 1 <= Version && 2147483647 >= Version;
7023 case OMPC_device_type:
7024 return 50 <= Version && 2147483647 >= Version;
7025 case OMPC_indirect:
7026 return 51 <= Version && 2147483647 >= Version;
7027 default:
7028 return false;
7029 }
7030 break;
7031 case OMPD_declare_variant:
7032 switch (C) {
7033 case OMPC_adjust_args:
7034 return 51 <= Version && 2147483647 >= Version;
7035 case OMPC_append_args:
7036 return 51 <= Version && 2147483647 >= Version;
7037 case OMPC_match:
7038 return 1 <= Version && 2147483647 >= Version;
7039 default:
7040 return false;
7041 }
7042 break;
7043 case OMPD_depobj:
7044 switch (C) {
7045 case OMPC_depend:
7046 return 50 <= Version && 2147483647 >= Version;
7047 case OMPC_depobj:
7048 return 50 <= Version && 2147483647 >= Version;
7049 case OMPC_destroy:
7050 return 50 <= Version && 2147483647 >= Version;
7051 case OMPC_init:
7052 return 60 <= Version && 2147483647 >= Version;
7053 case OMPC_update_depend_objects:
7054 return 50 <= Version && 2147483647 >= Version;
7055 default:
7056 return false;
7057 }
7058 break;
7059 case OMPD_distribute:
7060 switch (C) {
7061 case OMPC_allocate:
7062 return 50 <= Version && 2147483647 >= Version;
7063 case OMPC_firstprivate:
7064 return 1 <= Version && 2147483647 >= Version;
7065 case OMPC_lastprivate:
7066 return 1 <= Version && 2147483647 >= Version;
7067 case OMPC_private:
7068 return 1 <= Version && 2147483647 >= Version;
7069 case OMPC_collapse:
7070 return 1 <= Version && 2147483647 >= Version;
7071 case OMPC_dist_schedule:
7072 return 1 <= Version && 2147483647 >= Version;
7073 case OMPC_order:
7074 return 50 <= Version && 2147483647 >= Version;
7075 default:
7076 return false;
7077 }
7078 break;
7079 case OMPD_distribute_parallel_do:
7080 switch (C) {
7081 case OMPC_allocate:
7082 return 50 <= Version && 2147483647 >= Version;
7083 case OMPC_copyin:
7084 return 1 <= Version && 2147483647 >= Version;
7085 case OMPC_firstprivate:
7086 return 1 <= Version && 2147483647 >= Version;
7087 case OMPC_if:
7088 return 1 <= Version && 2147483647 >= Version;
7089 case OMPC_lastprivate:
7090 return 1 <= Version && 2147483647 >= Version;
7091 case OMPC_linear:
7092 return 1 <= Version && 2147483647 >= Version;
7093 case OMPC_private:
7094 return 1 <= Version && 2147483647 >= Version;
7095 case OMPC_reduction:
7096 return 1 <= Version && 2147483647 >= Version;
7097 case OMPC_shared:
7098 return 1 <= Version && 2147483647 >= Version;
7099 case OMPC_collapse:
7100 return 1 <= Version && 2147483647 >= Version;
7101 case OMPC_default:
7102 return 1 <= Version && 2147483647 >= Version;
7103 case OMPC_dist_schedule:
7104 return 1 <= Version && 2147483647 >= Version;
7105 case OMPC_message:
7106 return 60 <= Version && 2147483647 >= Version;
7107 case OMPC_num_threads:
7108 return 1 <= Version && 2147483647 >= Version;
7109 case OMPC_order:
7110 return 50 <= Version && 2147483647 >= Version;
7111 case OMPC_proc_bind:
7112 return 1 <= Version && 2147483647 >= Version;
7113 case OMPC_schedule:
7114 return 1 <= Version && 2147483647 >= Version;
7115 case OMPC_severity:
7116 return 60 <= Version && 2147483647 >= Version;
7117 default:
7118 return false;
7119 }
7120 break;
7121 case OMPD_distribute_parallel_do_simd:
7122 switch (C) {
7123 case OMPC_aligned:
7124 return 1 <= Version && 2147483647 >= Version;
7125 case OMPC_allocate:
7126 return 50 <= Version && 2147483647 >= Version;
7127 case OMPC_copyin:
7128 return 1 <= Version && 2147483647 >= Version;
7129 case OMPC_firstprivate:
7130 return 1 <= Version && 2147483647 >= Version;
7131 case OMPC_if:
7132 return 1 <= Version && 2147483647 >= Version;
7133 case OMPC_lastprivate:
7134 return 1 <= Version && 2147483647 >= Version;
7135 case OMPC_linear:
7136 return 1 <= Version && 2147483647 >= Version;
7137 case OMPC_nontemporal:
7138 return 1 <= Version && 2147483647 >= Version;
7139 case OMPC_private:
7140 return 1 <= Version && 2147483647 >= Version;
7141 case OMPC_reduction:
7142 return 1 <= Version && 2147483647 >= Version;
7143 case OMPC_shared:
7144 return 1 <= Version && 2147483647 >= Version;
7145 case OMPC_collapse:
7146 return 1 <= Version && 2147483647 >= Version;
7147 case OMPC_default:
7148 return 1 <= Version && 2147483647 >= Version;
7149 case OMPC_dist_schedule:
7150 return 1 <= Version && 2147483647 >= Version;
7151 case OMPC_message:
7152 return 60 <= Version && 2147483647 >= Version;
7153 case OMPC_num_threads:
7154 return 1 <= Version && 2147483647 >= Version;
7155 case OMPC_order:
7156 return 50 <= Version && 2147483647 >= Version;
7157 case OMPC_proc_bind:
7158 return 1 <= Version && 2147483647 >= Version;
7159 case OMPC_safelen:
7160 return 1 <= Version && 2147483647 >= Version;
7161 case OMPC_schedule:
7162 return 1 <= Version && 2147483647 >= Version;
7163 case OMPC_severity:
7164 return 60 <= Version && 2147483647 >= Version;
7165 case OMPC_simdlen:
7166 return 1 <= Version && 2147483647 >= Version;
7167 default:
7168 return false;
7169 }
7170 break;
7171 case OMPD_distribute_parallel_for:
7172 switch (C) {
7173 case OMPC_allocate:
7174 return 50 <= Version && 2147483647 >= Version;
7175 case OMPC_copyin:
7176 return 1 <= Version && 2147483647 >= Version;
7177 case OMPC_firstprivate:
7178 return 1 <= Version && 2147483647 >= Version;
7179 case OMPC_if:
7180 return 1 <= Version && 2147483647 >= Version;
7181 case OMPC_lastprivate:
7182 return 1 <= Version && 2147483647 >= Version;
7183 case OMPC_ompx_attribute:
7184 return 1 <= Version && 2147483647 >= Version;
7185 case OMPC_private:
7186 return 1 <= Version && 2147483647 >= Version;
7187 case OMPC_reduction:
7188 return 1 <= Version && 2147483647 >= Version;
7189 case OMPC_shared:
7190 return 1 <= Version && 2147483647 >= Version;
7191 case OMPC_collapse:
7192 return 1 <= Version && 2147483647 >= Version;
7193 case OMPC_default:
7194 return 1 <= Version && 2147483647 >= Version;
7195 case OMPC_dist_schedule:
7196 return 1 <= Version && 2147483647 >= Version;
7197 case OMPC_message:
7198 return 60 <= Version && 2147483647 >= Version;
7199 case OMPC_num_threads:
7200 return 1 <= Version && 2147483647 >= Version;
7201 case OMPC_order:
7202 return 50 <= Version && 2147483647 >= Version;
7203 case OMPC_proc_bind:
7204 return 1 <= Version && 2147483647 >= Version;
7205 case OMPC_schedule:
7206 return 1 <= Version && 2147483647 >= Version;
7207 case OMPC_severity:
7208 return 60 <= Version && 2147483647 >= Version;
7209 default:
7210 return false;
7211 }
7212 break;
7213 case OMPD_distribute_parallel_for_simd:
7214 switch (C) {
7215 case OMPC_aligned:
7216 return 1 <= Version && 2147483647 >= Version;
7217 case OMPC_allocate:
7218 return 50 <= Version && 2147483647 >= Version;
7219 case OMPC_copyin:
7220 return 1 <= Version && 2147483647 >= Version;
7221 case OMPC_firstprivate:
7222 return 1 <= Version && 2147483647 >= Version;
7223 case OMPC_if:
7224 return 1 <= Version && 2147483647 >= Version;
7225 case OMPC_lastprivate:
7226 return 1 <= Version && 2147483647 >= Version;
7227 case OMPC_linear:
7228 return 1 <= Version && 2147483647 >= Version;
7229 case OMPC_nontemporal:
7230 return 50 <= Version && 2147483647 >= Version;
7231 case OMPC_ompx_attribute:
7232 return 1 <= Version && 2147483647 >= Version;
7233 case OMPC_private:
7234 return 1 <= Version && 2147483647 >= Version;
7235 case OMPC_reduction:
7236 return 1 <= Version && 2147483647 >= Version;
7237 case OMPC_shared:
7238 return 1 <= Version && 2147483647 >= Version;
7239 case OMPC_collapse:
7240 return 1 <= Version && 2147483647 >= Version;
7241 case OMPC_default:
7242 return 1 <= Version && 2147483647 >= Version;
7243 case OMPC_dist_schedule:
7244 return 1 <= Version && 2147483647 >= Version;
7245 case OMPC_message:
7246 return 60 <= Version && 2147483647 >= Version;
7247 case OMPC_num_threads:
7248 return 1 <= Version && 2147483647 >= Version;
7249 case OMPC_order:
7250 return 50 <= Version && 2147483647 >= Version;
7251 case OMPC_proc_bind:
7252 return 1 <= Version && 2147483647 >= Version;
7253 case OMPC_safelen:
7254 return 1 <= Version && 2147483647 >= Version;
7255 case OMPC_schedule:
7256 return 1 <= Version && 2147483647 >= Version;
7257 case OMPC_severity:
7258 return 60 <= Version && 2147483647 >= Version;
7259 case OMPC_simdlen:
7260 return 1 <= Version && 2147483647 >= Version;
7261 default:
7262 return false;
7263 }
7264 break;
7265 case OMPD_distribute_simd:
7266 switch (C) {
7267 case OMPC_aligned:
7268 return 1 <= Version && 2147483647 >= Version;
7269 case OMPC_allocate:
7270 return 50 <= Version && 2147483647 >= Version;
7271 case OMPC_copyin:
7272 return 1 <= Version && 2147483647 >= Version;
7273 case OMPC_firstprivate:
7274 return 1 <= Version && 2147483647 >= Version;
7275 case OMPC_if:
7276 return 50 <= Version && 2147483647 >= Version;
7277 case OMPC_lastprivate:
7278 return 1 <= Version && 2147483647 >= Version;
7279 case OMPC_linear:
7280 return 1 <= Version && 2147483647 >= Version;
7281 case OMPC_nontemporal:
7282 return 50 <= Version && 2147483647 >= Version;
7283 case OMPC_private:
7284 return 1 <= Version && 2147483647 >= Version;
7285 case OMPC_reduction:
7286 return 1 <= Version && 2147483647 >= Version;
7287 case OMPC_collapse:
7288 return 1 <= Version && 2147483647 >= Version;
7289 case OMPC_default:
7290 return 1 <= Version && 2147483647 >= Version;
7291 case OMPC_dist_schedule:
7292 return 1 <= Version && 2147483647 >= Version;
7293 case OMPC_message:
7294 return 60 <= Version && 2147483647 >= Version;
7295 case OMPC_num_threads:
7296 return 1 <= Version && 2147483647 >= Version;
7297 case OMPC_order:
7298 return 50 <= Version && 2147483647 >= Version;
7299 case OMPC_proc_bind:
7300 return 1 <= Version && 2147483647 >= Version;
7301 case OMPC_safelen:
7302 return 1 <= Version && 2147483647 >= Version;
7303 case OMPC_schedule:
7304 return 1 <= Version && 2147483647 >= Version;
7305 case OMPC_severity:
7306 return 60 <= Version && 2147483647 >= Version;
7307 case OMPC_simdlen:
7308 return 1 <= Version && 2147483647 >= Version;
7309 default:
7310 return false;
7311 }
7312 break;
7313 case OMPD_do:
7314 switch (C) {
7315 case OMPC_allocate:
7316 return 50 <= Version && 2147483647 >= Version;
7317 case OMPC_firstprivate:
7318 return 1 <= Version && 2147483647 >= Version;
7319 case OMPC_lastprivate:
7320 return 1 <= Version && 2147483647 >= Version;
7321 case OMPC_linear:
7322 return 1 <= Version && 2147483647 >= Version;
7323 case OMPC_private:
7324 return 1 <= Version && 2147483647 >= Version;
7325 case OMPC_reduction:
7326 return 1 <= Version && 2147483647 >= Version;
7327 case OMPC_collapse:
7328 return 1 <= Version && 2147483647 >= Version;
7329 case OMPC_nowait:
7330 return 1 <= Version && 2147483647 >= Version;
7331 case OMPC_order:
7332 return 50 <= Version && 2147483647 >= Version;
7333 case OMPC_ordered:
7334 return 1 <= Version && 2147483647 >= Version;
7335 case OMPC_schedule:
7336 return 1 <= Version && 2147483647 >= Version;
7337 default:
7338 return false;
7339 }
7340 break;
7341 case OMPD_do_simd:
7342 switch (C) {
7343 case OMPC_aligned:
7344 return 1 <= Version && 2147483647 >= Version;
7345 case OMPC_firstprivate:
7346 return 1 <= Version && 2147483647 >= Version;
7347 case OMPC_if:
7348 return 50 <= Version && 2147483647 >= Version;
7349 case OMPC_lastprivate:
7350 return 1 <= Version && 2147483647 >= Version;
7351 case OMPC_linear:
7352 return 1 <= Version && 2147483647 >= Version;
7353 case OMPC_private:
7354 return 1 <= Version && 2147483647 >= Version;
7355 case OMPC_reduction:
7356 return 1 <= Version && 2147483647 >= Version;
7357 case OMPC_collapse:
7358 return 1 <= Version && 2147483647 >= Version;
7359 case OMPC_nowait:
7360 return 1 <= Version && 2147483647 >= Version;
7361 case OMPC_order:
7362 return 50 <= Version && 2147483647 >= Version;
7363 case OMPC_ordered:
7364 return 1 <= Version && 2147483647 >= Version;
7365 case OMPC_safelen:
7366 return 1 <= Version && 2147483647 >= Version;
7367 case OMPC_schedule:
7368 return 1 <= Version && 2147483647 >= Version;
7369 case OMPC_simdlen:
7370 return 1 <= Version && 2147483647 >= Version;
7371 default:
7372 return false;
7373 }
7374 break;
7375 case OMPD_end_assumes:
7376 return false;
7377 break;
7378 case OMPD_end_declare_target:
7379 return false;
7380 break;
7381 case OMPD_end_declare_variant:
7382 return false;
7383 break;
7384 case OMPD_error:
7385 switch (C) {
7386 case OMPC_at:
7387 return 51 <= Version && 2147483647 >= Version;
7388 case OMPC_message:
7389 return 51 <= Version && 2147483647 >= Version;
7390 case OMPC_severity:
7391 return 51 <= Version && 2147483647 >= Version;
7392 default:
7393 return false;
7394 }
7395 break;
7396 case OMPD_flatten:
7397 switch (C) {
7398 case OMPC_apply:
7399 return 60 <= Version && 2147483647 >= Version;
7400 case OMPC_depth:
7401 return 61 <= Version && 2147483647 >= Version;
7402 default:
7403 return false;
7404 }
7405 break;
7406 case OMPD_flush:
7407 switch (C) {
7408 case OMPC_acq_rel:
7409 return 50 <= Version && 2147483647 >= Version;
7410 case OMPC_acquire:
7411 return 50 <= Version && 2147483647 >= Version;
7412 case OMPC_flush:
7413 return 1 <= Version && 2147483647 >= Version;
7414 case OMPC_release:
7415 return 50 <= Version && 2147483647 >= Version;
7416 case OMPC_seq_cst:
7417 return 51 <= Version && 2147483647 >= Version;
7418 default:
7419 return false;
7420 }
7421 break;
7422 case OMPD_for:
7423 switch (C) {
7424 case OMPC_allocate:
7425 return 50 <= Version && 2147483647 >= Version;
7426 case OMPC_firstprivate:
7427 return 1 <= Version && 2147483647 >= Version;
7428 case OMPC_lastprivate:
7429 return 1 <= Version && 2147483647 >= Version;
7430 case OMPC_linear:
7431 return 1 <= Version && 2147483647 >= Version;
7432 case OMPC_private:
7433 return 1 <= Version && 2147483647 >= Version;
7434 case OMPC_reduction:
7435 return 1 <= Version && 2147483647 >= Version;
7436 case OMPC_collapse:
7437 return 1 <= Version && 2147483647 >= Version;
7438 case OMPC_nowait:
7439 return 1 <= Version && 2147483647 >= Version;
7440 case OMPC_order:
7441 return 50 <= Version && 2147483647 >= Version;
7442 case OMPC_ordered:
7443 return 1 <= Version && 2147483647 >= Version;
7444 case OMPC_schedule:
7445 return 1 <= Version && 2147483647 >= Version;
7446 default:
7447 return false;
7448 }
7449 break;
7450 case OMPD_for_simd:
7451 switch (C) {
7452 case OMPC_aligned:
7453 return 1 <= Version && 2147483647 >= Version;
7454 case OMPC_allocate:
7455 return 50 <= Version && 2147483647 >= Version;
7456 case OMPC_firstprivate:
7457 return 1 <= Version && 2147483647 >= Version;
7458 case OMPC_if:
7459 return 50 <= Version && 2147483647 >= Version;
7460 case OMPC_lastprivate:
7461 return 1 <= Version && 2147483647 >= Version;
7462 case OMPC_linear:
7463 return 1 <= Version && 2147483647 >= Version;
7464 case OMPC_nontemporal:
7465 return 50 <= Version && 2147483647 >= Version;
7466 case OMPC_private:
7467 return 1 <= Version && 2147483647 >= Version;
7468 case OMPC_reduction:
7469 return 1 <= Version && 2147483647 >= Version;
7470 case OMPC_collapse:
7471 return 1 <= Version && 2147483647 >= Version;
7472 case OMPC_nowait:
7473 return 1 <= Version && 2147483647 >= Version;
7474 case OMPC_order:
7475 return 50 <= Version && 2147483647 >= Version;
7476 case OMPC_ordered:
7477 return 1 <= Version && 2147483647 >= Version;
7478 case OMPC_safelen:
7479 return 1 <= Version && 2147483647 >= Version;
7480 case OMPC_schedule:
7481 return 1 <= Version && 2147483647 >= Version;
7482 case OMPC_simdlen:
7483 return 1 <= Version && 2147483647 >= Version;
7484 default:
7485 return false;
7486 }
7487 break;
7488 case OMPD_fuse:
7489 switch (C) {
7490 case OMPC_apply:
7491 return 60 <= Version && 2147483647 >= Version;
7492 case OMPC_depth:
7493 return 61 <= Version && 2147483647 >= Version;
7494 case OMPC_looprange:
7495 return 60 <= Version && 2147483647 >= Version;
7496 default:
7497 return false;
7498 }
7499 break;
7500 case OMPD_groupprivate:
7501 switch (C) {
7502 case OMPC_device_type:
7503 return 1 <= Version && 2147483647 >= Version;
7504 default:
7505 return false;
7506 }
7507 break;
7508 case OMPD_interchange:
7509 switch (C) {
7510 case OMPC_apply:
7511 return 60 <= Version && 2147483647 >= Version;
7512 case OMPC_permutation:
7513 return 1 <= Version && 2147483647 >= Version;
7514 default:
7515 return false;
7516 }
7517 break;
7518 case OMPD_masked_taskloop:
7519 switch (C) {
7520 case OMPC_allocate:
7521 return 50 <= Version && 2147483647 >= Version;
7522 case OMPC_firstprivate:
7523 return 1 <= Version && 2147483647 >= Version;
7524 case OMPC_if:
7525 return 1 <= Version && 2147483647 >= Version;
7526 case OMPC_in_reduction:
7527 return 1 <= Version && 2147483647 >= Version;
7528 case OMPC_lastprivate:
7529 return 1 <= Version && 2147483647 >= Version;
7530 case OMPC_private:
7531 return 1 <= Version && 2147483647 >= Version;
7532 case OMPC_reduction:
7533 return 1 <= Version && 2147483647 >= Version;
7534 case OMPC_shared:
7535 return 1 <= Version && 2147483647 >= Version;
7536 case OMPC_collapse:
7537 return 1 <= Version && 2147483647 >= Version;
7538 case OMPC_default:
7539 return 1 <= Version && 2147483647 >= Version;
7540 case OMPC_filter:
7541 return 1 <= Version && 2147483647 >= Version;
7542 case OMPC_final:
7543 return 1 <= Version && 2147483647 >= Version;
7544 case OMPC_grainsize:
7545 return 1 <= Version && 2147483647 >= Version;
7546 case OMPC_mergeable:
7547 return 1 <= Version && 2147483647 >= Version;
7548 case OMPC_nogroup:
7549 return 1 <= Version && 2147483647 >= Version;
7550 case OMPC_num_tasks:
7551 return 1 <= Version && 2147483647 >= Version;
7552 case OMPC_priority:
7553 return 1 <= Version && 2147483647 >= Version;
7554 case OMPC_untied:
7555 return 1 <= Version && 2147483647 >= Version;
7556 default:
7557 return false;
7558 }
7559 break;
7560 case OMPD_masked_taskloop_simd:
7561 switch (C) {
7562 case OMPC_aligned:
7563 return 1 <= Version && 2147483647 >= Version;
7564 case OMPC_allocate:
7565 return 50 <= Version && 2147483647 >= Version;
7566 case OMPC_firstprivate:
7567 return 1 <= Version && 2147483647 >= Version;
7568 case OMPC_if:
7569 return 1 <= Version && 2147483647 >= Version;
7570 case OMPC_in_reduction:
7571 return 1 <= Version && 2147483647 >= Version;
7572 case OMPC_lastprivate:
7573 return 1 <= Version && 2147483647 >= Version;
7574 case OMPC_linear:
7575 return 1 <= Version && 2147483647 >= Version;
7576 case OMPC_nontemporal:
7577 return 50 <= Version && 2147483647 >= Version;
7578 case OMPC_private:
7579 return 1 <= Version && 2147483647 >= Version;
7580 case OMPC_reduction:
7581 return 1 <= Version && 2147483647 >= Version;
7582 case OMPC_shared:
7583 return 1 <= Version && 2147483647 >= Version;
7584 case OMPC_collapse:
7585 return 1 <= Version && 2147483647 >= Version;
7586 case OMPC_default:
7587 return 1 <= Version && 2147483647 >= Version;
7588 case OMPC_filter:
7589 return 1 <= Version && 2147483647 >= Version;
7590 case OMPC_final:
7591 return 1 <= Version && 2147483647 >= Version;
7592 case OMPC_grainsize:
7593 return 1 <= Version && 2147483647 >= Version;
7594 case OMPC_mergeable:
7595 return 1 <= Version && 2147483647 >= Version;
7596 case OMPC_nogroup:
7597 return 1 <= Version && 2147483647 >= Version;
7598 case OMPC_num_tasks:
7599 return 1 <= Version && 2147483647 >= Version;
7600 case OMPC_order:
7601 return 50 <= Version && 2147483647 >= Version;
7602 case OMPC_priority:
7603 return 1 <= Version && 2147483647 >= Version;
7604 case OMPC_safelen:
7605 return 1 <= Version && 2147483647 >= Version;
7606 case OMPC_simdlen:
7607 return 1 <= Version && 2147483647 >= Version;
7608 case OMPC_untied:
7609 return 1 <= Version && 2147483647 >= Version;
7610 default:
7611 return false;
7612 }
7613 break;
7614 case OMPD_master:
7615 return false;
7616 break;
7617 case OMPD_master_taskloop:
7618 switch (C) {
7619 case OMPC_allocate:
7620 return 50 <= Version && 2147483647 >= Version;
7621 case OMPC_firstprivate:
7622 return 1 <= Version && 2147483647 >= Version;
7623 case OMPC_if:
7624 return 1 <= Version && 2147483647 >= Version;
7625 case OMPC_in_reduction:
7626 return 1 <= Version && 2147483647 >= Version;
7627 case OMPC_lastprivate:
7628 return 1 <= Version && 2147483647 >= Version;
7629 case OMPC_private:
7630 return 1 <= Version && 2147483647 >= Version;
7631 case OMPC_reduction:
7632 return 1 <= Version && 2147483647 >= Version;
7633 case OMPC_shared:
7634 return 1 <= Version && 2147483647 >= Version;
7635 case OMPC_collapse:
7636 return 1 <= Version && 2147483647 >= Version;
7637 case OMPC_default:
7638 return 1 <= Version && 2147483647 >= Version;
7639 case OMPC_final:
7640 return 1 <= Version && 2147483647 >= Version;
7641 case OMPC_grainsize:
7642 return 1 <= Version && 2147483647 >= Version;
7643 case OMPC_mergeable:
7644 return 1 <= Version && 2147483647 >= Version;
7645 case OMPC_nogroup:
7646 return 1 <= Version && 2147483647 >= Version;
7647 case OMPC_num_tasks:
7648 return 1 <= Version && 2147483647 >= Version;
7649 case OMPC_priority:
7650 return 1 <= Version && 2147483647 >= Version;
7651 case OMPC_untied:
7652 return 1 <= Version && 2147483647 >= Version;
7653 default:
7654 return false;
7655 }
7656 break;
7657 case OMPD_master_taskloop_simd:
7658 switch (C) {
7659 case OMPC_aligned:
7660 return 1 <= Version && 2147483647 >= Version;
7661 case OMPC_allocate:
7662 return 50 <= Version && 2147483647 >= Version;
7663 case OMPC_firstprivate:
7664 return 1 <= Version && 2147483647 >= Version;
7665 case OMPC_if:
7666 return 1 <= Version && 2147483647 >= Version;
7667 case OMPC_in_reduction:
7668 return 1 <= Version && 2147483647 >= Version;
7669 case OMPC_lastprivate:
7670 return 1 <= Version && 2147483647 >= Version;
7671 case OMPC_linear:
7672 return 1 <= Version && 2147483647 >= Version;
7673 case OMPC_nontemporal:
7674 return 50 <= Version && 2147483647 >= Version;
7675 case OMPC_private:
7676 return 1 <= Version && 2147483647 >= Version;
7677 case OMPC_reduction:
7678 return 1 <= Version && 2147483647 >= Version;
7679 case OMPC_shared:
7680 return 1 <= Version && 2147483647 >= Version;
7681 case OMPC_collapse:
7682 return 1 <= Version && 2147483647 >= Version;
7683 case OMPC_default:
7684 return 1 <= Version && 2147483647 >= Version;
7685 case OMPC_final:
7686 return 1 <= Version && 2147483647 >= Version;
7687 case OMPC_grainsize:
7688 return 1 <= Version && 2147483647 >= Version;
7689 case OMPC_mergeable:
7690 return 1 <= Version && 2147483647 >= Version;
7691 case OMPC_nogroup:
7692 return 1 <= Version && 2147483647 >= Version;
7693 case OMPC_num_tasks:
7694 return 1 <= Version && 2147483647 >= Version;
7695 case OMPC_order:
7696 return 50 <= Version && 2147483647 >= Version;
7697 case OMPC_priority:
7698 return 1 <= Version && 2147483647 >= Version;
7699 case OMPC_safelen:
7700 return 1 <= Version && 2147483647 >= Version;
7701 case OMPC_simdlen:
7702 return 1 <= Version && 2147483647 >= Version;
7703 case OMPC_untied:
7704 return 1 <= Version && 2147483647 >= Version;
7705 default:
7706 return false;
7707 }
7708 break;
7709 case OMPD_metadirective:
7710 switch (C) {
7711 case OMPC_when:
7712 return 1 <= Version && 2147483647 >= Version;
7713 case OMPC_default_variant:
7714 return 50 <= Version && 51 >= Version;
7715 case OMPC_otherwise:
7716 return 52 <= Version && 2147483647 >= Version;
7717 default:
7718 return false;
7719 }
7720 break;
7721 case OMPD_nothing:
7722 switch (C) {
7723 case OMPC_apply:
7724 return 60 <= Version && 2147483647 >= Version;
7725 default:
7726 return false;
7727 }
7728 break;
7729 case OMPD_ordered_blockassoc:
7730 switch (C) {
7731 case OMPC_simd:
7732 return 1 <= Version && 2147483647 >= Version;
7733 case OMPC_threads:
7734 return 1 <= Version && 2147483647 >= Version;
7735 default:
7736 return false;
7737 }
7738 break;
7739 case OMPD_ordered_standalone:
7740 switch (C) {
7741 case OMPC_depend:
7742 return 1 <= Version && 2147483647 >= Version;
7743 case OMPC_doacross:
7744 return 52 <= Version && 2147483647 >= Version;
7745 default:
7746 return false;
7747 }
7748 break;
7749 case OMPD_parallel:
7750 switch (C) {
7751 case OMPC_allocate:
7752 return 50 <= Version && 2147483647 >= Version;
7753 case OMPC_copyin:
7754 return 1 <= Version && 2147483647 >= Version;
7755 case OMPC_firstprivate:
7756 return 1 <= Version && 2147483647 >= Version;
7757 case OMPC_if:
7758 return 1 <= Version && 2147483647 >= Version;
7759 case OMPC_ompx_attribute:
7760 return 1 <= Version && 2147483647 >= Version;
7761 case OMPC_private:
7762 return 1 <= Version && 2147483647 >= Version;
7763 case OMPC_reduction:
7764 return 1 <= Version && 2147483647 >= Version;
7765 case OMPC_shared:
7766 return 1 <= Version && 2147483647 >= Version;
7767 case OMPC_default:
7768 return 1 <= Version && 2147483647 >= Version;
7769 case OMPC_message:
7770 return 60 <= Version && 2147483647 >= Version;
7771 case OMPC_num_threads:
7772 return 1 <= Version && 2147483647 >= Version;
7773 case OMPC_proc_bind:
7774 return 1 <= Version && 2147483647 >= Version;
7775 case OMPC_severity:
7776 return 60 <= Version && 2147483647 >= Version;
7777 default:
7778 return false;
7779 }
7780 break;
7781 case OMPD_parallel_do:
7782 switch (C) {
7783 case OMPC_allocate:
7784 return 50 <= Version && 2147483647 >= Version;
7785 case OMPC_copyin:
7786 return 1 <= Version && 2147483647 >= Version;
7787 case OMPC_firstprivate:
7788 return 1 <= Version && 2147483647 >= Version;
7789 case OMPC_if:
7790 return 1 <= Version && 2147483647 >= Version;
7791 case OMPC_lastprivate:
7792 return 1 <= Version && 2147483647 >= Version;
7793 case OMPC_linear:
7794 return 1 <= Version && 2147483647 >= Version;
7795 case OMPC_private:
7796 return 1 <= Version && 2147483647 >= Version;
7797 case OMPC_reduction:
7798 return 1 <= Version && 2147483647 >= Version;
7799 case OMPC_shared:
7800 return 1 <= Version && 2147483647 >= Version;
7801 case OMPC_collapse:
7802 return 1 <= Version && 2147483647 >= Version;
7803 case OMPC_default:
7804 return 1 <= Version && 2147483647 >= Version;
7805 case OMPC_message:
7806 return 60 <= Version && 2147483647 >= Version;
7807 case OMPC_num_threads:
7808 return 1 <= Version && 2147483647 >= Version;
7809 case OMPC_order:
7810 return 50 <= Version && 2147483647 >= Version;
7811 case OMPC_ordered:
7812 return 1 <= Version && 2147483647 >= Version;
7813 case OMPC_proc_bind:
7814 return 1 <= Version && 2147483647 >= Version;
7815 case OMPC_schedule:
7816 return 1 <= Version && 2147483647 >= Version;
7817 case OMPC_severity:
7818 return 60 <= Version && 2147483647 >= Version;
7819 default:
7820 return false;
7821 }
7822 break;
7823 case OMPD_parallel_do_simd:
7824 switch (C) {
7825 case OMPC_aligned:
7826 return 1 <= Version && 2147483647 >= Version;
7827 case OMPC_allocate:
7828 return 50 <= Version && 2147483647 >= Version;
7829 case OMPC_copyin:
7830 return 1 <= Version && 2147483647 >= Version;
7831 case OMPC_firstprivate:
7832 return 1 <= Version && 2147483647 >= Version;
7833 case OMPC_if:
7834 return 1 <= Version && 2147483647 >= Version;
7835 case OMPC_lastprivate:
7836 return 1 <= Version && 2147483647 >= Version;
7837 case OMPC_linear:
7838 return 1 <= Version && 2147483647 >= Version;
7839 case OMPC_nontemporal:
7840 return 1 <= Version && 2147483647 >= Version;
7841 case OMPC_private:
7842 return 1 <= Version && 2147483647 >= Version;
7843 case OMPC_reduction:
7844 return 1 <= Version && 2147483647 >= Version;
7845 case OMPC_shared:
7846 return 1 <= Version && 2147483647 >= Version;
7847 case OMPC_collapse:
7848 return 1 <= Version && 2147483647 >= Version;
7849 case OMPC_default:
7850 return 1 <= Version && 2147483647 >= Version;
7851 case OMPC_message:
7852 return 60 <= Version && 2147483647 >= Version;
7853 case OMPC_num_threads:
7854 return 1 <= Version && 2147483647 >= Version;
7855 case OMPC_order:
7856 return 50 <= Version && 2147483647 >= Version;
7857 case OMPC_ordered:
7858 return 1 <= Version && 2147483647 >= Version;
7859 case OMPC_proc_bind:
7860 return 1 <= Version && 2147483647 >= Version;
7861 case OMPC_safelen:
7862 return 1 <= Version && 2147483647 >= Version;
7863 case OMPC_schedule:
7864 return 1 <= Version && 2147483647 >= Version;
7865 case OMPC_severity:
7866 return 60 <= Version && 2147483647 >= Version;
7867 case OMPC_simdlen:
7868 return 1 <= Version && 2147483647 >= Version;
7869 default:
7870 return false;
7871 }
7872 break;
7873 case OMPD_parallel_for:
7874 switch (C) {
7875 case OMPC_allocate:
7876 return 50 <= Version && 2147483647 >= Version;
7877 case OMPC_copyin:
7878 return 1 <= Version && 2147483647 >= Version;
7879 case OMPC_firstprivate:
7880 return 1 <= Version && 2147483647 >= Version;
7881 case OMPC_if:
7882 return 1 <= Version && 2147483647 >= Version;
7883 case OMPC_lastprivate:
7884 return 1 <= Version && 2147483647 >= Version;
7885 case OMPC_linear:
7886 return 1 <= Version && 2147483647 >= Version;
7887 case OMPC_ompx_attribute:
7888 return 1 <= Version && 2147483647 >= Version;
7889 case OMPC_private:
7890 return 1 <= Version && 2147483647 >= Version;
7891 case OMPC_reduction:
7892 return 1 <= Version && 2147483647 >= Version;
7893 case OMPC_shared:
7894 return 1 <= Version && 2147483647 >= Version;
7895 case OMPC_collapse:
7896 return 1 <= Version && 2147483647 >= Version;
7897 case OMPC_default:
7898 return 1 <= Version && 2147483647 >= Version;
7899 case OMPC_message:
7900 return 60 <= Version && 2147483647 >= Version;
7901 case OMPC_num_threads:
7902 return 1 <= Version && 2147483647 >= Version;
7903 case OMPC_order:
7904 return 50 <= Version && 2147483647 >= Version;
7905 case OMPC_ordered:
7906 return 1 <= Version && 2147483647 >= Version;
7907 case OMPC_proc_bind:
7908 return 1 <= Version && 2147483647 >= Version;
7909 case OMPC_schedule:
7910 return 1 <= Version && 2147483647 >= Version;
7911 case OMPC_severity:
7912 return 60 <= Version && 2147483647 >= Version;
7913 default:
7914 return false;
7915 }
7916 break;
7917 case OMPD_parallel_for_simd:
7918 switch (C) {
7919 case OMPC_aligned:
7920 return 1 <= Version && 2147483647 >= Version;
7921 case OMPC_allocate:
7922 return 50 <= Version && 2147483647 >= Version;
7923 case OMPC_copyin:
7924 return 1 <= Version && 2147483647 >= Version;
7925 case OMPC_firstprivate:
7926 return 1 <= Version && 2147483647 >= Version;
7927 case OMPC_if:
7928 return 1 <= Version && 2147483647 >= Version;
7929 case OMPC_lastprivate:
7930 return 1 <= Version && 2147483647 >= Version;
7931 case OMPC_linear:
7932 return 1 <= Version && 2147483647 >= Version;
7933 case OMPC_nontemporal:
7934 return 50 <= Version && 2147483647 >= Version;
7935 case OMPC_ompx_attribute:
7936 return 1 <= Version && 2147483647 >= Version;
7937 case OMPC_private:
7938 return 1 <= Version && 2147483647 >= Version;
7939 case OMPC_reduction:
7940 return 1 <= Version && 2147483647 >= Version;
7941 case OMPC_shared:
7942 return 1 <= Version && 2147483647 >= Version;
7943 case OMPC_collapse:
7944 return 1 <= Version && 2147483647 >= Version;
7945 case OMPC_default:
7946 return 1 <= Version && 2147483647 >= Version;
7947 case OMPC_message:
7948 return 60 <= Version && 2147483647 >= Version;
7949 case OMPC_num_threads:
7950 return 1 <= Version && 2147483647 >= Version;
7951 case OMPC_order:
7952 return 50 <= Version && 2147483647 >= Version;
7953 case OMPC_ordered:
7954 return 1 <= Version && 2147483647 >= Version;
7955 case OMPC_proc_bind:
7956 return 1 <= Version && 2147483647 >= Version;
7957 case OMPC_safelen:
7958 return 1 <= Version && 2147483647 >= Version;
7959 case OMPC_schedule:
7960 return 1 <= Version && 2147483647 >= Version;
7961 case OMPC_severity:
7962 return 60 <= Version && 2147483647 >= Version;
7963 case OMPC_simdlen:
7964 return 1 <= Version && 2147483647 >= Version;
7965 default:
7966 return false;
7967 }
7968 break;
7969 case OMPD_parallel_masked:
7970 switch (C) {
7971 case OMPC_allocate:
7972 return 50 <= Version && 2147483647 >= Version;
7973 case OMPC_copyin:
7974 return 1 <= Version && 2147483647 >= Version;
7975 case OMPC_firstprivate:
7976 return 1 <= Version && 2147483647 >= Version;
7977 case OMPC_if:
7978 return 1 <= Version && 2147483647 >= Version;
7979 case OMPC_ompx_attribute:
7980 return 1 <= Version && 2147483647 >= Version;
7981 case OMPC_private:
7982 return 1 <= Version && 2147483647 >= Version;
7983 case OMPC_reduction:
7984 return 1 <= Version && 2147483647 >= Version;
7985 case OMPC_shared:
7986 return 1 <= Version && 2147483647 >= Version;
7987 case OMPC_default:
7988 return 1 <= Version && 2147483647 >= Version;
7989 case OMPC_filter:
7990 return 1 <= Version && 2147483647 >= Version;
7991 case OMPC_message:
7992 return 60 <= Version && 2147483647 >= Version;
7993 case OMPC_num_threads:
7994 return 1 <= Version && 2147483647 >= Version;
7995 case OMPC_proc_bind:
7996 return 1 <= Version && 2147483647 >= Version;
7997 case OMPC_severity:
7998 return 60 <= Version && 2147483647 >= Version;
7999 default:
8000 return false;
8001 }
8002 break;
8003 case OMPD_parallel_masked_taskloop:
8004 switch (C) {
8005 case OMPC_allocate:
8006 return 50 <= Version && 2147483647 >= Version;
8007 case OMPC_copyin:
8008 return 1 <= Version && 2147483647 >= Version;
8009 case OMPC_firstprivate:
8010 return 1 <= Version && 2147483647 >= Version;
8011 case OMPC_if:
8012 return 1 <= Version && 2147483647 >= Version;
8013 case OMPC_lastprivate:
8014 return 1 <= Version && 2147483647 >= Version;
8015 case OMPC_ompx_attribute:
8016 return 1 <= Version && 2147483647 >= Version;
8017 case OMPC_private:
8018 return 1 <= Version && 2147483647 >= Version;
8019 case OMPC_reduction:
8020 return 1 <= Version && 2147483647 >= Version;
8021 case OMPC_shared:
8022 return 1 <= Version && 2147483647 >= Version;
8023 case OMPC_collapse:
8024 return 1 <= Version && 2147483647 >= Version;
8025 case OMPC_default:
8026 return 1 <= Version && 2147483647 >= Version;
8027 case OMPC_filter:
8028 return 1 <= Version && 2147483647 >= Version;
8029 case OMPC_final:
8030 return 1 <= Version && 2147483647 >= Version;
8031 case OMPC_grainsize:
8032 return 1 <= Version && 2147483647 >= Version;
8033 case OMPC_mergeable:
8034 return 1 <= Version && 2147483647 >= Version;
8035 case OMPC_message:
8036 return 60 <= Version && 2147483647 >= Version;
8037 case OMPC_nogroup:
8038 return 1 <= Version && 2147483647 >= Version;
8039 case OMPC_num_tasks:
8040 return 1 <= Version && 2147483647 >= Version;
8041 case OMPC_num_threads:
8042 return 1 <= Version && 2147483647 >= Version;
8043 case OMPC_priority:
8044 return 1 <= Version && 2147483647 >= Version;
8045 case OMPC_proc_bind:
8046 return 1 <= Version && 2147483647 >= Version;
8047 case OMPC_severity:
8048 return 60 <= Version && 2147483647 >= Version;
8049 case OMPC_untied:
8050 return 1 <= Version && 2147483647 >= Version;
8051 default:
8052 return false;
8053 }
8054 break;
8055 case OMPD_parallel_masked_taskloop_simd:
8056 switch (C) {
8057 case OMPC_aligned:
8058 return 1 <= Version && 2147483647 >= Version;
8059 case OMPC_allocate:
8060 return 50 <= Version && 2147483647 >= Version;
8061 case OMPC_copyin:
8062 return 1 <= Version && 2147483647 >= Version;
8063 case OMPC_firstprivate:
8064 return 1 <= Version && 2147483647 >= Version;
8065 case OMPC_if:
8066 return 1 <= Version && 2147483647 >= Version;
8067 case OMPC_lastprivate:
8068 return 1 <= Version && 2147483647 >= Version;
8069 case OMPC_linear:
8070 return 1 <= Version && 2147483647 >= Version;
8071 case OMPC_nontemporal:
8072 return 50 <= Version && 2147483647 >= Version;
8073 case OMPC_ompx_attribute:
8074 return 1 <= Version && 2147483647 >= Version;
8075 case OMPC_private:
8076 return 1 <= Version && 2147483647 >= Version;
8077 case OMPC_reduction:
8078 return 1 <= Version && 2147483647 >= Version;
8079 case OMPC_shared:
8080 return 1 <= Version && 2147483647 >= Version;
8081 case OMPC_collapse:
8082 return 1 <= Version && 2147483647 >= Version;
8083 case OMPC_default:
8084 return 1 <= Version && 2147483647 >= Version;
8085 case OMPC_filter:
8086 return 1 <= Version && 2147483647 >= Version;
8087 case OMPC_final:
8088 return 1 <= Version && 2147483647 >= Version;
8089 case OMPC_grainsize:
8090 return 1 <= Version && 2147483647 >= Version;
8091 case OMPC_mergeable:
8092 return 1 <= Version && 2147483647 >= Version;
8093 case OMPC_message:
8094 return 60 <= Version && 2147483647 >= Version;
8095 case OMPC_nogroup:
8096 return 1 <= Version && 2147483647 >= Version;
8097 case OMPC_num_tasks:
8098 return 1 <= Version && 2147483647 >= Version;
8099 case OMPC_num_threads:
8100 return 1 <= Version && 2147483647 >= Version;
8101 case OMPC_order:
8102 return 50 <= Version && 2147483647 >= Version;
8103 case OMPC_priority:
8104 return 1 <= Version && 2147483647 >= Version;
8105 case OMPC_proc_bind:
8106 return 1 <= Version && 2147483647 >= Version;
8107 case OMPC_safelen:
8108 return 1 <= Version && 2147483647 >= Version;
8109 case OMPC_severity:
8110 return 60 <= Version && 2147483647 >= Version;
8111 case OMPC_simdlen:
8112 return 1 <= Version && 2147483647 >= Version;
8113 case OMPC_untied:
8114 return 1 <= Version && 2147483647 >= Version;
8115 default:
8116 return false;
8117 }
8118 break;
8119 case OMPD_parallel_master:
8120 switch (C) {
8121 case OMPC_allocate:
8122 return 50 <= Version && 2147483647 >= Version;
8123 case OMPC_copyin:
8124 return 1 <= Version && 2147483647 >= Version;
8125 case OMPC_firstprivate:
8126 return 1 <= Version && 2147483647 >= Version;
8127 case OMPC_if:
8128 return 1 <= Version && 2147483647 >= Version;
8129 case OMPC_ompx_attribute:
8130 return 1 <= Version && 2147483647 >= Version;
8131 case OMPC_private:
8132 return 1 <= Version && 2147483647 >= Version;
8133 case OMPC_reduction:
8134 return 1 <= Version && 2147483647 >= Version;
8135 case OMPC_shared:
8136 return 1 <= Version && 2147483647 >= Version;
8137 case OMPC_default:
8138 return 1 <= Version && 2147483647 >= Version;
8139 case OMPC_message:
8140 return 60 <= Version && 2147483647 >= Version;
8141 case OMPC_num_threads:
8142 return 1 <= Version && 2147483647 >= Version;
8143 case OMPC_proc_bind:
8144 return 1 <= Version && 2147483647 >= Version;
8145 case OMPC_severity:
8146 return 60 <= Version && 2147483647 >= Version;
8147 default:
8148 return false;
8149 }
8150 break;
8151 case OMPD_parallel_master_taskloop:
8152 switch (C) {
8153 case OMPC_allocate:
8154 return 50 <= Version && 2147483647 >= Version;
8155 case OMPC_copyin:
8156 return 1 <= Version && 2147483647 >= Version;
8157 case OMPC_firstprivate:
8158 return 1 <= Version && 2147483647 >= Version;
8159 case OMPC_if:
8160 return 1 <= Version && 2147483647 >= Version;
8161 case OMPC_lastprivate:
8162 return 1 <= Version && 2147483647 >= Version;
8163 case OMPC_ompx_attribute:
8164 return 1 <= Version && 2147483647 >= Version;
8165 case OMPC_private:
8166 return 1 <= Version && 2147483647 >= Version;
8167 case OMPC_reduction:
8168 return 1 <= Version && 2147483647 >= Version;
8169 case OMPC_shared:
8170 return 1 <= Version && 2147483647 >= Version;
8171 case OMPC_collapse:
8172 return 1 <= Version && 2147483647 >= Version;
8173 case OMPC_default:
8174 return 1 <= Version && 2147483647 >= Version;
8175 case OMPC_final:
8176 return 1 <= Version && 2147483647 >= Version;
8177 case OMPC_grainsize:
8178 return 1 <= Version && 2147483647 >= Version;
8179 case OMPC_mergeable:
8180 return 1 <= Version && 2147483647 >= Version;
8181 case OMPC_message:
8182 return 60 <= Version && 2147483647 >= Version;
8183 case OMPC_nogroup:
8184 return 1 <= Version && 2147483647 >= Version;
8185 case OMPC_num_tasks:
8186 return 1 <= Version && 2147483647 >= Version;
8187 case OMPC_num_threads:
8188 return 1 <= Version && 2147483647 >= Version;
8189 case OMPC_priority:
8190 return 1 <= Version && 2147483647 >= Version;
8191 case OMPC_proc_bind:
8192 return 1 <= Version && 2147483647 >= Version;
8193 case OMPC_severity:
8194 return 60 <= Version && 2147483647 >= Version;
8195 case OMPC_untied:
8196 return 1 <= Version && 2147483647 >= Version;
8197 default:
8198 return false;
8199 }
8200 break;
8201 case OMPD_parallel_master_taskloop_simd:
8202 switch (C) {
8203 case OMPC_aligned:
8204 return 1 <= Version && 2147483647 >= Version;
8205 case OMPC_allocate:
8206 return 50 <= Version && 2147483647 >= Version;
8207 case OMPC_copyin:
8208 return 1 <= Version && 2147483647 >= Version;
8209 case OMPC_firstprivate:
8210 return 1 <= Version && 2147483647 >= Version;
8211 case OMPC_if:
8212 return 1 <= Version && 2147483647 >= Version;
8213 case OMPC_lastprivate:
8214 return 1 <= Version && 2147483647 >= Version;
8215 case OMPC_linear:
8216 return 1 <= Version && 2147483647 >= Version;
8217 case OMPC_nontemporal:
8218 return 50 <= Version && 2147483647 >= Version;
8219 case OMPC_ompx_attribute:
8220 return 1 <= Version && 2147483647 >= Version;
8221 case OMPC_private:
8222 return 1 <= Version && 2147483647 >= Version;
8223 case OMPC_reduction:
8224 return 1 <= Version && 2147483647 >= Version;
8225 case OMPC_shared:
8226 return 1 <= Version && 2147483647 >= Version;
8227 case OMPC_collapse:
8228 return 1 <= Version && 2147483647 >= Version;
8229 case OMPC_default:
8230 return 1 <= Version && 2147483647 >= Version;
8231 case OMPC_final:
8232 return 1 <= Version && 2147483647 >= Version;
8233 case OMPC_grainsize:
8234 return 1 <= Version && 2147483647 >= Version;
8235 case OMPC_mergeable:
8236 return 1 <= Version && 2147483647 >= Version;
8237 case OMPC_message:
8238 return 60 <= Version && 2147483647 >= Version;
8239 case OMPC_nogroup:
8240 return 1 <= Version && 2147483647 >= Version;
8241 case OMPC_num_tasks:
8242 return 1 <= Version && 2147483647 >= Version;
8243 case OMPC_num_threads:
8244 return 1 <= Version && 2147483647 >= Version;
8245 case OMPC_order:
8246 return 50 <= Version && 2147483647 >= Version;
8247 case OMPC_priority:
8248 return 1 <= Version && 2147483647 >= Version;
8249 case OMPC_proc_bind:
8250 return 1 <= Version && 2147483647 >= Version;
8251 case OMPC_safelen:
8252 return 1 <= Version && 2147483647 >= Version;
8253 case OMPC_severity:
8254 return 60 <= Version && 2147483647 >= Version;
8255 case OMPC_simdlen:
8256 return 1 <= Version && 2147483647 >= Version;
8257 case OMPC_untied:
8258 return 1 <= Version && 2147483647 >= Version;
8259 default:
8260 return false;
8261 }
8262 break;
8263 case OMPD_parallel_sections:
8264 switch (C) {
8265 case OMPC_allocate:
8266 return 50 <= Version && 2147483647 >= Version;
8267 case OMPC_copyin:
8268 return 1 <= Version && 2147483647 >= Version;
8269 case OMPC_firstprivate:
8270 return 1 <= Version && 2147483647 >= Version;
8271 case OMPC_if:
8272 return 1 <= Version && 2147483647 >= Version;
8273 case OMPC_lastprivate:
8274 return 1 <= Version && 2147483647 >= Version;
8275 case OMPC_ompx_attribute:
8276 return 1 <= Version && 2147483647 >= Version;
8277 case OMPC_private:
8278 return 1 <= Version && 2147483647 >= Version;
8279 case OMPC_reduction:
8280 return 1 <= Version && 2147483647 >= Version;
8281 case OMPC_shared:
8282 return 1 <= Version && 2147483647 >= Version;
8283 case OMPC_default:
8284 return 1 <= Version && 2147483647 >= Version;
8285 case OMPC_message:
8286 return 60 <= Version && 2147483647 >= Version;
8287 case OMPC_num_threads:
8288 return 1 <= Version && 2147483647 >= Version;
8289 case OMPC_proc_bind:
8290 return 1 <= Version && 2147483647 >= Version;
8291 case OMPC_severity:
8292 return 60 <= Version && 2147483647 >= Version;
8293 default:
8294 return false;
8295 }
8296 break;
8297 case OMPD_parallel_workshare:
8298 switch (C) {
8299 case OMPC_allocate:
8300 return 50 <= Version && 2147483647 >= Version;
8301 case OMPC_copyin:
8302 return 1 <= Version && 2147483647 >= Version;
8303 case OMPC_firstprivate:
8304 return 1 <= Version && 2147483647 >= Version;
8305 case OMPC_if:
8306 return 1 <= Version && 2147483647 >= Version;
8307 case OMPC_private:
8308 return 1 <= Version && 2147483647 >= Version;
8309 case OMPC_reduction:
8310 return 1 <= Version && 2147483647 >= Version;
8311 case OMPC_shared:
8312 return 1 <= Version && 2147483647 >= Version;
8313 case OMPC_default:
8314 return 1 <= Version && 2147483647 >= Version;
8315 case OMPC_message:
8316 return 60 <= Version && 2147483647 >= Version;
8317 case OMPC_num_threads:
8318 return 1 <= Version && 2147483647 >= Version;
8319 case OMPC_proc_bind:
8320 return 1 <= Version && 2147483647 >= Version;
8321 case OMPC_severity:
8322 return 60 <= Version && 2147483647 >= Version;
8323 default:
8324 return false;
8325 }
8326 break;
8327 case OMPD_requires:
8328 switch (C) {
8329 case OMPC_atomic_default_mem_order:
8330 return 1 <= Version && 2147483647 >= Version;
8331 case OMPC_device_safesync:
8332 return 60 <= Version && 2147483647 >= Version;
8333 case OMPC_dynamic_allocators:
8334 return 1 <= Version && 2147483647 >= Version;
8335 case OMPC_reverse_offload:
8336 return 1 <= Version && 2147483647 >= Version;
8337 case OMPC_self_maps:
8338 return 1 <= Version && 2147483647 >= Version;
8339 case OMPC_unified_address:
8340 return 1 <= Version && 2147483647 >= Version;
8341 case OMPC_unified_shared_memory:
8342 return 1 <= Version && 2147483647 >= Version;
8343 default:
8344 return false;
8345 }
8346 break;
8347 case OMPD_reverse:
8348 switch (C) {
8349 case OMPC_apply:
8350 return 60 <= Version && 2147483647 >= Version;
8351 default:
8352 return false;
8353 }
8354 break;
8355 case OMPD_scan:
8356 switch (C) {
8357 case OMPC_exclusive:
8358 return 1 <= Version && 2147483647 >= Version;
8359 case OMPC_inclusive:
8360 return 1 <= Version && 2147483647 >= Version;
8361 default:
8362 return false;
8363 }
8364 break;
8365 case OMPD_scope:
8366 switch (C) {
8367 case OMPC_private:
8368 return 51 <= Version && 2147483647 >= Version;
8369 case OMPC_reduction:
8370 return 51 <= Version && 2147483647 >= Version;
8371 case OMPC_firstprivate:
8372 return 52 <= Version && 2147483647 >= Version;
8373 case OMPC_allocate:
8374 return 52 <= Version && 2147483647 >= Version;
8375 case OMPC_nowait:
8376 return 51 <= Version && 2147483647 >= Version;
8377 default:
8378 return false;
8379 }
8380 break;
8381 case OMPD_section:
8382 return false;
8383 break;
8384 case OMPD_sections:
8385 switch (C) {
8386 case OMPC_allocate:
8387 return 50 <= Version && 2147483647 >= Version;
8388 case OMPC_firstprivate:
8389 return 1 <= Version && 2147483647 >= Version;
8390 case OMPC_lastprivate:
8391 return 1 <= Version && 2147483647 >= Version;
8392 case OMPC_private:
8393 return 1 <= Version && 2147483647 >= Version;
8394 case OMPC_reduction:
8395 return 1 <= Version && 2147483647 >= Version;
8396 case OMPC_nowait:
8397 return 1 <= Version && 2147483647 >= Version;
8398 default:
8399 return false;
8400 }
8401 break;
8402 case OMPD_simd:
8403 switch (C) {
8404 case OMPC_aligned:
8405 return 1 <= Version && 2147483647 >= Version;
8406 case OMPC_allocate:
8407 return 50 <= Version && 2147483647 >= Version;
8408 case OMPC_if:
8409 return 50 <= Version && 2147483647 >= Version;
8410 case OMPC_lastprivate:
8411 return 1 <= Version && 2147483647 >= Version;
8412 case OMPC_linear:
8413 return 1 <= Version && 2147483647 >= Version;
8414 case OMPC_nontemporal:
8415 return 50 <= Version && 2147483647 >= Version;
8416 case OMPC_private:
8417 return 1 <= Version && 2147483647 >= Version;
8418 case OMPC_reduction:
8419 return 1 <= Version && 2147483647 >= Version;
8420 case OMPC_collapse:
8421 return 1 <= Version && 2147483647 >= Version;
8422 case OMPC_order:
8423 return 50 <= Version && 2147483647 >= Version;
8424 case OMPC_safelen:
8425 return 1 <= Version && 2147483647 >= Version;
8426 case OMPC_simdlen:
8427 return 1 <= Version && 2147483647 >= Version;
8428 default:
8429 return false;
8430 }
8431 break;
8432 case OMPD_single:
8433 switch (C) {
8434 case OMPC_allocate:
8435 return 50 <= Version && 2147483647 >= Version;
8436 case OMPC_copyprivate:
8437 return 1 <= Version && 2147483647 >= Version;
8438 case OMPC_firstprivate:
8439 return 1 <= Version && 2147483647 >= Version;
8440 case OMPC_private:
8441 return 1 <= Version && 2147483647 >= Version;
8442 case OMPC_nowait:
8443 return 1 <= Version && 2147483647 >= Version;
8444 default:
8445 return false;
8446 }
8447 break;
8448 case OMPD_split:
8449 switch (C) {
8450 case OMPC_apply:
8451 return 60 <= Version && 2147483647 >= Version;
8452 case OMPC_counts:
8453 return 60 <= Version && 2147483647 >= Version;
8454 default:
8455 return false;
8456 }
8457 break;
8458 case OMPD_stripe:
8459 switch (C) {
8460 case OMPC_apply:
8461 return 60 <= Version && 2147483647 >= Version;
8462 case OMPC_sizes:
8463 return 60 <= Version && 2147483647 >= Version;
8464 default:
8465 return false;
8466 }
8467 break;
8468 case OMPD_target:
8469 switch (C) {
8470 case OMPC_allocate:
8471 return 50 <= Version && 2147483647 >= Version;
8472 case OMPC_depend:
8473 return 1 <= Version && 2147483647 >= Version;
8474 case OMPC_dyn_groupprivate:
8475 return 61 <= Version && 2147483647 >= Version;
8476 case OMPC_firstprivate:
8477 return 1 <= Version && 2147483647 >= Version;
8478 case OMPC_if:
8479 return 1 <= Version && 2147483647 >= Version;
8480 case OMPC_has_device_addr:
8481 return 51 <= Version && 2147483647 >= Version;
8482 case OMPC_in_reduction:
8483 return 50 <= Version && 2147483647 >= Version;
8484 case OMPC_is_device_ptr:
8485 return 1 <= Version && 2147483647 >= Version;
8486 case OMPC_map:
8487 return 1 <= Version && 2147483647 >= Version;
8488 case OMPC_ompx_attribute:
8489 return 1 <= Version && 2147483647 >= Version;
8490 case OMPC_private:
8491 return 1 <= Version && 2147483647 >= Version;
8492 case OMPC_uses_allocators:
8493 return 50 <= Version && 2147483647 >= Version;
8494 case OMPC_default:
8495 return 60 <= Version && 2147483647 >= Version;
8496 case OMPC_defaultmap:
8497 return 1 <= Version && 2147483647 >= Version;
8498 case OMPC_device:
8499 return 1 <= Version && 2147483647 >= Version;
8500 case OMPC_nowait:
8501 return 1 <= Version && 2147483647 >= Version;
8502 case OMPC_ompx_bare:
8503 return 1 <= Version && 2147483647 >= Version;
8504 case OMPC_ompx_dyn_cgroup_mem:
8505 return 1 <= Version && 2147483647 >= Version;
8506 case OMPC_replayable:
8507 return 60 <= Version && 2147483647 >= Version;
8508 case OMPC_thread_limit:
8509 return 51 <= Version && 2147483647 >= Version;
8510 default:
8511 return false;
8512 }
8513 break;
8514 case OMPD_target_data:
8515 switch (C) {
8516 case OMPC_if:
8517 return 1 <= Version && 2147483647 >= Version;
8518 case OMPC_default:
8519 return 60 <= Version && 2147483647 >= Version;
8520 case OMPC_device:
8521 return 1 <= Version && 2147483647 >= Version;
8522 case OMPC_transparent:
8523 return 60 <= Version && 2147483647 >= Version;
8524 case OMPC_map:
8525 return 1 <= Version && 2147483647 >= Version;
8526 case OMPC_use_device_addr:
8527 return 50 <= Version && 2147483647 >= Version;
8528 case OMPC_use_device_ptr:
8529 return 1 <= Version && 2147483647 >= Version;
8530 default:
8531 return false;
8532 }
8533 break;
8534 case OMPD_target_enter_data:
8535 switch (C) {
8536 case OMPC_depend:
8537 return 1 <= Version && 2147483647 >= Version;
8538 case OMPC_if:
8539 return 1 <= Version && 2147483647 >= Version;
8540 case OMPC_device:
8541 return 1 <= Version && 2147483647 >= Version;
8542 case OMPC_nowait:
8543 return 1 <= Version && 2147483647 >= Version;
8544 case OMPC_replayable:
8545 return 60 <= Version && 2147483647 >= Version;
8546 case OMPC_map:
8547 return 1 <= Version && 2147483647 >= Version;
8548 default:
8549 return false;
8550 }
8551 break;
8552 case OMPD_target_exit_data:
8553 switch (C) {
8554 case OMPC_depend:
8555 return 1 <= Version && 2147483647 >= Version;
8556 case OMPC_if:
8557 return 1 <= Version && 2147483647 >= Version;
8558 case OMPC_device:
8559 return 1 <= Version && 2147483647 >= Version;
8560 case OMPC_nowait:
8561 return 1 <= Version && 2147483647 >= Version;
8562 case OMPC_replayable:
8563 return 60 <= Version && 2147483647 >= Version;
8564 case OMPC_map:
8565 return 1 <= Version && 2147483647 >= Version;
8566 default:
8567 return false;
8568 }
8569 break;
8570 case OMPD_target_parallel:
8571 switch (C) {
8572 case OMPC_allocate:
8573 return 50 <= Version && 2147483647 >= Version;
8574 case OMPC_depend:
8575 return 1 <= Version && 2147483647 >= Version;
8576 case OMPC_dyn_groupprivate:
8577 return 61 <= Version && 2147483647 >= Version;
8578 case OMPC_firstprivate:
8579 return 1 <= Version && 2147483647 >= Version;
8580 case OMPC_has_device_addr:
8581 return 51 <= Version && 2147483647 >= Version;
8582 case OMPC_if:
8583 return 1 <= Version && 2147483647 >= Version;
8584 case OMPC_is_device_ptr:
8585 return 1 <= Version && 2147483647 >= Version;
8586 case OMPC_map:
8587 return 1 <= Version && 2147483647 >= Version;
8588 case OMPC_ompx_attribute:
8589 return 1 <= Version && 2147483647 >= Version;
8590 case OMPC_private:
8591 return 1 <= Version && 2147483647 >= Version;
8592 case OMPC_reduction:
8593 return 1 <= Version && 2147483647 >= Version;
8594 case OMPC_shared:
8595 return 1 <= Version && 2147483647 >= Version;
8596 case OMPC_uses_allocators:
8597 return 50 <= Version && 2147483647 >= Version;
8598 case OMPC_default:
8599 return 1 <= Version && 2147483647 >= Version;
8600 case OMPC_defaultmap:
8601 return 1 <= Version && 2147483647 >= Version;
8602 case OMPC_device:
8603 return 1 <= Version && 2147483647 >= Version;
8604 case OMPC_message:
8605 return 60 <= Version && 2147483647 >= Version;
8606 case OMPC_nowait:
8607 return 1 <= Version && 2147483647 >= Version;
8608 case OMPC_num_threads:
8609 return 1 <= Version && 2147483647 >= Version;
8610 case OMPC_ompx_dyn_cgroup_mem:
8611 return 1 <= Version && 2147483647 >= Version;
8612 case OMPC_proc_bind:
8613 return 1 <= Version && 2147483647 >= Version;
8614 case OMPC_severity:
8615 return 60 <= Version && 2147483647 >= Version;
8616 case OMPC_thread_limit:
8617 return 51 <= Version && 2147483647 >= Version;
8618 default:
8619 return false;
8620 }
8621 break;
8622 case OMPD_target_parallel_do:
8623 switch (C) {
8624 case OMPC_depend:
8625 return 1 <= Version && 2147483647 >= Version;
8626 case OMPC_dyn_groupprivate:
8627 return 61 <= Version && 2147483647 >= Version;
8628 case OMPC_firstprivate:
8629 return 1 <= Version && 2147483647 >= Version;
8630 case OMPC_has_device_addr:
8631 return 51 <= Version && 2147483647 >= Version;
8632 case OMPC_if:
8633 return 1 <= Version && 2147483647 >= Version;
8634 case OMPC_is_device_ptr:
8635 return 1 <= Version && 2147483647 >= Version;
8636 case OMPC_lastprivate:
8637 return 1 <= Version && 2147483647 >= Version;
8638 case OMPC_linear:
8639 return 1 <= Version && 2147483647 >= Version;
8640 case OMPC_map:
8641 return 1 <= Version && 2147483647 >= Version;
8642 case OMPC_private:
8643 return 1 <= Version && 2147483647 >= Version;
8644 case OMPC_reduction:
8645 return 1 <= Version && 2147483647 >= Version;
8646 case OMPC_shared:
8647 return 1 <= Version && 2147483647 >= Version;
8648 case OMPC_uses_allocators:
8649 return 1 <= Version && 2147483647 >= Version;
8650 case OMPC_allocator:
8651 return 1 <= Version && 2147483647 >= Version;
8652 case OMPC_collapse:
8653 return 1 <= Version && 2147483647 >= Version;
8654 case OMPC_default:
8655 return 1 <= Version && 2147483647 >= Version;
8656 case OMPC_defaultmap:
8657 return 1 <= Version && 2147483647 >= Version;
8658 case OMPC_device:
8659 return 1 <= Version && 2147483647 >= Version;
8660 case OMPC_message:
8661 return 60 <= Version && 2147483647 >= Version;
8662 case OMPC_nowait:
8663 return 1 <= Version && 2147483647 >= Version;
8664 case OMPC_num_threads:
8665 return 1 <= Version && 2147483647 >= Version;
8666 case OMPC_order:
8667 return 50 <= Version && 2147483647 >= Version;
8668 case OMPC_ordered:
8669 return 1 <= Version && 2147483647 >= Version;
8670 case OMPC_proc_bind:
8671 return 1 <= Version && 2147483647 >= Version;
8672 case OMPC_schedule:
8673 return 1 <= Version && 2147483647 >= Version;
8674 case OMPC_severity:
8675 return 60 <= Version && 2147483647 >= Version;
8676 default:
8677 return false;
8678 }
8679 break;
8680 case OMPD_target_parallel_do_simd:
8681 switch (C) {
8682 case OMPC_aligned:
8683 return 1 <= Version && 2147483647 >= Version;
8684 case OMPC_allocate:
8685 return 50 <= Version && 2147483647 >= Version;
8686 case OMPC_depend:
8687 return 1 <= Version && 2147483647 >= Version;
8688 case OMPC_dyn_groupprivate:
8689 return 61 <= Version && 2147483647 >= Version;
8690 case OMPC_firstprivate:
8691 return 1 <= Version && 2147483647 >= Version;
8692 case OMPC_has_device_addr:
8693 return 51 <= Version && 2147483647 >= Version;
8694 case OMPC_if:
8695 return 1 <= Version && 2147483647 >= Version;
8696 case OMPC_is_device_ptr:
8697 return 1 <= Version && 2147483647 >= Version;
8698 case OMPC_lastprivate:
8699 return 1 <= Version && 2147483647 >= Version;
8700 case OMPC_linear:
8701 return 1 <= Version && 2147483647 >= Version;
8702 case OMPC_map:
8703 return 1 <= Version && 2147483647 >= Version;
8704 case OMPC_nontemporal:
8705 return 1 <= Version && 2147483647 >= Version;
8706 case OMPC_private:
8707 return 1 <= Version && 2147483647 >= Version;
8708 case OMPC_reduction:
8709 return 1 <= Version && 2147483647 >= Version;
8710 case OMPC_shared:
8711 return 1 <= Version && 2147483647 >= Version;
8712 case OMPC_uses_allocators:
8713 return 1 <= Version && 2147483647 >= Version;
8714 case OMPC_collapse:
8715 return 1 <= Version && 2147483647 >= Version;
8716 case OMPC_default:
8717 return 1 <= Version && 2147483647 >= Version;
8718 case OMPC_defaultmap:
8719 return 1 <= Version && 2147483647 >= Version;
8720 case OMPC_device:
8721 return 1 <= Version && 2147483647 >= Version;
8722 case OMPC_message:
8723 return 60 <= Version && 2147483647 >= Version;
8724 case OMPC_nowait:
8725 return 1 <= Version && 2147483647 >= Version;
8726 case OMPC_num_threads:
8727 return 1 <= Version && 2147483647 >= Version;
8728 case OMPC_order:
8729 return 50 <= Version && 2147483647 >= Version;
8730 case OMPC_ordered:
8731 return 1 <= Version && 2147483647 >= Version;
8732 case OMPC_proc_bind:
8733 return 1 <= Version && 2147483647 >= Version;
8734 case OMPC_safelen:
8735 return 1 <= Version && 2147483647 >= Version;
8736 case OMPC_schedule:
8737 return 1 <= Version && 2147483647 >= Version;
8738 case OMPC_severity:
8739 return 60 <= Version && 2147483647 >= Version;
8740 case OMPC_simdlen:
8741 return 1 <= Version && 2147483647 >= Version;
8742 default:
8743 return false;
8744 }
8745 break;
8746 case OMPD_target_parallel_for:
8747 switch (C) {
8748 case OMPC_allocate:
8749 return 50 <= Version && 2147483647 >= Version;
8750 case OMPC_depend:
8751 return 1 <= Version && 2147483647 >= Version;
8752 case OMPC_dyn_groupprivate:
8753 return 61 <= Version && 2147483647 >= Version;
8754 case OMPC_firstprivate:
8755 return 1 <= Version && 2147483647 >= Version;
8756 case OMPC_has_device_addr:
8757 return 51 <= Version && 2147483647 >= Version;
8758 case OMPC_if:
8759 return 1 <= Version && 2147483647 >= Version;
8760 case OMPC_is_device_ptr:
8761 return 1 <= Version && 2147483647 >= Version;
8762 case OMPC_lastprivate:
8763 return 1 <= Version && 2147483647 >= Version;
8764 case OMPC_linear:
8765 return 1 <= Version && 2147483647 >= Version;
8766 case OMPC_map:
8767 return 1 <= Version && 2147483647 >= Version;
8768 case OMPC_ompx_attribute:
8769 return 1 <= Version && 2147483647 >= Version;
8770 case OMPC_private:
8771 return 1 <= Version && 2147483647 >= Version;
8772 case OMPC_reduction:
8773 return 1 <= Version && 2147483647 >= Version;
8774 case OMPC_shared:
8775 return 1 <= Version && 2147483647 >= Version;
8776 case OMPC_uses_allocators:
8777 return 50 <= Version && 2147483647 >= Version;
8778 case OMPC_collapse:
8779 return 1 <= Version && 2147483647 >= Version;
8780 case OMPC_default:
8781 return 1 <= Version && 2147483647 >= Version;
8782 case OMPC_defaultmap:
8783 return 1 <= Version && 2147483647 >= Version;
8784 case OMPC_device:
8785 return 1 <= Version && 2147483647 >= Version;
8786 case OMPC_message:
8787 return 60 <= Version && 2147483647 >= Version;
8788 case OMPC_nowait:
8789 return 1 <= Version && 2147483647 >= Version;
8790 case OMPC_num_threads:
8791 return 1 <= Version && 2147483647 >= Version;
8792 case OMPC_ompx_dyn_cgroup_mem:
8793 return 1 <= Version && 2147483647 >= Version;
8794 case OMPC_order:
8795 return 50 <= Version && 2147483647 >= Version;
8796 case OMPC_ordered:
8797 return 1 <= Version && 2147483647 >= Version;
8798 case OMPC_proc_bind:
8799 return 1 <= Version && 2147483647 >= Version;
8800 case OMPC_schedule:
8801 return 1 <= Version && 2147483647 >= Version;
8802 case OMPC_severity:
8803 return 60 <= Version && 2147483647 >= Version;
8804 case OMPC_thread_limit:
8805 return 51 <= Version && 2147483647 >= Version;
8806 default:
8807 return false;
8808 }
8809 break;
8810 case OMPD_target_parallel_for_simd:
8811 switch (C) {
8812 case OMPC_aligned:
8813 return 1 <= Version && 2147483647 >= Version;
8814 case OMPC_allocate:
8815 return 50 <= Version && 2147483647 >= Version;
8816 case OMPC_depend:
8817 return 1 <= Version && 2147483647 >= Version;
8818 case OMPC_dyn_groupprivate:
8819 return 61 <= Version && 2147483647 >= Version;
8820 case OMPC_firstprivate:
8821 return 1 <= Version && 2147483647 >= Version;
8822 case OMPC_has_device_addr:
8823 return 51 <= Version && 2147483647 >= Version;
8824 case OMPC_if:
8825 return 1 <= Version && 2147483647 >= Version;
8826 case OMPC_is_device_ptr:
8827 return 1 <= Version && 2147483647 >= Version;
8828 case OMPC_lastprivate:
8829 return 1 <= Version && 2147483647 >= Version;
8830 case OMPC_linear:
8831 return 1 <= Version && 2147483647 >= Version;
8832 case OMPC_map:
8833 return 1 <= Version && 2147483647 >= Version;
8834 case OMPC_nontemporal:
8835 return 50 <= Version && 2147483647 >= Version;
8836 case OMPC_ompx_attribute:
8837 return 1 <= Version && 2147483647 >= Version;
8838 case OMPC_private:
8839 return 1 <= Version && 2147483647 >= Version;
8840 case OMPC_reduction:
8841 return 1 <= Version && 2147483647 >= Version;
8842 case OMPC_shared:
8843 return 1 <= Version && 2147483647 >= Version;
8844 case OMPC_uses_allocators:
8845 return 50 <= Version && 2147483647 >= Version;
8846 case OMPC_collapse:
8847 return 1 <= Version && 2147483647 >= Version;
8848 case OMPC_default:
8849 return 1 <= Version && 2147483647 >= Version;
8850 case OMPC_defaultmap:
8851 return 1 <= Version && 2147483647 >= Version;
8852 case OMPC_device:
8853 return 1 <= Version && 2147483647 >= Version;
8854 case OMPC_message:
8855 return 60 <= Version && 2147483647 >= Version;
8856 case OMPC_nowait:
8857 return 1 <= Version && 2147483647 >= Version;
8858 case OMPC_num_threads:
8859 return 1 <= Version && 2147483647 >= Version;
8860 case OMPC_ompx_dyn_cgroup_mem:
8861 return 1 <= Version && 2147483647 >= Version;
8862 case OMPC_order:
8863 return 50 <= Version && 2147483647 >= Version;
8864 case OMPC_ordered:
8865 return 1 <= Version && 2147483647 >= Version;
8866 case OMPC_proc_bind:
8867 return 1 <= Version && 2147483647 >= Version;
8868 case OMPC_safelen:
8869 return 1 <= Version && 2147483647 >= Version;
8870 case OMPC_schedule:
8871 return 1 <= Version && 2147483647 >= Version;
8872 case OMPC_severity:
8873 return 60 <= Version && 2147483647 >= Version;
8874 case OMPC_simdlen:
8875 return 1 <= Version && 2147483647 >= Version;
8876 case OMPC_thread_limit:
8877 return 51 <= Version && 2147483647 >= Version;
8878 default:
8879 return false;
8880 }
8881 break;
8882 case OMPD_target_simd:
8883 switch (C) {
8884 case OMPC_aligned:
8885 return 1 <= Version && 2147483647 >= Version;
8886 case OMPC_allocate:
8887 return 50 <= Version && 2147483647 >= Version;
8888 case OMPC_depend:
8889 return 1 <= Version && 2147483647 >= Version;
8890 case OMPC_dyn_groupprivate:
8891 return 61 <= Version && 2147483647 >= Version;
8892 case OMPC_firstprivate:
8893 return 1 <= Version && 2147483647 >= Version;
8894 case OMPC_has_device_addr:
8895 return 51 <= Version && 2147483647 >= Version;
8896 case OMPC_if:
8897 return 1 <= Version && 2147483647 >= Version;
8898 case OMPC_is_device_ptr:
8899 return 1 <= Version && 2147483647 >= Version;
8900 case OMPC_lastprivate:
8901 return 1 <= Version && 2147483647 >= Version;
8902 case OMPC_linear:
8903 return 1 <= Version && 2147483647 >= Version;
8904 case OMPC_map:
8905 return 1 <= Version && 2147483647 >= Version;
8906 case OMPC_nontemporal:
8907 return 50 <= Version && 2147483647 >= Version;
8908 case OMPC_ompx_attribute:
8909 return 1 <= Version && 2147483647 >= Version;
8910 case OMPC_private:
8911 return 1 <= Version && 2147483647 >= Version;
8912 case OMPC_reduction:
8913 return 1 <= Version && 2147483647 >= Version;
8914 case OMPC_shared:
8915 return 1 <= Version && 2147483647 >= Version;
8916 case OMPC_uses_allocators:
8917 return 50 <= Version && 2147483647 >= Version;
8918 case OMPC_collapse:
8919 return 1 <= Version && 2147483647 >= Version;
8920 case OMPC_defaultmap:
8921 return 1 <= Version && 2147483647 >= Version;
8922 case OMPC_device:
8923 return 1 <= Version && 2147483647 >= Version;
8924 case OMPC_message:
8925 return 60 <= Version && 2147483647 >= Version;
8926 case OMPC_nowait:
8927 return 1 <= Version && 2147483647 >= Version;
8928 case OMPC_num_threads:
8929 return 1 <= Version && 2147483647 >= Version;
8930 case OMPC_ompx_dyn_cgroup_mem:
8931 return 1 <= Version && 2147483647 >= Version;
8932 case OMPC_order:
8933 return 50 <= Version && 2147483647 >= Version;
8934 case OMPC_proc_bind:
8935 return 1 <= Version && 2147483647 >= Version;
8936 case OMPC_safelen:
8937 return 1 <= Version && 2147483647 >= Version;
8938 case OMPC_schedule:
8939 return 1 <= Version && 2147483647 >= Version;
8940 case OMPC_severity:
8941 return 60 <= Version && 2147483647 >= Version;
8942 case OMPC_simdlen:
8943 return 1 <= Version && 2147483647 >= Version;
8944 case OMPC_thread_limit:
8945 return 51 <= Version && 2147483647 >= Version;
8946 default:
8947 return false;
8948 }
8949 break;
8950 case OMPD_target_teams:
8951 switch (C) {
8952 case OMPC_allocate:
8953 return 50 <= Version && 2147483647 >= Version;
8954 case OMPC_depend:
8955 return 1 <= Version && 2147483647 >= Version;
8956 case OMPC_dyn_groupprivate:
8957 return 61 <= Version && 2147483647 >= Version;
8958 case OMPC_firstprivate:
8959 return 1 <= Version && 2147483647 >= Version;
8960 case OMPC_has_device_addr:
8961 return 51 <= Version && 2147483647 >= Version;
8962 case OMPC_if:
8963 return 1 <= Version && 2147483647 >= Version;
8964 case OMPC_is_device_ptr:
8965 return 1 <= Version && 2147483647 >= Version;
8966 case OMPC_map:
8967 return 1 <= Version && 2147483647 >= Version;
8968 case OMPC_ompx_attribute:
8969 return 1 <= Version && 2147483647 >= Version;
8970 case OMPC_private:
8971 return 1 <= Version && 2147483647 >= Version;
8972 case OMPC_reduction:
8973 return 1 <= Version && 2147483647 >= Version;
8974 case OMPC_shared:
8975 return 1 <= Version && 2147483647 >= Version;
8976 case OMPC_uses_allocators:
8977 return 50 <= Version && 2147483647 >= Version;
8978 case OMPC_default:
8979 return 1 <= Version && 2147483647 >= Version;
8980 case OMPC_defaultmap:
8981 return 1 <= Version && 2147483647 >= Version;
8982 case OMPC_device:
8983 return 1 <= Version && 2147483647 >= Version;
8984 case OMPC_nowait:
8985 return 1 <= Version && 2147483647 >= Version;
8986 case OMPC_num_teams:
8987 return 1 <= Version && 2147483647 >= Version;
8988 case OMPC_ompx_bare:
8989 return 1 <= Version && 2147483647 >= Version;
8990 case OMPC_ompx_dyn_cgroup_mem:
8991 return 1 <= Version && 2147483647 >= Version;
8992 case OMPC_thread_limit:
8993 return 1 <= Version && 2147483647 >= Version;
8994 default:
8995 return false;
8996 }
8997 break;
8998 case OMPD_target_teams_distribute:
8999 switch (C) {
9000 case OMPC_allocate:
9001 return 50 <= Version && 2147483647 >= Version;
9002 case OMPC_depend:
9003 return 1 <= Version && 2147483647 >= Version;
9004 case OMPC_dyn_groupprivate:
9005 return 61 <= Version && 2147483647 >= Version;
9006 case OMPC_firstprivate:
9007 return 1 <= Version && 2147483647 >= Version;
9008 case OMPC_has_device_addr:
9009 return 51 <= Version && 2147483647 >= Version;
9010 case OMPC_if:
9011 return 1 <= Version && 2147483647 >= Version;
9012 case OMPC_is_device_ptr:
9013 return 1 <= Version && 2147483647 >= Version;
9014 case OMPC_lastprivate:
9015 return 1 <= Version && 2147483647 >= Version;
9016 case OMPC_map:
9017 return 1 <= Version && 2147483647 >= Version;
9018 case OMPC_ompx_attribute:
9019 return 1 <= Version && 2147483647 >= Version;
9020 case OMPC_private:
9021 return 1 <= Version && 2147483647 >= Version;
9022 case OMPC_reduction:
9023 return 1 <= Version && 2147483647 >= Version;
9024 case OMPC_shared:
9025 return 1 <= Version && 2147483647 >= Version;
9026 case OMPC_uses_allocators:
9027 return 50 <= Version && 2147483647 >= Version;
9028 case OMPC_collapse:
9029 return 1 <= Version && 2147483647 >= Version;
9030 case OMPC_default:
9031 return 1 <= Version && 2147483647 >= Version;
9032 case OMPC_defaultmap:
9033 return 1 <= Version && 2147483647 >= Version;
9034 case OMPC_device:
9035 return 1 <= Version && 2147483647 >= Version;
9036 case OMPC_dist_schedule:
9037 return 1 <= Version && 2147483647 >= Version;
9038 case OMPC_nowait:
9039 return 1 <= Version && 2147483647 >= Version;
9040 case OMPC_num_teams:
9041 return 1 <= Version && 2147483647 >= Version;
9042 case OMPC_ompx_dyn_cgroup_mem:
9043 return 1 <= Version && 2147483647 >= Version;
9044 case OMPC_order:
9045 return 50 <= Version && 2147483647 >= Version;
9046 case OMPC_thread_limit:
9047 return 1 <= Version && 2147483647 >= Version;
9048 default:
9049 return false;
9050 }
9051 break;
9052 case OMPD_target_teams_distribute_parallel_do:
9053 switch (C) {
9054 case OMPC_allocate:
9055 return 50 <= Version && 2147483647 >= Version;
9056 case OMPC_depend:
9057 return 1 <= Version && 2147483647 >= Version;
9058 case OMPC_dyn_groupprivate:
9059 return 61 <= Version && 2147483647 >= Version;
9060 case OMPC_firstprivate:
9061 return 1 <= Version && 2147483647 >= Version;
9062 case OMPC_has_device_addr:
9063 return 51 <= Version && 2147483647 >= Version;
9064 case OMPC_if:
9065 return 1 <= Version && 2147483647 >= Version;
9066 case OMPC_is_device_ptr:
9067 return 1 <= Version && 2147483647 >= Version;
9068 case OMPC_lastprivate:
9069 return 1 <= Version && 2147483647 >= Version;
9070 case OMPC_linear:
9071 return 1 <= Version && 2147483647 >= Version;
9072 case OMPC_map:
9073 return 1 <= Version && 2147483647 >= Version;
9074 case OMPC_private:
9075 return 1 <= Version && 2147483647 >= Version;
9076 case OMPC_reduction:
9077 return 1 <= Version && 2147483647 >= Version;
9078 case OMPC_shared:
9079 return 1 <= Version && 2147483647 >= Version;
9080 case OMPC_uses_allocators:
9081 return 1 <= Version && 2147483647 >= Version;
9082 case OMPC_collapse:
9083 return 1 <= Version && 2147483647 >= Version;
9084 case OMPC_default:
9085 return 1 <= Version && 2147483647 >= Version;
9086 case OMPC_defaultmap:
9087 return 1 <= Version && 2147483647 >= Version;
9088 case OMPC_device:
9089 return 1 <= Version && 2147483647 >= Version;
9090 case OMPC_dist_schedule:
9091 return 1 <= Version && 2147483647 >= Version;
9092 case OMPC_message:
9093 return 60 <= Version && 2147483647 >= Version;
9094 case OMPC_nowait:
9095 return 1 <= Version && 2147483647 >= Version;
9096 case OMPC_num_teams:
9097 return 1 <= Version && 2147483647 >= Version;
9098 case OMPC_num_threads:
9099 return 1 <= Version && 2147483647 >= Version;
9100 case OMPC_order:
9101 return 50 <= Version && 2147483647 >= Version;
9102 case OMPC_proc_bind:
9103 return 1 <= Version && 2147483647 >= Version;
9104 case OMPC_schedule:
9105 return 1 <= Version && 2147483647 >= Version;
9106 case OMPC_severity:
9107 return 60 <= Version && 2147483647 >= Version;
9108 case OMPC_thread_limit:
9109 return 1 <= Version && 2147483647 >= Version;
9110 default:
9111 return false;
9112 }
9113 break;
9114 case OMPD_target_teams_distribute_parallel_do_simd:
9115 switch (C) {
9116 case OMPC_aligned:
9117 return 1 <= Version && 2147483647 >= Version;
9118 case OMPC_allocate:
9119 return 50 <= Version && 2147483647 >= Version;
9120 case OMPC_depend:
9121 return 1 <= Version && 2147483647 >= Version;
9122 case OMPC_dyn_groupprivate:
9123 return 61 <= Version && 2147483647 >= Version;
9124 case OMPC_firstprivate:
9125 return 1 <= Version && 2147483647 >= Version;
9126 case OMPC_has_device_addr:
9127 return 51 <= Version && 2147483647 >= Version;
9128 case OMPC_if:
9129 return 1 <= Version && 2147483647 >= Version;
9130 case OMPC_is_device_ptr:
9131 return 1 <= Version && 2147483647 >= Version;
9132 case OMPC_lastprivate:
9133 return 1 <= Version && 2147483647 >= Version;
9134 case OMPC_linear:
9135 return 1 <= Version && 2147483647 >= Version;
9136 case OMPC_map:
9137 return 1 <= Version && 2147483647 >= Version;
9138 case OMPC_nontemporal:
9139 return 1 <= Version && 2147483647 >= Version;
9140 case OMPC_private:
9141 return 1 <= Version && 2147483647 >= Version;
9142 case OMPC_reduction:
9143 return 1 <= Version && 2147483647 >= Version;
9144 case OMPC_shared:
9145 return 1 <= Version && 2147483647 >= Version;
9146 case OMPC_uses_allocators:
9147 return 1 <= Version && 2147483647 >= Version;
9148 case OMPC_collapse:
9149 return 1 <= Version && 2147483647 >= Version;
9150 case OMPC_default:
9151 return 1 <= Version && 2147483647 >= Version;
9152 case OMPC_defaultmap:
9153 return 1 <= Version && 2147483647 >= Version;
9154 case OMPC_device:
9155 return 1 <= Version && 2147483647 >= Version;
9156 case OMPC_dist_schedule:
9157 return 1 <= Version && 2147483647 >= Version;
9158 case OMPC_message:
9159 return 60 <= Version && 2147483647 >= Version;
9160 case OMPC_nowait:
9161 return 1 <= Version && 2147483647 >= Version;
9162 case OMPC_num_teams:
9163 return 1 <= Version && 2147483647 >= Version;
9164 case OMPC_num_threads:
9165 return 1 <= Version && 2147483647 >= Version;
9166 case OMPC_order:
9167 return 50 <= Version && 2147483647 >= Version;
9168 case OMPC_proc_bind:
9169 return 1 <= Version && 2147483647 >= Version;
9170 case OMPC_safelen:
9171 return 1 <= Version && 2147483647 >= Version;
9172 case OMPC_schedule:
9173 return 1 <= Version && 2147483647 >= Version;
9174 case OMPC_severity:
9175 return 60 <= Version && 2147483647 >= Version;
9176 case OMPC_simdlen:
9177 return 1 <= Version && 2147483647 >= Version;
9178 case OMPC_thread_limit:
9179 return 1 <= Version && 2147483647 >= Version;
9180 default:
9181 return false;
9182 }
9183 break;
9184 case OMPD_target_teams_distribute_parallel_for:
9185 switch (C) {
9186 case OMPC_allocate:
9187 return 50 <= Version && 2147483647 >= Version;
9188 case OMPC_depend:
9189 return 1 <= Version && 2147483647 >= Version;
9190 case OMPC_dyn_groupprivate:
9191 return 61 <= Version && 2147483647 >= Version;
9192 case OMPC_firstprivate:
9193 return 1 <= Version && 2147483647 >= Version;
9194 case OMPC_has_device_addr:
9195 return 51 <= Version && 2147483647 >= Version;
9196 case OMPC_if:
9197 return 1 <= Version && 2147483647 >= Version;
9198 case OMPC_is_device_ptr:
9199 return 1 <= Version && 2147483647 >= Version;
9200 case OMPC_lastprivate:
9201 return 1 <= Version && 2147483647 >= Version;
9202 case OMPC_map:
9203 return 1 <= Version && 2147483647 >= Version;
9204 case OMPC_ompx_attribute:
9205 return 1 <= Version && 2147483647 >= Version;
9206 case OMPC_private:
9207 return 1 <= Version && 2147483647 >= Version;
9208 case OMPC_reduction:
9209 return 1 <= Version && 2147483647 >= Version;
9210 case OMPC_shared:
9211 return 1 <= Version && 2147483647 >= Version;
9212 case OMPC_uses_allocators:
9213 return 50 <= Version && 2147483647 >= Version;
9214 case OMPC_collapse:
9215 return 1 <= Version && 2147483647 >= Version;
9216 case OMPC_default:
9217 return 1 <= Version && 2147483647 >= Version;
9218 case OMPC_defaultmap:
9219 return 1 <= Version && 2147483647 >= Version;
9220 case OMPC_device:
9221 return 1 <= Version && 2147483647 >= Version;
9222 case OMPC_dist_schedule:
9223 return 1 <= Version && 2147483647 >= Version;
9224 case OMPC_message:
9225 return 60 <= Version && 2147483647 >= Version;
9226 case OMPC_nowait:
9227 return 1 <= Version && 2147483647 >= Version;
9228 case OMPC_num_teams:
9229 return 1 <= Version && 2147483647 >= Version;
9230 case OMPC_num_threads:
9231 return 1 <= Version && 2147483647 >= Version;
9232 case OMPC_ompx_dyn_cgroup_mem:
9233 return 1 <= Version && 2147483647 >= Version;
9234 case OMPC_order:
9235 return 50 <= Version && 2147483647 >= Version;
9236 case OMPC_proc_bind:
9237 return 1 <= Version && 2147483647 >= Version;
9238 case OMPC_schedule:
9239 return 1 <= Version && 2147483647 >= Version;
9240 case OMPC_severity:
9241 return 60 <= Version && 2147483647 >= Version;
9242 case OMPC_thread_limit:
9243 return 1 <= Version && 2147483647 >= Version;
9244 default:
9245 return false;
9246 }
9247 break;
9248 case OMPD_target_teams_distribute_parallel_for_simd:
9249 switch (C) {
9250 case OMPC_aligned:
9251 return 1 <= Version && 2147483647 >= Version;
9252 case OMPC_allocate:
9253 return 50 <= Version && 2147483647 >= Version;
9254 case OMPC_depend:
9255 return 1 <= Version && 2147483647 >= Version;
9256 case OMPC_dyn_groupprivate:
9257 return 61 <= Version && 2147483647 >= Version;
9258 case OMPC_firstprivate:
9259 return 1 <= Version && 2147483647 >= Version;
9260 case OMPC_has_device_addr:
9261 return 51 <= Version && 2147483647 >= Version;
9262 case OMPC_if:
9263 return 1 <= Version && 2147483647 >= Version;
9264 case OMPC_is_device_ptr:
9265 return 1 <= Version && 2147483647 >= Version;
9266 case OMPC_lastprivate:
9267 return 1 <= Version && 2147483647 >= Version;
9268 case OMPC_linear:
9269 return 1 <= Version && 2147483647 >= Version;
9270 case OMPC_map:
9271 return 1 <= Version && 2147483647 >= Version;
9272 case OMPC_nontemporal:
9273 return 50 <= Version && 2147483647 >= Version;
9274 case OMPC_ompx_attribute:
9275 return 1 <= Version && 2147483647 >= Version;
9276 case OMPC_private:
9277 return 1 <= Version && 2147483647 >= Version;
9278 case OMPC_reduction:
9279 return 1 <= Version && 2147483647 >= Version;
9280 case OMPC_shared:
9281 return 1 <= Version && 2147483647 >= Version;
9282 case OMPC_uses_allocators:
9283 return 50 <= Version && 2147483647 >= Version;
9284 case OMPC_collapse:
9285 return 1 <= Version && 2147483647 >= Version;
9286 case OMPC_default:
9287 return 1 <= Version && 2147483647 >= Version;
9288 case OMPC_defaultmap:
9289 return 1 <= Version && 2147483647 >= Version;
9290 case OMPC_device:
9291 return 1 <= Version && 2147483647 >= Version;
9292 case OMPC_dist_schedule:
9293 return 1 <= Version && 2147483647 >= Version;
9294 case OMPC_message:
9295 return 60 <= Version && 2147483647 >= Version;
9296 case OMPC_nowait:
9297 return 1 <= Version && 2147483647 >= Version;
9298 case OMPC_num_teams:
9299 return 1 <= Version && 2147483647 >= Version;
9300 case OMPC_num_threads:
9301 return 1 <= Version && 2147483647 >= Version;
9302 case OMPC_ompx_dyn_cgroup_mem:
9303 return 1 <= Version && 2147483647 >= Version;
9304 case OMPC_order:
9305 return 50 <= Version && 2147483647 >= Version;
9306 case OMPC_proc_bind:
9307 return 1 <= Version && 2147483647 >= Version;
9308 case OMPC_safelen:
9309 return 1 <= Version && 2147483647 >= Version;
9310 case OMPC_schedule:
9311 return 1 <= Version && 2147483647 >= Version;
9312 case OMPC_severity:
9313 return 60 <= Version && 2147483647 >= Version;
9314 case OMPC_simdlen:
9315 return 1 <= Version && 2147483647 >= Version;
9316 case OMPC_thread_limit:
9317 return 1 <= Version && 2147483647 >= Version;
9318 default:
9319 return false;
9320 }
9321 break;
9322 case OMPD_target_teams_distribute_simd:
9323 switch (C) {
9324 case OMPC_aligned:
9325 return 1 <= Version && 2147483647 >= Version;
9326 case OMPC_allocate:
9327 return 50 <= Version && 2147483647 >= Version;
9328 case OMPC_depend:
9329 return 1 <= Version && 2147483647 >= Version;
9330 case OMPC_dyn_groupprivate:
9331 return 61 <= Version && 2147483647 >= Version;
9332 case OMPC_firstprivate:
9333 return 1 <= Version && 2147483647 >= Version;
9334 case OMPC_has_device_addr:
9335 return 51 <= Version && 2147483647 >= Version;
9336 case OMPC_if:
9337 return 1 <= Version && 2147483647 >= Version;
9338 case OMPC_is_device_ptr:
9339 return 1 <= Version && 2147483647 >= Version;
9340 case OMPC_lastprivate:
9341 return 1 <= Version && 2147483647 >= Version;
9342 case OMPC_linear:
9343 return 1 <= Version && 2147483647 >= Version;
9344 case OMPC_map:
9345 return 1 <= Version && 2147483647 >= Version;
9346 case OMPC_nontemporal:
9347 return 50 <= Version && 2147483647 >= Version;
9348 case OMPC_ompx_attribute:
9349 return 1 <= Version && 2147483647 >= Version;
9350 case OMPC_private:
9351 return 1 <= Version && 2147483647 >= Version;
9352 case OMPC_reduction:
9353 return 1 <= Version && 2147483647 >= Version;
9354 case OMPC_shared:
9355 return 1 <= Version && 2147483647 >= Version;
9356 case OMPC_uses_allocators:
9357 return 50 <= Version && 2147483647 >= Version;
9358 case OMPC_collapse:
9359 return 1 <= Version && 2147483647 >= Version;
9360 case OMPC_default:
9361 return 60 <= Version && 2147483647 >= Version;
9362 case OMPC_defaultmap:
9363 return 1 <= Version && 2147483647 >= Version;
9364 case OMPC_device:
9365 return 1 <= Version && 2147483647 >= Version;
9366 case OMPC_dist_schedule:
9367 return 1 <= Version && 2147483647 >= Version;
9368 case OMPC_nowait:
9369 return 1 <= Version && 2147483647 >= Version;
9370 case OMPC_num_teams:
9371 return 1 <= Version && 2147483647 >= Version;
9372 case OMPC_ompx_dyn_cgroup_mem:
9373 return 1 <= Version && 2147483647 >= Version;
9374 case OMPC_order:
9375 return 50 <= Version && 2147483647 >= Version;
9376 case OMPC_safelen:
9377 return 1 <= Version && 2147483647 >= Version;
9378 case OMPC_simdlen:
9379 return 1 <= Version && 2147483647 >= Version;
9380 case OMPC_thread_limit:
9381 return 1 <= Version && 2147483647 >= Version;
9382 default:
9383 return false;
9384 }
9385 break;
9386 case OMPD_target_teams_workdistribute:
9387 switch (C) {
9388 case OMPC_allocate:
9389 return 50 <= Version && 2147483647 >= Version;
9390 case OMPC_depend:
9391 return 1 <= Version && 2147483647 >= Version;
9392 case OMPC_firstprivate:
9393 return 1 <= Version && 2147483647 >= Version;
9394 case OMPC_has_device_addr:
9395 return 51 <= Version && 2147483647 >= Version;
9396 case OMPC_if:
9397 return 1 <= Version && 2147483647 >= Version;
9398 case OMPC_is_device_ptr:
9399 return 1 <= Version && 2147483647 >= Version;
9400 case OMPC_map:
9401 return 1 <= Version && 2147483647 >= Version;
9402 case OMPC_ompx_attribute:
9403 return 1 <= Version && 2147483647 >= Version;
9404 case OMPC_private:
9405 return 1 <= Version && 2147483647 >= Version;
9406 case OMPC_reduction:
9407 return 1 <= Version && 2147483647 >= Version;
9408 case OMPC_shared:
9409 return 1 <= Version && 2147483647 >= Version;
9410 case OMPC_uses_allocators:
9411 return 50 <= Version && 2147483647 >= Version;
9412 case OMPC_default:
9413 return 1 <= Version && 2147483647 >= Version;
9414 case OMPC_defaultmap:
9415 return 1 <= Version && 2147483647 >= Version;
9416 case OMPC_device:
9417 return 1 <= Version && 2147483647 >= Version;
9418 case OMPC_nowait:
9419 return 1 <= Version && 2147483647 >= Version;
9420 case OMPC_num_teams:
9421 return 1 <= Version && 2147483647 >= Version;
9422 case OMPC_ompx_bare:
9423 return 1 <= Version && 2147483647 >= Version;
9424 case OMPC_ompx_dyn_cgroup_mem:
9425 return 1 <= Version && 2147483647 >= Version;
9426 case OMPC_thread_limit:
9427 return 1 <= Version && 2147483647 >= Version;
9428 default:
9429 return false;
9430 }
9431 break;
9432 case OMPD_target_update:
9433 switch (C) {
9434 case OMPC_depend:
9435 return 1 <= Version && 2147483647 >= Version;
9436 case OMPC_from:
9437 return 1 <= Version && 2147483647 >= Version;
9438 case OMPC_if:
9439 return 1 <= Version && 2147483647 >= Version;
9440 case OMPC_to:
9441 return 1 <= Version && 2147483647 >= Version;
9442 case OMPC_device:
9443 return 1 <= Version && 2147483647 >= Version;
9444 case OMPC_nowait:
9445 return 1 <= Version && 2147483647 >= Version;
9446 case OMPC_replayable:
9447 return 60 <= Version && 2147483647 >= Version;
9448 default:
9449 return false;
9450 }
9451 break;
9452 case OMPD_task:
9453 switch (C) {
9454 case OMPC_affinity:
9455 return 50 <= Version && 2147483647 >= Version;
9456 case OMPC_allocate:
9457 return 50 <= Version && 2147483647 >= Version;
9458 case OMPC_depend:
9459 return 1 <= Version && 2147483647 >= Version;
9460 case OMPC_firstprivate:
9461 return 1 <= Version && 2147483647 >= Version;
9462 case OMPC_if:
9463 return 1 <= Version && 2147483647 >= Version;
9464 case OMPC_in_reduction:
9465 return 1 <= Version && 2147483647 >= Version;
9466 case OMPC_private:
9467 return 1 <= Version && 2147483647 >= Version;
9468 case OMPC_shared:
9469 return 1 <= Version && 2147483647 >= Version;
9470 case OMPC_default:
9471 return 1 <= Version && 2147483647 >= Version;
9472 case OMPC_detach:
9473 return 50 <= Version && 2147483647 >= Version;
9474 case OMPC_final:
9475 return 1 <= Version && 2147483647 >= Version;
9476 case OMPC_mergeable:
9477 return 1 <= Version && 2147483647 >= Version;
9478 case OMPC_priority:
9479 return 1 <= Version && 2147483647 >= Version;
9480 case OMPC_replayable:
9481 return 60 <= Version && 2147483647 >= Version;
9482 case OMPC_threadset:
9483 return 60 <= Version && 2147483647 >= Version;
9484 case OMPC_transparent:
9485 return 60 <= Version && 2147483647 >= Version;
9486 case OMPC_untied:
9487 return 1 <= Version && 2147483647 >= Version;
9488 default:
9489 return false;
9490 }
9491 break;
9492 case OMPD_taskgroup:
9493 switch (C) {
9494 case OMPC_allocate:
9495 return 50 <= Version && 2147483647 >= Version;
9496 case OMPC_task_reduction:
9497 return 50 <= Version && 2147483647 >= Version;
9498 default:
9499 return false;
9500 }
9501 break;
9502 case OMPD_taskloop:
9503 switch (C) {
9504 case OMPC_allocate:
9505 return 50 <= Version && 2147483647 >= Version;
9506 case OMPC_firstprivate:
9507 return 1 <= Version && 2147483647 >= Version;
9508 case OMPC_in_reduction:
9509 return 1 <= Version && 2147483647 >= Version;
9510 case OMPC_if:
9511 return 1 <= Version && 2147483647 >= Version;
9512 case OMPC_lastprivate:
9513 return 1 <= Version && 2147483647 >= Version;
9514 case OMPC_private:
9515 return 1 <= Version && 2147483647 >= Version;
9516 case OMPC_reduction:
9517 return 1 <= Version && 2147483647 >= Version;
9518 case OMPC_shared:
9519 return 1 <= Version && 2147483647 >= Version;
9520 case OMPC_collapse:
9521 return 1 <= Version && 2147483647 >= Version;
9522 case OMPC_default:
9523 return 1 <= Version && 2147483647 >= Version;
9524 case OMPC_final:
9525 return 1 <= Version && 2147483647 >= Version;
9526 case OMPC_mergeable:
9527 return 1 <= Version && 2147483647 >= Version;
9528 case OMPC_nogroup:
9529 return 1 <= Version && 2147483647 >= Version;
9530 case OMPC_priority:
9531 return 1 <= Version && 2147483647 >= Version;
9532 case OMPC_replayable:
9533 return 60 <= Version && 2147483647 >= Version;
9534 case OMPC_threadset:
9535 return 60 <= Version && 2147483647 >= Version;
9536 case OMPC_transparent:
9537 return 60 <= Version && 2147483647 >= Version;
9538 case OMPC_untied:
9539 return 1 <= Version && 2147483647 >= Version;
9540 case OMPC_grainsize:
9541 return 1 <= Version && 2147483647 >= Version;
9542 case OMPC_num_tasks:
9543 return 1 <= Version && 2147483647 >= Version;
9544 default:
9545 return false;
9546 }
9547 break;
9548 case OMPD_taskloop_simd:
9549 switch (C) {
9550 case OMPC_aligned:
9551 return 1 <= Version && 2147483647 >= Version;
9552 case OMPC_allocate:
9553 return 50 <= Version && 2147483647 >= Version;
9554 case OMPC_firstprivate:
9555 return 1 <= Version && 2147483647 >= Version;
9556 case OMPC_if:
9557 return 1 <= Version && 2147483647 >= Version;
9558 case OMPC_in_reduction:
9559 return 1 <= Version && 2147483647 >= Version;
9560 case OMPC_lastprivate:
9561 return 1 <= Version && 2147483647 >= Version;
9562 case OMPC_linear:
9563 return 1 <= Version && 2147483647 >= Version;
9564 case OMPC_nontemporal:
9565 return 50 <= Version && 2147483647 >= Version;
9566 case OMPC_private:
9567 return 1 <= Version && 2147483647 >= Version;
9568 case OMPC_reduction:
9569 return 1 <= Version && 2147483647 >= Version;
9570 case OMPC_shared:
9571 return 1 <= Version && 2147483647 >= Version;
9572 case OMPC_collapse:
9573 return 1 <= Version && 2147483647 >= Version;
9574 case OMPC_default:
9575 return 1 <= Version && 2147483647 >= Version;
9576 case OMPC_final:
9577 return 1 <= Version && 2147483647 >= Version;
9578 case OMPC_mergeable:
9579 return 1 <= Version && 2147483647 >= Version;
9580 case OMPC_nogroup:
9581 return 1 <= Version && 2147483647 >= Version;
9582 case OMPC_order:
9583 return 50 <= Version && 2147483647 >= Version;
9584 case OMPC_priority:
9585 return 1 <= Version && 2147483647 >= Version;
9586 case OMPC_safelen:
9587 return 1 <= Version && 2147483647 >= Version;
9588 case OMPC_simdlen:
9589 return 1 <= Version && 2147483647 >= Version;
9590 case OMPC_untied:
9591 return 1 <= Version && 2147483647 >= Version;
9592 case OMPC_grainsize:
9593 return 1 <= Version && 2147483647 >= Version;
9594 case OMPC_num_tasks:
9595 return 1 <= Version && 2147483647 >= Version;
9596 default:
9597 return false;
9598 }
9599 break;
9600 case OMPD_taskwait:
9601 switch (C) {
9602 case OMPC_depend:
9603 return 50 <= Version && 2147483647 >= Version;
9604 case OMPC_nowait:
9605 return 51 <= Version && 2147483647 >= Version;
9606 case OMPC_replayable:
9607 return 60 <= Version && 2147483647 >= Version;
9608 default:
9609 return false;
9610 }
9611 break;
9612 case OMPD_taskyield:
9613 return false;
9614 break;
9615 case OMPD_taskgraph:
9616 switch (C) {
9617 case OMPC_if:
9618 return 1 <= Version && 2147483647 >= Version;
9619 case OMPC_graph_id:
9620 return 60 <= Version && 2147483647 >= Version;
9621 case OMPC_graph_reset:
9622 return 60 <= Version && 2147483647 >= Version;
9623 case OMPC_nogroup:
9624 return 1 <= Version && 2147483647 >= Version;
9625 default:
9626 return false;
9627 }
9628 break;
9629 case OMPD_teams:
9630 switch (C) {
9631 case OMPC_allocate:
9632 return 50 <= Version && 2147483647 >= Version;
9633 case OMPC_dyn_groupprivate:
9634 return 61 <= Version && 2147483647 >= Version;
9635 case OMPC_firstprivate:
9636 return 1 <= Version && 2147483647 >= Version;
9637 case OMPC_if:
9638 return 52 <= Version && 2147483647 >= Version;
9639 case OMPC_ompx_attribute:
9640 return 1 <= Version && 2147483647 >= Version;
9641 case OMPC_private:
9642 return 1 <= Version && 2147483647 >= Version;
9643 case OMPC_reduction:
9644 return 1 <= Version && 2147483647 >= Version;
9645 case OMPC_shared:
9646 return 1 <= Version && 2147483647 >= Version;
9647 case OMPC_default:
9648 return 1 <= Version && 2147483647 >= Version;
9649 case OMPC_num_teams:
9650 return 1 <= Version && 2147483647 >= Version;
9651 case OMPC_thread_limit:
9652 return 1 <= Version && 2147483647 >= Version;
9653 default:
9654 return false;
9655 }
9656 break;
9657 case OMPD_teams_distribute:
9658 switch (C) {
9659 case OMPC_allocate:
9660 return 50 <= Version && 2147483647 >= Version;
9661 case OMPC_dyn_groupprivate:
9662 return 61 <= Version && 2147483647 >= Version;
9663 case OMPC_firstprivate:
9664 return 1 <= Version && 2147483647 >= Version;
9665 case OMPC_if:
9666 return 1 <= Version && 2147483647 >= Version;
9667 case OMPC_lastprivate:
9668 return 1 <= Version && 2147483647 >= Version;
9669 case OMPC_ompx_attribute:
9670 return 1 <= Version && 2147483647 >= Version;
9671 case OMPC_private:
9672 return 1 <= Version && 2147483647 >= Version;
9673 case OMPC_reduction:
9674 return 1 <= Version && 2147483647 >= Version;
9675 case OMPC_shared:
9676 return 1 <= Version && 2147483647 >= Version;
9677 case OMPC_collapse:
9678 return 1 <= Version && 2147483647 >= Version;
9679 case OMPC_default:
9680 return 1 <= Version && 2147483647 >= Version;
9681 case OMPC_dist_schedule:
9682 return 1 <= Version && 2147483647 >= Version;
9683 case OMPC_num_teams:
9684 return 1 <= Version && 2147483647 >= Version;
9685 case OMPC_order:
9686 return 50 <= Version && 2147483647 >= Version;
9687 case OMPC_thread_limit:
9688 return 1 <= Version && 2147483647 >= Version;
9689 default:
9690 return false;
9691 }
9692 break;
9693 case OMPD_teams_distribute_parallel_do:
9694 switch (C) {
9695 case OMPC_allocate:
9696 return 50 <= Version && 2147483647 >= Version;
9697 case OMPC_copyin:
9698 return 1 <= Version && 2147483647 >= Version;
9699 case OMPC_dyn_groupprivate:
9700 return 61 <= Version && 2147483647 >= Version;
9701 case OMPC_firstprivate:
9702 return 1 <= Version && 2147483647 >= Version;
9703 case OMPC_if:
9704 return 1 <= Version && 2147483647 >= Version;
9705 case OMPC_lastprivate:
9706 return 1 <= Version && 2147483647 >= Version;
9707 case OMPC_linear:
9708 return 1 <= Version && 2147483647 >= Version;
9709 case OMPC_private:
9710 return 1 <= Version && 2147483647 >= Version;
9711 case OMPC_reduction:
9712 return 1 <= Version && 2147483647 >= Version;
9713 case OMPC_shared:
9714 return 1 <= Version && 2147483647 >= Version;
9715 case OMPC_collapse:
9716 return 1 <= Version && 2147483647 >= Version;
9717 case OMPC_default:
9718 return 1 <= Version && 2147483647 >= Version;
9719 case OMPC_dist_schedule:
9720 return 1 <= Version && 2147483647 >= Version;
9721 case OMPC_message:
9722 return 60 <= Version && 2147483647 >= Version;
9723 case OMPC_num_teams:
9724 return 1 <= Version && 2147483647 >= Version;
9725 case OMPC_num_threads:
9726 return 1 <= Version && 2147483647 >= Version;
9727 case OMPC_order:
9728 return 50 <= Version && 2147483647 >= Version;
9729 case OMPC_proc_bind:
9730 return 1 <= Version && 2147483647 >= Version;
9731 case OMPC_schedule:
9732 return 1 <= Version && 2147483647 >= Version;
9733 case OMPC_severity:
9734 return 60 <= Version && 2147483647 >= Version;
9735 case OMPC_thread_limit:
9736 return 1 <= Version && 2147483647 >= Version;
9737 default:
9738 return false;
9739 }
9740 break;
9741 case OMPD_teams_distribute_parallel_do_simd:
9742 switch (C) {
9743 case OMPC_aligned:
9744 return 1 <= Version && 2147483647 >= Version;
9745 case OMPC_allocate:
9746 return 50 <= Version && 2147483647 >= Version;
9747 case OMPC_dyn_groupprivate:
9748 return 61 <= Version && 2147483647 >= Version;
9749 case OMPC_firstprivate:
9750 return 1 <= Version && 2147483647 >= Version;
9751 case OMPC_if:
9752 return 1 <= Version && 2147483647 >= Version;
9753 case OMPC_lastprivate:
9754 return 1 <= Version && 2147483647 >= Version;
9755 case OMPC_linear:
9756 return 1 <= Version && 2147483647 >= Version;
9757 case OMPC_nontemporal:
9758 return 1 <= Version && 2147483647 >= Version;
9759 case OMPC_private:
9760 return 1 <= Version && 2147483647 >= Version;
9761 case OMPC_reduction:
9762 return 1 <= Version && 2147483647 >= Version;
9763 case OMPC_shared:
9764 return 1 <= Version && 2147483647 >= Version;
9765 case OMPC_collapse:
9766 return 1 <= Version && 2147483647 >= Version;
9767 case OMPC_default:
9768 return 1 <= Version && 2147483647 >= Version;
9769 case OMPC_dist_schedule:
9770 return 1 <= Version && 2147483647 >= Version;
9771 case OMPC_message:
9772 return 60 <= Version && 2147483647 >= Version;
9773 case OMPC_num_teams:
9774 return 1 <= Version && 2147483647 >= Version;
9775 case OMPC_num_threads:
9776 return 1 <= Version && 2147483647 >= Version;
9777 case OMPC_order:
9778 return 50 <= Version && 2147483647 >= Version;
9779 case OMPC_proc_bind:
9780 return 1 <= Version && 2147483647 >= Version;
9781 case OMPC_safelen:
9782 return 1 <= Version && 2147483647 >= Version;
9783 case OMPC_schedule:
9784 return 1 <= Version && 2147483647 >= Version;
9785 case OMPC_severity:
9786 return 60 <= Version && 2147483647 >= Version;
9787 case OMPC_simdlen:
9788 return 1 <= Version && 2147483647 >= Version;
9789 case OMPC_thread_limit:
9790 return 1 <= Version && 2147483647 >= Version;
9791 default:
9792 return false;
9793 }
9794 break;
9795 case OMPD_teams_distribute_parallel_for:
9796 switch (C) {
9797 case OMPC_allocate:
9798 return 50 <= Version && 2147483647 >= Version;
9799 case OMPC_copyin:
9800 return 1 <= Version && 2147483647 >= Version;
9801 case OMPC_dyn_groupprivate:
9802 return 61 <= Version && 2147483647 >= Version;
9803 case OMPC_firstprivate:
9804 return 1 <= Version && 2147483647 >= Version;
9805 case OMPC_if:
9806 return 1 <= Version && 2147483647 >= Version;
9807 case OMPC_lastprivate:
9808 return 1 <= Version && 2147483647 >= Version;
9809 case OMPC_ompx_attribute:
9810 return 1 <= Version && 2147483647 >= Version;
9811 case OMPC_private:
9812 return 1 <= Version && 2147483647 >= Version;
9813 case OMPC_reduction:
9814 return 1 <= Version && 2147483647 >= Version;
9815 case OMPC_shared:
9816 return 1 <= Version && 2147483647 >= Version;
9817 case OMPC_collapse:
9818 return 1 <= Version && 2147483647 >= Version;
9819 case OMPC_default:
9820 return 1 <= Version && 2147483647 >= Version;
9821 case OMPC_dist_schedule:
9822 return 1 <= Version && 2147483647 >= Version;
9823 case OMPC_message:
9824 return 60 <= Version && 2147483647 >= Version;
9825 case OMPC_num_teams:
9826 return 1 <= Version && 2147483647 >= Version;
9827 case OMPC_num_threads:
9828 return 1 <= Version && 2147483647 >= Version;
9829 case OMPC_order:
9830 return 50 <= Version && 2147483647 >= Version;
9831 case OMPC_proc_bind:
9832 return 1 <= Version && 2147483647 >= Version;
9833 case OMPC_schedule:
9834 return 1 <= Version && 2147483647 >= Version;
9835 case OMPC_severity:
9836 return 60 <= Version && 2147483647 >= Version;
9837 case OMPC_thread_limit:
9838 return 1 <= Version && 2147483647 >= Version;
9839 default:
9840 return false;
9841 }
9842 break;
9843 case OMPD_teams_distribute_parallel_for_simd:
9844 switch (C) {
9845 case OMPC_aligned:
9846 return 1 <= Version && 2147483647 >= Version;
9847 case OMPC_allocate:
9848 return 50 <= Version && 2147483647 >= Version;
9849 case OMPC_dyn_groupprivate:
9850 return 61 <= Version && 2147483647 >= Version;
9851 case OMPC_firstprivate:
9852 return 1 <= Version && 2147483647 >= Version;
9853 case OMPC_lastprivate:
9854 return 1 <= Version && 2147483647 >= Version;
9855 case OMPC_if:
9856 return 1 <= Version && 2147483647 >= Version;
9857 case OMPC_linear:
9858 return 1 <= Version && 2147483647 >= Version;
9859 case OMPC_nontemporal:
9860 return 50 <= Version && 2147483647 >= Version;
9861 case OMPC_ompx_attribute:
9862 return 1 <= Version && 2147483647 >= Version;
9863 case OMPC_private:
9864 return 1 <= Version && 2147483647 >= Version;
9865 case OMPC_reduction:
9866 return 1 <= Version && 2147483647 >= Version;
9867 case OMPC_shared:
9868 return 1 <= Version && 2147483647 >= Version;
9869 case OMPC_collapse:
9870 return 1 <= Version && 2147483647 >= Version;
9871 case OMPC_default:
9872 return 1 <= Version && 2147483647 >= Version;
9873 case OMPC_dist_schedule:
9874 return 1 <= Version && 2147483647 >= Version;
9875 case OMPC_message:
9876 return 60 <= Version && 2147483647 >= Version;
9877 case OMPC_num_teams:
9878 return 1 <= Version && 2147483647 >= Version;
9879 case OMPC_num_threads:
9880 return 1 <= Version && 2147483647 >= Version;
9881 case OMPC_order:
9882 return 50 <= Version && 2147483647 >= Version;
9883 case OMPC_proc_bind:
9884 return 1 <= Version && 2147483647 >= Version;
9885 case OMPC_safelen:
9886 return 1 <= Version && 2147483647 >= Version;
9887 case OMPC_schedule:
9888 return 1 <= Version && 2147483647 >= Version;
9889 case OMPC_severity:
9890 return 60 <= Version && 2147483647 >= Version;
9891 case OMPC_simdlen:
9892 return 1 <= Version && 2147483647 >= Version;
9893 case OMPC_thread_limit:
9894 return 1 <= Version && 2147483647 >= Version;
9895 default:
9896 return false;
9897 }
9898 break;
9899 case OMPD_teams_distribute_simd:
9900 switch (C) {
9901 case OMPC_aligned:
9902 return 1 <= Version && 2147483647 >= Version;
9903 case OMPC_allocate:
9904 return 50 <= Version && 2147483647 >= Version;
9905 case OMPC_dyn_groupprivate:
9906 return 61 <= Version && 2147483647 >= Version;
9907 case OMPC_firstprivate:
9908 return 1 <= Version && 2147483647 >= Version;
9909 case OMPC_if:
9910 return 50 <= Version && 2147483647 >= Version;
9911 case OMPC_lastprivate:
9912 return 1 <= Version && 2147483647 >= Version;
9913 case OMPC_linear:
9914 return 1 <= Version && 2147483647 >= Version;
9915 case OMPC_nontemporal:
9916 return 50 <= Version && 2147483647 >= Version;
9917 case OMPC_ompx_attribute:
9918 return 1 <= Version && 2147483647 >= Version;
9919 case OMPC_private:
9920 return 1 <= Version && 2147483647 >= Version;
9921 case OMPC_reduction:
9922 return 1 <= Version && 2147483647 >= Version;
9923 case OMPC_shared:
9924 return 1 <= Version && 2147483647 >= Version;
9925 case OMPC_collapse:
9926 return 1 <= Version && 2147483647 >= Version;
9927 case OMPC_default:
9928 return 1 <= Version && 2147483647 >= Version;
9929 case OMPC_dist_schedule:
9930 return 1 <= Version && 2147483647 >= Version;
9931 case OMPC_num_teams:
9932 return 1 <= Version && 2147483647 >= Version;
9933 case OMPC_order:
9934 return 50 <= Version && 2147483647 >= Version;
9935 case OMPC_safelen:
9936 return 1 <= Version && 2147483647 >= Version;
9937 case OMPC_simdlen:
9938 return 1 <= Version && 2147483647 >= Version;
9939 case OMPC_thread_limit:
9940 return 1 <= Version && 2147483647 >= Version;
9941 default:
9942 return false;
9943 }
9944 break;
9945 case OMPD_teams_workdistribute:
9946 switch (C) {
9947 case OMPC_allocate:
9948 return 50 <= Version && 2147483647 >= Version;
9949 case OMPC_firstprivate:
9950 return 1 <= Version && 2147483647 >= Version;
9951 case OMPC_if:
9952 return 52 <= Version && 2147483647 >= Version;
9953 case OMPC_ompx_attribute:
9954 return 1 <= Version && 2147483647 >= Version;
9955 case OMPC_private:
9956 return 1 <= Version && 2147483647 >= Version;
9957 case OMPC_reduction:
9958 return 1 <= Version && 2147483647 >= Version;
9959 case OMPC_shared:
9960 return 1 <= Version && 2147483647 >= Version;
9961 case OMPC_default:
9962 return 1 <= Version && 2147483647 >= Version;
9963 case OMPC_num_teams:
9964 return 1 <= Version && 2147483647 >= Version;
9965 case OMPC_thread_limit:
9966 return 1 <= Version && 2147483647 >= Version;
9967 default:
9968 return false;
9969 }
9970 break;
9971 case OMPD_threadprivate:
9972 return false;
9973 break;
9974 case OMPD_tile:
9975 switch (C) {
9976 case OMPC_apply:
9977 return 60 <= Version && 2147483647 >= Version;
9978 case OMPC_sizes:
9979 return 51 <= Version && 2147483647 >= Version;
9980 default:
9981 return false;
9982 }
9983 break;
9984 case OMPD_unknown:
9985 return false;
9986 break;
9987 case OMPD_unroll:
9988 switch (C) {
9989 case OMPC_apply:
9990 return 60 <= Version && 2147483647 >= Version;
9991 case OMPC_full:
9992 return 51 <= Version && 2147483647 >= Version;
9993 case OMPC_partial:
9994 return 51 <= Version && 2147483647 >= Version;
9995 default:
9996 return false;
9997 }
9998 break;
9999 case OMPD_workdistribute:
10000 return false;
10001 break;
10002 case OMPD_workshare:
10003 switch (C) {
10004 case OMPC_nowait:
10005 return 1 <= Version && 2147483647 >= Version;
10006 default:
10007 return false;
10008 }
10009 break;
10010 case OMPD_dispatch:
10011 switch (C) {
10012 case OMPC_depend:
10013 return 1 <= Version && 2147483647 >= Version;
10014 case OMPC_has_device_addr:
10015 return 51 <= Version && 2147483647 >= Version;
10016 case OMPC_is_device_ptr:
10017 return 1 <= Version && 2147483647 >= Version;
10018 case OMPC_device:
10019 return 1 <= Version && 2147483647 >= Version;
10020 case OMPC_nocontext:
10021 return 1 <= Version && 2147483647 >= Version;
10022 case OMPC_novariants:
10023 return 1 <= Version && 2147483647 >= Version;
10024 case OMPC_nowait:
10025 return 1 <= Version && 2147483647 >= Version;
10026 default:
10027 return false;
10028 }
10029 break;
10030 case OMPD_interop:
10031 switch (C) {
10032 case OMPC_depend:
10033 return 1 <= Version && 2147483647 >= Version;
10034 case OMPC_destroy:
10035 return 1 <= Version && 2147483647 >= Version;
10036 case OMPC_init:
10037 return 1 <= Version && 2147483647 >= Version;
10038 case OMPC_use:
10039 return 1 <= Version && 2147483647 >= Version;
10040 case OMPC_device:
10041 return 1 <= Version && 2147483647 >= Version;
10042 case OMPC_nowait:
10043 return 1 <= Version && 2147483647 >= Version;
10044 default:
10045 return false;
10046 }
10047 break;
10048 case OMPD_loop:
10049 switch (C) {
10050 case OMPC_lastprivate:
10051 return 1 <= Version && 2147483647 >= Version;
10052 case OMPC_private:
10053 return 1 <= Version && 2147483647 >= Version;
10054 case OMPC_reduction:
10055 return 1 <= Version && 2147483647 >= Version;
10056 case OMPC_bind:
10057 return 50 <= Version && 2147483647 >= Version;
10058 case OMPC_collapse:
10059 return 1 <= Version && 2147483647 >= Version;
10060 case OMPC_order:
10061 return 50 <= Version && 2147483647 >= Version;
10062 default:
10063 return false;
10064 }
10065 break;
10066 case OMPD_masked:
10067 switch (C) {
10068 case OMPC_filter:
10069 return 1 <= Version && 2147483647 >= Version;
10070 default:
10071 return false;
10072 }
10073 break;
10074 case OMPD_parallel_loop:
10075 switch (C) {
10076 case OMPC_allocate:
10077 return 50 <= Version && 2147483647 >= Version;
10078 case OMPC_copyin:
10079 return 1 <= Version && 2147483647 >= Version;
10080 case OMPC_firstprivate:
10081 return 1 <= Version && 2147483647 >= Version;
10082 case OMPC_if:
10083 return 1 <= Version && 2147483647 >= Version;
10084 case OMPC_lastprivate:
10085 return 1 <= Version && 2147483647 >= Version;
10086 case OMPC_ompx_attribute:
10087 return 1 <= Version && 2147483647 >= Version;
10088 case OMPC_private:
10089 return 1 <= Version && 2147483647 >= Version;
10090 case OMPC_reduction:
10091 return 1 <= Version && 2147483647 >= Version;
10092 case OMPC_shared:
10093 return 1 <= Version && 2147483647 >= Version;
10094 case OMPC_bind:
10095 return 50 <= Version && 2147483647 >= Version;
10096 case OMPC_collapse:
10097 return 1 <= Version && 2147483647 >= Version;
10098 case OMPC_default:
10099 return 1 <= Version && 2147483647 >= Version;
10100 case OMPC_message:
10101 return 60 <= Version && 2147483647 >= Version;
10102 case OMPC_num_threads:
10103 return 1 <= Version && 2147483647 >= Version;
10104 case OMPC_order:
10105 return 1 <= Version && 2147483647 >= Version;
10106 case OMPC_proc_bind:
10107 return 1 <= Version && 2147483647 >= Version;
10108 case OMPC_severity:
10109 return 60 <= Version && 2147483647 >= Version;
10110 default:
10111 return false;
10112 }
10113 break;
10114 case OMPD_target_loop:
10115 switch (C) {
10116 case OMPC_allocate:
10117 return 50 <= Version && 2147483647 >= Version;
10118 case OMPC_depend:
10119 return 1 <= Version && 2147483647 >= Version;
10120 case OMPC_dyn_groupprivate:
10121 return 61 <= Version && 2147483647 >= Version;
10122 case OMPC_firstprivate:
10123 return 1 <= Version && 2147483647 >= Version;
10124 case OMPC_if:
10125 return 1 <= Version && 2147483647 >= Version;
10126 case OMPC_is_device_ptr:
10127 return 1 <= Version && 2147483647 >= Version;
10128 case OMPC_has_device_addr:
10129 return 51 <= Version && 2147483647 >= Version;
10130 case OMPC_lastprivate:
10131 return 1 <= Version && 2147483647 >= Version;
10132 case OMPC_map:
10133 return 1 <= Version && 2147483647 >= Version;
10134 case OMPC_private:
10135 return 1 <= Version && 2147483647 >= Version;
10136 case OMPC_reduction:
10137 return 1 <= Version && 2147483647 >= Version;
10138 case OMPC_uses_allocators:
10139 return 50 <= Version && 2147483647 >= Version;
10140 case OMPC_ompx_attribute:
10141 return 1 <= Version && 2147483647 >= Version;
10142 case OMPC_in_reduction:
10143 return 50 <= Version && 2147483647 >= Version;
10144 case OMPC_bind:
10145 return 50 <= Version && 2147483647 >= Version;
10146 case OMPC_collapse:
10147 return 1 <= Version && 2147483647 >= Version;
10148 case OMPC_defaultmap:
10149 return 1 <= Version && 2147483647 >= Version;
10150 case OMPC_device:
10151 return 1 <= Version && 2147483647 >= Version;
10152 case OMPC_nowait:
10153 return 1 <= Version && 2147483647 >= Version;
10154 case OMPC_ompx_dyn_cgroup_mem:
10155 return 1 <= Version && 2147483647 >= Version;
10156 case OMPC_order:
10157 return 1 <= Version && 2147483647 >= Version;
10158 case OMPC_thread_limit:
10159 return 1 <= Version && 2147483647 >= Version;
10160 default:
10161 return false;
10162 }
10163 break;
10164 case OMPD_target_parallel_loop:
10165 switch (C) {
10166 case OMPC_allocate:
10167 return 50 <= Version && 2147483647 >= Version;
10168 case OMPC_depend:
10169 return 1 <= Version && 2147483647 >= Version;
10170 case OMPC_dyn_groupprivate:
10171 return 61 <= Version && 2147483647 >= Version;
10172 case OMPC_firstprivate:
10173 return 1 <= Version && 2147483647 >= Version;
10174 case OMPC_has_device_addr:
10175 return 51 <= Version && 2147483647 >= Version;
10176 case OMPC_if:
10177 return 1 <= Version && 2147483647 >= Version;
10178 case OMPC_is_device_ptr:
10179 return 1 <= Version && 2147483647 >= Version;
10180 case OMPC_lastprivate:
10181 return 1 <= Version && 2147483647 >= Version;
10182 case OMPC_map:
10183 return 1 <= Version && 2147483647 >= Version;
10184 case OMPC_ompx_attribute:
10185 return 1 <= Version && 2147483647 >= Version;
10186 case OMPC_private:
10187 return 1 <= Version && 2147483647 >= Version;
10188 case OMPC_reduction:
10189 return 1 <= Version && 2147483647 >= Version;
10190 case OMPC_shared:
10191 return 1 <= Version && 2147483647 >= Version;
10192 case OMPC_uses_allocators:
10193 return 50 <= Version && 2147483647 >= Version;
10194 case OMPC_bind:
10195 return 50 <= Version && 2147483647 >= Version;
10196 case OMPC_collapse:
10197 return 1 <= Version && 2147483647 >= Version;
10198 case OMPC_default:
10199 return 1 <= Version && 2147483647 >= Version;
10200 case OMPC_defaultmap:
10201 return 1 <= Version && 2147483647 >= Version;
10202 case OMPC_device:
10203 return 1 <= Version && 2147483647 >= Version;
10204 case OMPC_message:
10205 return 60 <= Version && 2147483647 >= Version;
10206 case OMPC_nowait:
10207 return 1 <= Version && 2147483647 >= Version;
10208 case OMPC_num_threads:
10209 return 1 <= Version && 2147483647 >= Version;
10210 case OMPC_ompx_dyn_cgroup_mem:
10211 return 1 <= Version && 2147483647 >= Version;
10212 case OMPC_order:
10213 return 1 <= Version && 2147483647 >= Version;
10214 case OMPC_proc_bind:
10215 return 1 <= Version && 2147483647 >= Version;
10216 case OMPC_severity:
10217 return 60 <= Version && 2147483647 >= Version;
10218 case OMPC_thread_limit:
10219 return 51 <= Version && 2147483647 >= Version;
10220 default:
10221 return false;
10222 }
10223 break;
10224 case OMPD_target_teams_loop:
10225 switch (C) {
10226 case OMPC_allocate:
10227 return 50 <= Version && 2147483647 >= Version;
10228 case OMPC_depend:
10229 return 1 <= Version && 2147483647 >= Version;
10230 case OMPC_dyn_groupprivate:
10231 return 61 <= Version && 2147483647 >= Version;
10232 case OMPC_firstprivate:
10233 return 1 <= Version && 2147483647 >= Version;
10234 case OMPC_has_device_addr:
10235 return 51 <= Version && 2147483647 >= Version;
10236 case OMPC_if:
10237 return 1 <= Version && 2147483647 >= Version;
10238 case OMPC_is_device_ptr:
10239 return 1 <= Version && 2147483647 >= Version;
10240 case OMPC_lastprivate:
10241 return 1 <= Version && 2147483647 >= Version;
10242 case OMPC_map:
10243 return 1 <= Version && 2147483647 >= Version;
10244 case OMPC_ompx_attribute:
10245 return 1 <= Version && 2147483647 >= Version;
10246 case OMPC_private:
10247 return 1 <= Version && 2147483647 >= Version;
10248 case OMPC_reduction:
10249 return 1 <= Version && 2147483647 >= Version;
10250 case OMPC_shared:
10251 return 1 <= Version && 2147483647 >= Version;
10252 case OMPC_uses_allocators:
10253 return 50 <= Version && 2147483647 >= Version;
10254 case OMPC_bind:
10255 return 50 <= Version && 2147483647 >= Version;
10256 case OMPC_collapse:
10257 return 1 <= Version && 2147483647 >= Version;
10258 case OMPC_default:
10259 return 1 <= Version && 2147483647 >= Version;
10260 case OMPC_defaultmap:
10261 return 1 <= Version && 2147483647 >= Version;
10262 case OMPC_device:
10263 return 1 <= Version && 2147483647 >= Version;
10264 case OMPC_nowait:
10265 return 1 <= Version && 2147483647 >= Version;
10266 case OMPC_num_teams:
10267 return 1 <= Version && 2147483647 >= Version;
10268 case OMPC_ompx_dyn_cgroup_mem:
10269 return 1 <= Version && 2147483647 >= Version;
10270 case OMPC_order:
10271 return 1 <= Version && 2147483647 >= Version;
10272 case OMPC_thread_limit:
10273 return 1 <= Version && 2147483647 >= Version;
10274 default:
10275 return false;
10276 }
10277 break;
10278 case OMPD_teams_loop:
10279 switch (C) {
10280 case OMPC_allocate:
10281 return 50 <= Version && 2147483647 >= Version;
10282 case OMPC_dyn_groupprivate:
10283 return 61 <= Version && 2147483647 >= Version;
10284 case OMPC_firstprivate:
10285 return 1 <= Version && 2147483647 >= Version;
10286 case OMPC_if:
10287 return 52 <= Version && 2147483647 >= Version;
10288 case OMPC_lastprivate:
10289 return 1 <= Version && 2147483647 >= Version;
10290 case OMPC_ompx_attribute:
10291 return 1 <= Version && 2147483647 >= Version;
10292 case OMPC_private:
10293 return 1 <= Version && 2147483647 >= Version;
10294 case OMPC_reduction:
10295 return 1 <= Version && 2147483647 >= Version;
10296 case OMPC_shared:
10297 return 1 <= Version && 2147483647 >= Version;
10298 case OMPC_bind:
10299 return 50 <= Version && 2147483647 >= Version;
10300 case OMPC_collapse:
10301 return 1 <= Version && 2147483647 >= Version;
10302 case OMPC_default:
10303 return 1 <= Version && 2147483647 >= Version;
10304 case OMPC_num_teams:
10305 return 1 <= Version && 2147483647 >= Version;
10306 case OMPC_order:
10307 return 1 <= Version && 2147483647 >= Version;
10308 case OMPC_thread_limit:
10309 return 1 <= Version && 2147483647 >= Version;
10310 default:
10311 return false;
10312 }
10313 break;
10314 }
10315 llvm_unreachable("Invalid OpenMP Directive kind");
10316}
10317
10318bool llvm::omp::isAllowedLoopModifier(llvm::omp::Directive D, llvm::omp::LoopModifier LM) {
10319 assert(unsigned(D) <= Directive_enumSize);
10320 switch (D) {
10321 case OMPD_allocate:
10322 return false;
10323 break;
10324 case OMPD_allocators:
10325 return false;
10326 break;
10327 case OMPD_assume:
10328 return false;
10329 break;
10330 case OMPD_assumes:
10331 return false;
10332 break;
10333 case OMPD_atomic:
10334 return false;
10335 break;
10336 case OMPD_barrier:
10337 return false;
10338 break;
10339 case OMPD_begin_assumes:
10340 return false;
10341 break;
10342 case OMPD_begin_declare_target:
10343 return false;
10344 break;
10345 case OMPD_begin_declare_variant:
10346 return false;
10347 break;
10348 case OMPD_cancel:
10349 return false;
10350 break;
10351 case OMPD_cancellation_point:
10352 return false;
10353 break;
10354 case OMPD_critical:
10355 return false;
10356 break;
10357 case OMPD_declare_induction:
10358 return false;
10359 break;
10360 case OMPD_declare_mapper:
10361 return false;
10362 break;
10363 case OMPD_declare_reduction:
10364 return false;
10365 break;
10366 case OMPD_declare_simd:
10367 return false;
10368 break;
10369 case OMPD_declare_target:
10370 return false;
10371 break;
10372 case OMPD_declare_variant:
10373 return false;
10374 break;
10375 case OMPD_depobj:
10376 return false;
10377 break;
10378 case OMPD_distribute:
10379 return false;
10380 break;
10381 case OMPD_distribute_parallel_do:
10382 return false;
10383 break;
10384 case OMPD_distribute_parallel_do_simd:
10385 return false;
10386 break;
10387 case OMPD_distribute_parallel_for:
10388 return false;
10389 break;
10390 case OMPD_distribute_parallel_for_simd:
10391 return false;
10392 break;
10393 case OMPD_distribute_simd:
10394 return false;
10395 break;
10396 case OMPD_do:
10397 return false;
10398 break;
10399 case OMPD_do_simd:
10400 return false;
10401 break;
10402 case OMPD_end_assumes:
10403 return false;
10404 break;
10405 case OMPD_end_declare_target:
10406 return false;
10407 break;
10408 case OMPD_end_declare_variant:
10409 return false;
10410 break;
10411 case OMPD_error:
10412 return false;
10413 break;
10414 case OMPD_flatten:
10415 switch (LM) {
10416 case LoopModifier::OMPLM_flattened:
10417 return true;
10418 default:
10419 return false;
10420 }
10421 break;
10422 case OMPD_flush:
10423 return false;
10424 break;
10425 case OMPD_for:
10426 return false;
10427 break;
10428 case OMPD_for_simd:
10429 return false;
10430 break;
10431 case OMPD_fuse:
10432 switch (LM) {
10433 case LoopModifier::OMPLM_fused:
10434 return true;
10435 default:
10436 return false;
10437 }
10438 break;
10439 case OMPD_groupprivate:
10440 return false;
10441 break;
10442 case OMPD_interchange:
10443 switch (LM) {
10444 case LoopModifier::OMPLM_interchanged:
10445 return true;
10446 default:
10447 return false;
10448 }
10449 break;
10450 case OMPD_masked_taskloop:
10451 return false;
10452 break;
10453 case OMPD_masked_taskloop_simd:
10454 return false;
10455 break;
10456 case OMPD_master:
10457 return false;
10458 break;
10459 case OMPD_master_taskloop:
10460 return false;
10461 break;
10462 case OMPD_master_taskloop_simd:
10463 return false;
10464 break;
10465 case OMPD_metadirective:
10466 return false;
10467 break;
10468 case OMPD_nothing:
10469 switch (LM) {
10470 case LoopModifier::OMPLM_identity:
10471 return true;
10472 default:
10473 return false;
10474 }
10475 break;
10476 case OMPD_ordered_blockassoc:
10477 return false;
10478 break;
10479 case OMPD_ordered_standalone:
10480 return false;
10481 break;
10482 case OMPD_parallel:
10483 return false;
10484 break;
10485 case OMPD_parallel_do:
10486 return false;
10487 break;
10488 case OMPD_parallel_do_simd:
10489 return false;
10490 break;
10491 case OMPD_parallel_for:
10492 return false;
10493 break;
10494 case OMPD_parallel_for_simd:
10495 return false;
10496 break;
10497 case OMPD_parallel_masked:
10498 return false;
10499 break;
10500 case OMPD_parallel_masked_taskloop:
10501 return false;
10502 break;
10503 case OMPD_parallel_masked_taskloop_simd:
10504 return false;
10505 break;
10506 case OMPD_parallel_master:
10507 return false;
10508 break;
10509 case OMPD_parallel_master_taskloop:
10510 return false;
10511 break;
10512 case OMPD_parallel_master_taskloop_simd:
10513 return false;
10514 break;
10515 case OMPD_parallel_sections:
10516 return false;
10517 break;
10518 case OMPD_parallel_workshare:
10519 return false;
10520 break;
10521 case OMPD_requires:
10522 return false;
10523 break;
10524 case OMPD_reverse:
10525 switch (LM) {
10526 case LoopModifier::OMPLM_reversed:
10527 return true;
10528 default:
10529 return false;
10530 }
10531 break;
10532 case OMPD_scan:
10533 return false;
10534 break;
10535 case OMPD_scope:
10536 return false;
10537 break;
10538 case OMPD_section:
10539 return false;
10540 break;
10541 case OMPD_sections:
10542 return false;
10543 break;
10544 case OMPD_simd:
10545 return false;
10546 break;
10547 case OMPD_single:
10548 return false;
10549 break;
10550 case OMPD_split:
10551 switch (LM) {
10552 case LoopModifier::OMPLM_split:
10553 return true;
10554 default:
10555 return false;
10556 }
10557 break;
10558 case OMPD_stripe:
10559 switch (LM) {
10560 case LoopModifier::OMPLM_grid:
10561 return true;
10562 case LoopModifier::OMPLM_offsets:
10563 return true;
10564 default:
10565 return false;
10566 }
10567 break;
10568 case OMPD_target:
10569 return false;
10570 break;
10571 case OMPD_target_data:
10572 return false;
10573 break;
10574 case OMPD_target_enter_data:
10575 return false;
10576 break;
10577 case OMPD_target_exit_data:
10578 return false;
10579 break;
10580 case OMPD_target_parallel:
10581 return false;
10582 break;
10583 case OMPD_target_parallel_do:
10584 return false;
10585 break;
10586 case OMPD_target_parallel_do_simd:
10587 return false;
10588 break;
10589 case OMPD_target_parallel_for:
10590 return false;
10591 break;
10592 case OMPD_target_parallel_for_simd:
10593 return false;
10594 break;
10595 case OMPD_target_simd:
10596 return false;
10597 break;
10598 case OMPD_target_teams:
10599 return false;
10600 break;
10601 case OMPD_target_teams_distribute:
10602 return false;
10603 break;
10604 case OMPD_target_teams_distribute_parallel_do:
10605 return false;
10606 break;
10607 case OMPD_target_teams_distribute_parallel_do_simd:
10608 return false;
10609 break;
10610 case OMPD_target_teams_distribute_parallel_for:
10611 return false;
10612 break;
10613 case OMPD_target_teams_distribute_parallel_for_simd:
10614 return false;
10615 break;
10616 case OMPD_target_teams_distribute_simd:
10617 return false;
10618 break;
10619 case OMPD_target_teams_workdistribute:
10620 return false;
10621 break;
10622 case OMPD_target_update:
10623 return false;
10624 break;
10625 case OMPD_task:
10626 return false;
10627 break;
10628 case OMPD_taskgroup:
10629 return false;
10630 break;
10631 case OMPD_taskloop:
10632 return false;
10633 break;
10634 case OMPD_taskloop_simd:
10635 return false;
10636 break;
10637 case OMPD_taskwait:
10638 return false;
10639 break;
10640 case OMPD_taskyield:
10641 return false;
10642 break;
10643 case OMPD_taskgraph:
10644 return false;
10645 break;
10646 case OMPD_teams:
10647 return false;
10648 break;
10649 case OMPD_teams_distribute:
10650 return false;
10651 break;
10652 case OMPD_teams_distribute_parallel_do:
10653 return false;
10654 break;
10655 case OMPD_teams_distribute_parallel_do_simd:
10656 return false;
10657 break;
10658 case OMPD_teams_distribute_parallel_for:
10659 return false;
10660 break;
10661 case OMPD_teams_distribute_parallel_for_simd:
10662 return false;
10663 break;
10664 case OMPD_teams_distribute_simd:
10665 return false;
10666 break;
10667 case OMPD_teams_workdistribute:
10668 return false;
10669 break;
10670 case OMPD_threadprivate:
10671 return false;
10672 break;
10673 case OMPD_tile:
10674 switch (LM) {
10675 case LoopModifier::OMPLM_grid:
10676 return true;
10677 case LoopModifier::OMPLM_intratile:
10678 return true;
10679 default:
10680 return false;
10681 }
10682 break;
10683 case OMPD_unknown:
10684 return false;
10685 break;
10686 case OMPD_unroll:
10687 switch (LM) {
10688 case LoopModifier::OMPLM_unrolled:
10689 return true;
10690 default:
10691 return false;
10692 }
10693 break;
10694 case OMPD_workdistribute:
10695 return false;
10696 break;
10697 case OMPD_workshare:
10698 return false;
10699 break;
10700 case OMPD_dispatch:
10701 return false;
10702 break;
10703 case OMPD_interop:
10704 return false;
10705 break;
10706 case OMPD_loop:
10707 return false;
10708 break;
10709 case OMPD_masked:
10710 return false;
10711 break;
10712 case OMPD_parallel_loop:
10713 return false;
10714 break;
10715 case OMPD_target_loop:
10716 return false;
10717 break;
10718 case OMPD_target_parallel_loop:
10719 return false;
10720 break;
10721 case OMPD_target_teams_loop:
10722 return false;
10723 break;
10724 case OMPD_teams_loop:
10725 return false;
10726 break;
10727 }
10728 llvm_unreachable("Invalid OpenMP Directive kind");
10729}
10730
10731llvm::StringRef llvm::omp::getLoopModifierName(llvm::omp::LoopModifier Kind, unsigned Version) {
10732 switch (Kind) {
10733 case OMPLM_flattened:
10734 return "flattened";
10735 case OMPLM_fused:
10736 return "fused";
10737 case OMPLM_grid:
10738 return "grid";
10739 case OMPLM_identity:
10740 return "identity";
10741 case OMPLM_interchanged:
10742 return "interchanged";
10743 case OMPLM_intratile:
10744 return "intratile";
10745 case OMPLM_offsets:
10746 return "offsets";
10747 case OMPLM_reversed:
10748 return "reversed";
10749 case OMPLM_split:
10750 return "split";
10751 case OMPLM_unrolled:
10752 return "unrolled";
10753 }
10754 llvm_unreachable("Invalid LoopModifier kind");
10755}
10756
10757static_assert(sizeof(llvm::omp::Directive) == sizeof(int));
10758[[maybe_unused]] static const llvm::omp::Directive LeafConstructTable[][8] = {
10759 {llvm::omp::OMPD_allocate, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10760 {llvm::omp::OMPD_allocators, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10761 {llvm::omp::OMPD_assume, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10762 {llvm::omp::OMPD_assumes, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10763 {llvm::omp::OMPD_atomic, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10764 {llvm::omp::OMPD_barrier, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10765 {llvm::omp::OMPD_begin_assumes, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10766 {llvm::omp::OMPD_begin_declare_target, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10767 {llvm::omp::OMPD_begin_declare_variant, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10768 {llvm::omp::OMPD_cancel, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10769 {llvm::omp::OMPD_cancellation_point, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10770 {llvm::omp::OMPD_critical, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10771 {llvm::omp::OMPD_declare_induction, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10772 {llvm::omp::OMPD_declare_mapper, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10773 {llvm::omp::OMPD_declare_reduction, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10774 {llvm::omp::OMPD_declare_simd, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10775 {llvm::omp::OMPD_declare_target, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10776 {llvm::omp::OMPD_declare_variant, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10777 {llvm::omp::OMPD_depobj, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10778 {llvm::omp::OMPD_distribute, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10779 {llvm::omp::OMPD_do, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10780 {llvm::omp::OMPD_error, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10781 {llvm::omp::OMPD_flatten, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10782 {llvm::omp::OMPD_flush, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10783 {llvm::omp::OMPD_for, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10784 {llvm::omp::OMPD_fuse, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10785 {llvm::omp::OMPD_groupprivate, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10786 {llvm::omp::OMPD_interchange, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10787 {llvm::omp::OMPD_master, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10788 {llvm::omp::OMPD_metadirective, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10789 {llvm::omp::OMPD_nothing, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10790 {llvm::omp::OMPD_ordered_blockassoc, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10791 {llvm::omp::OMPD_ordered_standalone, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10792 {llvm::omp::OMPD_parallel, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10793 {llvm::omp::OMPD_requires, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10794 {llvm::omp::OMPD_reverse, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10795 {llvm::omp::OMPD_scan, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10796 {llvm::omp::OMPD_scope, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10797 {llvm::omp::OMPD_section, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10798 {llvm::omp::OMPD_sections, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10799 {llvm::omp::OMPD_simd, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10800 {llvm::omp::OMPD_single, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10801 {llvm::omp::OMPD_split, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10802 {llvm::omp::OMPD_stripe, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10803 {llvm::omp::OMPD_target, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10804 {llvm::omp::OMPD_target_data, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10805 {llvm::omp::OMPD_target_enter_data, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10806 {llvm::omp::OMPD_target_exit_data, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10807 {llvm::omp::OMPD_target_update, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10808 {llvm::omp::OMPD_task, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10809 {llvm::omp::OMPD_taskgroup, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10810 {llvm::omp::OMPD_taskloop, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10811 {llvm::omp::OMPD_taskwait, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10812 {llvm::omp::OMPD_taskyield, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10813 {llvm::omp::OMPD_taskgraph, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10814 {llvm::omp::OMPD_teams, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10815 {llvm::omp::OMPD_threadprivate, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10816 {llvm::omp::OMPD_tile, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10817 {llvm::omp::OMPD_unknown, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10818 {llvm::omp::OMPD_unroll, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10819 {llvm::omp::OMPD_workdistribute, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10820 {llvm::omp::OMPD_workshare, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10821 {llvm::omp::OMPD_dispatch, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10822 {llvm::omp::OMPD_interop, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10823 {llvm::omp::OMPD_loop, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10824 {llvm::omp::OMPD_masked, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10825 {llvm::omp::OMPD_distribute_parallel_do, static_cast<llvm::omp::Directive>(3), llvm::omp::OMPD_distribute, llvm::omp::OMPD_parallel, llvm::omp::OMPD_do, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10826 {llvm::omp::OMPD_distribute_parallel_do_simd, static_cast<llvm::omp::Directive>(4), llvm::omp::OMPD_distribute, llvm::omp::OMPD_parallel, llvm::omp::OMPD_do, llvm::omp::OMPD_simd, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10827 {llvm::omp::OMPD_distribute_parallel_for, static_cast<llvm::omp::Directive>(3), llvm::omp::OMPD_distribute, llvm::omp::OMPD_parallel, llvm::omp::OMPD_for, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10828 {llvm::omp::OMPD_distribute_parallel_for_simd, static_cast<llvm::omp::Directive>(4), llvm::omp::OMPD_distribute, llvm::omp::OMPD_parallel, llvm::omp::OMPD_for, llvm::omp::OMPD_simd, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10829 {llvm::omp::OMPD_distribute_simd, static_cast<llvm::omp::Directive>(2), llvm::omp::OMPD_distribute, llvm::omp::OMPD_simd, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10830 {llvm::omp::OMPD_do_simd, static_cast<llvm::omp::Directive>(2), llvm::omp::OMPD_do, llvm::omp::OMPD_simd, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10831 {llvm::omp::OMPD_for_simd, static_cast<llvm::omp::Directive>(2), llvm::omp::OMPD_for, llvm::omp::OMPD_simd, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10832 {llvm::omp::OMPD_master_taskloop, static_cast<llvm::omp::Directive>(2), llvm::omp::OMPD_master, llvm::omp::OMPD_taskloop, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10833 {llvm::omp::OMPD_master_taskloop_simd, static_cast<llvm::omp::Directive>(3), llvm::omp::OMPD_master, llvm::omp::OMPD_taskloop, llvm::omp::OMPD_simd, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10834 {llvm::omp::OMPD_parallel_do, static_cast<llvm::omp::Directive>(2), llvm::omp::OMPD_parallel, llvm::omp::OMPD_do, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10835 {llvm::omp::OMPD_parallel_do_simd, static_cast<llvm::omp::Directive>(3), llvm::omp::OMPD_parallel, llvm::omp::OMPD_do, llvm::omp::OMPD_simd, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10836 {llvm::omp::OMPD_parallel_for, static_cast<llvm::omp::Directive>(2), llvm::omp::OMPD_parallel, llvm::omp::OMPD_for, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10837 {llvm::omp::OMPD_parallel_for_simd, static_cast<llvm::omp::Directive>(3), llvm::omp::OMPD_parallel, llvm::omp::OMPD_for, llvm::omp::OMPD_simd, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10838 {llvm::omp::OMPD_parallel_master, static_cast<llvm::omp::Directive>(2), llvm::omp::OMPD_parallel, llvm::omp::OMPD_master, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10839 {llvm::omp::OMPD_parallel_master_taskloop, static_cast<llvm::omp::Directive>(3), llvm::omp::OMPD_parallel, llvm::omp::OMPD_master, llvm::omp::OMPD_taskloop, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10840 {llvm::omp::OMPD_parallel_master_taskloop_simd, static_cast<llvm::omp::Directive>(4), llvm::omp::OMPD_parallel, llvm::omp::OMPD_master, llvm::omp::OMPD_taskloop, llvm::omp::OMPD_simd, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10841 {llvm::omp::OMPD_parallel_sections, static_cast<llvm::omp::Directive>(2), llvm::omp::OMPD_parallel, llvm::omp::OMPD_sections, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10842 {llvm::omp::OMPD_parallel_workshare, static_cast<llvm::omp::Directive>(2), llvm::omp::OMPD_parallel, llvm::omp::OMPD_workshare, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10843 {llvm::omp::OMPD_parallel_loop, static_cast<llvm::omp::Directive>(2), llvm::omp::OMPD_parallel, llvm::omp::OMPD_loop, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10844 {llvm::omp::OMPD_parallel_masked, static_cast<llvm::omp::Directive>(2), llvm::omp::OMPD_parallel, llvm::omp::OMPD_masked, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10845 {llvm::omp::OMPD_parallel_masked_taskloop, static_cast<llvm::omp::Directive>(3), llvm::omp::OMPD_parallel, llvm::omp::OMPD_masked, llvm::omp::OMPD_taskloop, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10846 {llvm::omp::OMPD_parallel_masked_taskloop_simd, static_cast<llvm::omp::Directive>(4), llvm::omp::OMPD_parallel, llvm::omp::OMPD_masked, llvm::omp::OMPD_taskloop, llvm::omp::OMPD_simd, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10847 {llvm::omp::OMPD_target_parallel, static_cast<llvm::omp::Directive>(2), llvm::omp::OMPD_target, llvm::omp::OMPD_parallel, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10848 {llvm::omp::OMPD_target_parallel_do, static_cast<llvm::omp::Directive>(3), llvm::omp::OMPD_target, llvm::omp::OMPD_parallel, llvm::omp::OMPD_do, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10849 {llvm::omp::OMPD_target_parallel_do_simd, static_cast<llvm::omp::Directive>(4), llvm::omp::OMPD_target, llvm::omp::OMPD_parallel, llvm::omp::OMPD_do, llvm::omp::OMPD_simd, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10850 {llvm::omp::OMPD_target_parallel_for, static_cast<llvm::omp::Directive>(3), llvm::omp::OMPD_target, llvm::omp::OMPD_parallel, llvm::omp::OMPD_for, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10851 {llvm::omp::OMPD_target_parallel_for_simd, static_cast<llvm::omp::Directive>(4), llvm::omp::OMPD_target, llvm::omp::OMPD_parallel, llvm::omp::OMPD_for, llvm::omp::OMPD_simd, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10852 {llvm::omp::OMPD_target_parallel_loop, static_cast<llvm::omp::Directive>(3), llvm::omp::OMPD_target, llvm::omp::OMPD_parallel, llvm::omp::OMPD_loop, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10853 {llvm::omp::OMPD_target_simd, static_cast<llvm::omp::Directive>(2), llvm::omp::OMPD_target, llvm::omp::OMPD_simd, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10854 {llvm::omp::OMPD_target_teams, static_cast<llvm::omp::Directive>(2), llvm::omp::OMPD_target, llvm::omp::OMPD_teams, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10855 {llvm::omp::OMPD_target_teams_distribute, static_cast<llvm::omp::Directive>(3), llvm::omp::OMPD_target, llvm::omp::OMPD_teams, llvm::omp::OMPD_distribute, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10856 {llvm::omp::OMPD_target_teams_distribute_parallel_do, static_cast<llvm::omp::Directive>(5), llvm::omp::OMPD_target, llvm::omp::OMPD_teams, llvm::omp::OMPD_distribute, llvm::omp::OMPD_parallel, llvm::omp::OMPD_do, static_cast<llvm::omp::Directive>(-1),},
10857 {llvm::omp::OMPD_target_teams_distribute_parallel_do_simd, static_cast<llvm::omp::Directive>(6), llvm::omp::OMPD_target, llvm::omp::OMPD_teams, llvm::omp::OMPD_distribute, llvm::omp::OMPD_parallel, llvm::omp::OMPD_do, llvm::omp::OMPD_simd,},
10858 {llvm::omp::OMPD_target_teams_distribute_parallel_for, static_cast<llvm::omp::Directive>(5), llvm::omp::OMPD_target, llvm::omp::OMPD_teams, llvm::omp::OMPD_distribute, llvm::omp::OMPD_parallel, llvm::omp::OMPD_for, static_cast<llvm::omp::Directive>(-1),},
10859 {llvm::omp::OMPD_target_teams_distribute_parallel_for_simd, static_cast<llvm::omp::Directive>(6), llvm::omp::OMPD_target, llvm::omp::OMPD_teams, llvm::omp::OMPD_distribute, llvm::omp::OMPD_parallel, llvm::omp::OMPD_for, llvm::omp::OMPD_simd,},
10860 {llvm::omp::OMPD_target_teams_distribute_simd, static_cast<llvm::omp::Directive>(4), llvm::omp::OMPD_target, llvm::omp::OMPD_teams, llvm::omp::OMPD_distribute, llvm::omp::OMPD_simd, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10861 {llvm::omp::OMPD_target_teams_workdistribute, static_cast<llvm::omp::Directive>(3), llvm::omp::OMPD_target, llvm::omp::OMPD_teams, llvm::omp::OMPD_workdistribute, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10862 {llvm::omp::OMPD_target_teams_loop, static_cast<llvm::omp::Directive>(3), llvm::omp::OMPD_target, llvm::omp::OMPD_teams, llvm::omp::OMPD_loop, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10863 {llvm::omp::OMPD_target_loop, static_cast<llvm::omp::Directive>(2), llvm::omp::OMPD_target, llvm::omp::OMPD_loop, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10864 {llvm::omp::OMPD_taskloop_simd, static_cast<llvm::omp::Directive>(2), llvm::omp::OMPD_taskloop, llvm::omp::OMPD_simd, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10865 {llvm::omp::OMPD_teams_distribute, static_cast<llvm::omp::Directive>(2), llvm::omp::OMPD_teams, llvm::omp::OMPD_distribute, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10866 {llvm::omp::OMPD_teams_distribute_parallel_do, static_cast<llvm::omp::Directive>(4), llvm::omp::OMPD_teams, llvm::omp::OMPD_distribute, llvm::omp::OMPD_parallel, llvm::omp::OMPD_do, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10867 {llvm::omp::OMPD_teams_distribute_parallel_do_simd, static_cast<llvm::omp::Directive>(5), llvm::omp::OMPD_teams, llvm::omp::OMPD_distribute, llvm::omp::OMPD_parallel, llvm::omp::OMPD_do, llvm::omp::OMPD_simd, static_cast<llvm::omp::Directive>(-1),},
10868 {llvm::omp::OMPD_teams_distribute_parallel_for, static_cast<llvm::omp::Directive>(4), llvm::omp::OMPD_teams, llvm::omp::OMPD_distribute, llvm::omp::OMPD_parallel, llvm::omp::OMPD_for, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10869 {llvm::omp::OMPD_teams_distribute_parallel_for_simd, static_cast<llvm::omp::Directive>(5), llvm::omp::OMPD_teams, llvm::omp::OMPD_distribute, llvm::omp::OMPD_parallel, llvm::omp::OMPD_for, llvm::omp::OMPD_simd, static_cast<llvm::omp::Directive>(-1),},
10870 {llvm::omp::OMPD_teams_distribute_simd, static_cast<llvm::omp::Directive>(3), llvm::omp::OMPD_teams, llvm::omp::OMPD_distribute, llvm::omp::OMPD_simd, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10871 {llvm::omp::OMPD_teams_workdistribute, static_cast<llvm::omp::Directive>(2), llvm::omp::OMPD_teams, llvm::omp::OMPD_workdistribute, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10872 {llvm::omp::OMPD_teams_loop, static_cast<llvm::omp::Directive>(2), llvm::omp::OMPD_teams, llvm::omp::OMPD_loop, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10873 {llvm::omp::OMPD_masked_taskloop, static_cast<llvm::omp::Directive>(2), llvm::omp::OMPD_masked, llvm::omp::OMPD_taskloop, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10874 {llvm::omp::OMPD_masked_taskloop_simd, static_cast<llvm::omp::Directive>(3), llvm::omp::OMPD_masked, llvm::omp::OMPD_taskloop, llvm::omp::OMPD_simd, static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10875 {llvm::omp::OMPD_end_assumes, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10876 {llvm::omp::OMPD_end_declare_target, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10877 {llvm::omp::OMPD_end_declare_variant, static_cast<llvm::omp::Directive>(0), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1), static_cast<llvm::omp::Directive>(-1),},
10878};
10879
10880[[maybe_unused]] static auto LeafConstructTableEndDirective = LeafConstructTable + 116;
10881
10882[[maybe_unused]] static const int LeafConstructTableOrdering[] = {
10883 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 66, 67, 68, 69, 70, 20, 71, 116, 117, 118, 21, 22, 23, 24, 72, 25, 26, 27, 114, 115, 28, 73, 74, 29, 30, 31, 32, 33, 75, 76, 77, 78, 85, 86, 87, 79, 80, 81, 82, 83, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 48, 49, 50, 51, 105, 52, 53, 54, 55, 106, 107, 108, 109, 110, 111, 112, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 84, 104, 93, 103, 113,
10884};
10885
10886#endif // GEN_DIRECTIVES_IMPL
10887
10888