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