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