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

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