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