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

source code of include/llvm-20/llvm/Frontend/OpenMP/OMP.inc