aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/llvm12/include/llvm/Frontend/OpenMP
diff options
context:
space:
mode:
authorshadchin <shadchin@yandex-team.ru>2022-02-10 16:44:30 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:44:30 +0300
commit2598ef1d0aee359b4b6d5fdd1758916d5907d04f (patch)
tree012bb94d777798f1f56ac1cec429509766d05181 /contrib/libs/llvm12/include/llvm/Frontend/OpenMP
parent6751af0b0c1b952fede40b19b71da8025b5d8bcf (diff)
downloadydb-2598ef1d0aee359b4b6d5fdd1758916d5907d04f.tar.gz
Restoring authorship annotation for <shadchin@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'contrib/libs/llvm12/include/llvm/Frontend/OpenMP')
-rw-r--r--contrib/libs/llvm12/include/llvm/Frontend/OpenMP/OMP.inc7014
-rw-r--r--contrib/libs/llvm12/include/llvm/Frontend/OpenMP/OMP.td392
-rw-r--r--contrib/libs/llvm12/include/llvm/Frontend/OpenMP/OMPConstants.h62
-rw-r--r--contrib/libs/llvm12/include/llvm/Frontend/OpenMP/OMPContext.h72
-rw-r--r--contrib/libs/llvm12/include/llvm/Frontend/OpenMP/OMPGridValues.h22
-rw-r--r--contrib/libs/llvm12/include/llvm/Frontend/OpenMP/OMPIRBuilder.h762
-rw-r--r--contrib/libs/llvm12/include/llvm/Frontend/OpenMP/OMPKinds.def1034
7 files changed, 4679 insertions, 4679 deletions
diff --git a/contrib/libs/llvm12/include/llvm/Frontend/OpenMP/OMP.inc b/contrib/libs/llvm12/include/llvm/Frontend/OpenMP/OMP.inc
index 390fac5410..6ed64989bc 100644
--- a/contrib/libs/llvm12/include/llvm/Frontend/OpenMP/OMP.inc
+++ b/contrib/libs/llvm12/include/llvm/Frontend/OpenMP/OMP.inc
@@ -1,3507 +1,3507 @@
-#ifdef GEN_FLANG_DIRECTIVE_CLAUSE_SETS
-#undef GEN_FLANG_DIRECTIVE_CLAUSE_SETS
-
-namespace llvm {
-namespace omp {
-
- // Sets for allocate
-
- static OmpClauseSet allowedClauses_OMPD_allocate {
- llvm::omp::Clause::OMPC_allocator,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_allocate {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_allocate {
- };
-
- static OmpClauseSet requiredClauses_OMPD_allocate {
- };
-
- // Sets for assumes
-
- static OmpClauseSet allowedClauses_OMPD_assumes {
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_assumes {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_assumes {
- };
-
- static OmpClauseSet requiredClauses_OMPD_assumes {
- };
-
- // Sets for atomic
-
- static OmpClauseSet allowedClauses_OMPD_atomic {
- llvm::omp::Clause::OMPC_read,
- llvm::omp::Clause::OMPC_write,
- llvm::omp::Clause::OMPC_update,
- llvm::omp::Clause::OMPC_capture,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_atomic {
- llvm::omp::Clause::OMPC_seq_cst,
- llvm::omp::Clause::OMPC_acq_rel,
- llvm::omp::Clause::OMPC_acquire,
- llvm::omp::Clause::OMPC_release,
- llvm::omp::Clause::OMPC_relaxed,
- llvm::omp::Clause::OMPC_hint,
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_atomic {
- };
-
- static OmpClauseSet requiredClauses_OMPD_atomic {
- };
-
- // Sets for barrier
-
- static OmpClauseSet allowedClauses_OMPD_barrier {
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_barrier {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_barrier {
- };
-
- static OmpClauseSet requiredClauses_OMPD_barrier {
- };
-
- // Sets for begin assumes
-
- static OmpClauseSet allowedClauses_OMPD_begin_assumes {
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_begin_assumes {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_begin_assumes {
- };
-
- static OmpClauseSet requiredClauses_OMPD_begin_assumes {
- };
-
- // Sets for begin declare variant
-
- static OmpClauseSet allowedClauses_OMPD_begin_declare_variant {
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_begin_declare_variant {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_begin_declare_variant {
- };
-
- static OmpClauseSet requiredClauses_OMPD_begin_declare_variant {
- };
-
- // Sets for cancel
-
- static OmpClauseSet allowedClauses_OMPD_cancel {
- llvm::omp::Clause::OMPC_if,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_cancel {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_cancel {
- };
-
- static OmpClauseSet requiredClauses_OMPD_cancel {
- };
-
- // Sets for cancellation point
-
- static OmpClauseSet allowedClauses_OMPD_cancellation_point {
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_cancellation_point {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_cancellation_point {
- };
-
- static OmpClauseSet requiredClauses_OMPD_cancellation_point {
- };
-
- // Sets for critical
-
- static OmpClauseSet allowedClauses_OMPD_critical {
- llvm::omp::Clause::OMPC_hint,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_critical {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_critical {
- };
-
- static OmpClauseSet requiredClauses_OMPD_critical {
- };
-
- // Sets for declare mapper
-
- static OmpClauseSet allowedClauses_OMPD_declare_mapper {
- llvm::omp::Clause::OMPC_map,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_declare_mapper {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_declare_mapper {
- };
-
- static OmpClauseSet requiredClauses_OMPD_declare_mapper {
- };
-
- // Sets for declare reduction
-
- static OmpClauseSet allowedClauses_OMPD_declare_reduction {
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_declare_reduction {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_declare_reduction {
- };
-
- static OmpClauseSet requiredClauses_OMPD_declare_reduction {
- };
-
- // Sets for declare simd
-
- static OmpClauseSet allowedClauses_OMPD_declare_simd {
- llvm::omp::Clause::OMPC_linear,
- llvm::omp::Clause::OMPC_aligned,
- llvm::omp::Clause::OMPC_uniform,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_declare_simd {
- llvm::omp::Clause::OMPC_simdlen,
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_declare_simd {
- llvm::omp::Clause::OMPC_inbranch,
- llvm::omp::Clause::OMPC_notinbranch,
- };
-
- static OmpClauseSet requiredClauses_OMPD_declare_simd {
- };
-
- // Sets for declare target
-
- static OmpClauseSet allowedClauses_OMPD_declare_target {
- llvm::omp::Clause::OMPC_to,
- llvm::omp::Clause::OMPC_link,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_declare_target {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_declare_target {
- };
-
- static OmpClauseSet requiredClauses_OMPD_declare_target {
- };
-
- // Sets for declare variant
-
- static OmpClauseSet allowedClauses_OMPD_declare_variant {
- llvm::omp::Clause::OMPC_match,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_declare_variant {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_declare_variant {
- };
-
- static OmpClauseSet requiredClauses_OMPD_declare_variant {
- };
-
- // Sets for depobj
-
- static OmpClauseSet allowedClauses_OMPD_depobj {
- llvm::omp::Clause::OMPC_depend,
- llvm::omp::Clause::OMPC_destroy,
- llvm::omp::Clause::OMPC_update,
- llvm::omp::Clause::OMPC_depobj,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_depobj {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_depobj {
- };
-
- static OmpClauseSet requiredClauses_OMPD_depobj {
- };
-
- // Sets for distribute
-
- static OmpClauseSet allowedClauses_OMPD_distribute {
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_lastprivate,
- llvm::omp::Clause::OMPC_allocate,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_distribute {
- llvm::omp::Clause::OMPC_collapse,
- llvm::omp::Clause::OMPC_dist_schedule,
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_distribute {
- };
-
- static OmpClauseSet requiredClauses_OMPD_distribute {
- };
-
- // Sets for distribute parallel do
-
- static OmpClauseSet allowedClauses_OMPD_distribute_parallel_do {
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_lastprivate,
- llvm::omp::Clause::OMPC_allocate,
- llvm::omp::Clause::OMPC_order,
- llvm::omp::Clause::OMPC_default,
- llvm::omp::Clause::OMPC_shared,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_copyin,
- llvm::omp::Clause::OMPC_linear,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_distribute_parallel_do {
- llvm::omp::Clause::OMPC_collapse,
- llvm::omp::Clause::OMPC_dist_schedule,
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_num_threads,
- llvm::omp::Clause::OMPC_proc_bind,
- llvm::omp::Clause::OMPC_schedule,
- llvm::omp::Clause::OMPC_ordered,
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_distribute_parallel_do {
- };
-
- static OmpClauseSet requiredClauses_OMPD_distribute_parallel_do {
- };
-
- // Sets for distribute parallel do simd
-
- static OmpClauseSet allowedClauses_OMPD_distribute_parallel_do_simd {
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_lastprivate,
- llvm::omp::Clause::OMPC_collapse,
- llvm::omp::Clause::OMPC_dist_schedule,
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_num_threads,
- llvm::omp::Clause::OMPC_default,
- llvm::omp::Clause::OMPC_proc_bind,
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_shared,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_copyin,
- llvm::omp::Clause::OMPC_schedule,
- llvm::omp::Clause::OMPC_linear,
- llvm::omp::Clause::OMPC_aligned,
- llvm::omp::Clause::OMPC_safelen,
- llvm::omp::Clause::OMPC_simdlen,
- llvm::omp::Clause::OMPC_allocate,
- llvm::omp::Clause::OMPC_nontemporal,
- llvm::omp::Clause::OMPC_order,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_distribute_parallel_do_simd {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_distribute_parallel_do_simd {
- };
-
- static OmpClauseSet requiredClauses_OMPD_distribute_parallel_do_simd {
- };
-
- // Sets for distribute parallel for
-
- static OmpClauseSet allowedClauses_OMPD_distribute_parallel_for {
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_lastprivate,
- llvm::omp::Clause::OMPC_collapse,
- llvm::omp::Clause::OMPC_dist_schedule,
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_num_threads,
- llvm::omp::Clause::OMPC_default,
- llvm::omp::Clause::OMPC_proc_bind,
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_shared,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_copyin,
- llvm::omp::Clause::OMPC_schedule,
- llvm::omp::Clause::OMPC_allocate,
- llvm::omp::Clause::OMPC_order,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_distribute_parallel_for {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_distribute_parallel_for {
- };
-
- static OmpClauseSet requiredClauses_OMPD_distribute_parallel_for {
- };
-
- // Sets for distribute parallel for simd
-
- static OmpClauseSet allowedClauses_OMPD_distribute_parallel_for_simd {
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_lastprivate,
- llvm::omp::Clause::OMPC_collapse,
- llvm::omp::Clause::OMPC_dist_schedule,
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_num_threads,
- llvm::omp::Clause::OMPC_default,
- llvm::omp::Clause::OMPC_proc_bind,
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_shared,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_copyin,
- llvm::omp::Clause::OMPC_schedule,
- llvm::omp::Clause::OMPC_linear,
- llvm::omp::Clause::OMPC_aligned,
- llvm::omp::Clause::OMPC_safelen,
- llvm::omp::Clause::OMPC_simdlen,
- llvm::omp::Clause::OMPC_allocate,
- llvm::omp::Clause::OMPC_nontemporal,
- llvm::omp::Clause::OMPC_order,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_distribute_parallel_for_simd {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_distribute_parallel_for_simd {
- };
-
- static OmpClauseSet requiredClauses_OMPD_distribute_parallel_for_simd {
- };
-
- // Sets for distribute simd
-
- static OmpClauseSet allowedClauses_OMPD_distribute_simd {
- llvm::omp::Clause::OMPC_aligned,
- llvm::omp::Clause::OMPC_allocate,
- llvm::omp::Clause::OMPC_copyin,
- llvm::omp::Clause::OMPC_default,
- llvm::omp::Clause::OMPC_linear,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_lastprivate,
- llvm::omp::Clause::OMPC_nontemporal,
- llvm::omp::Clause::OMPC_order,
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_reduction,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_distribute_simd {
- llvm::omp::Clause::OMPC_collapse,
- llvm::omp::Clause::OMPC_dist_schedule,
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_num_threads,
- llvm::omp::Clause::OMPC_ordered,
- llvm::omp::Clause::OMPC_proc_bind,
- llvm::omp::Clause::OMPC_schedule,
- llvm::omp::Clause::OMPC_safelen,
- llvm::omp::Clause::OMPC_simdlen,
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_distribute_simd {
- };
-
- static OmpClauseSet requiredClauses_OMPD_distribute_simd {
- };
-
- // Sets for do
-
- static OmpClauseSet allowedClauses_OMPD_do {
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_lastprivate,
- llvm::omp::Clause::OMPC_linear,
- llvm::omp::Clause::OMPC_reduction,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_do {
- llvm::omp::Clause::OMPC_schedule,
- llvm::omp::Clause::OMPC_collapse,
- llvm::omp::Clause::OMPC_ordered,
- llvm::omp::Clause::OMPC_nowait,
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_do {
- };
-
- static OmpClauseSet requiredClauses_OMPD_do {
- };
-
- // Sets for do simd
-
- static OmpClauseSet allowedClauses_OMPD_do_simd {
- llvm::omp::Clause::OMPC_aligned,
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_lastprivate,
- llvm::omp::Clause::OMPC_linear,
- llvm::omp::Clause::OMPC_reduction,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_do_simd {
- llvm::omp::Clause::OMPC_schedule,
- llvm::omp::Clause::OMPC_collapse,
- llvm::omp::Clause::OMPC_ordered,
- llvm::omp::Clause::OMPC_safelen,
- llvm::omp::Clause::OMPC_simdlen,
- llvm::omp::Clause::OMPC_nowait,
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_do_simd {
- };
-
- static OmpClauseSet requiredClauses_OMPD_do_simd {
- };
-
- // Sets for end assumes
-
- static OmpClauseSet allowedClauses_OMPD_end_assumes {
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_end_assumes {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_end_assumes {
- };
-
- static OmpClauseSet requiredClauses_OMPD_end_assumes {
- };
-
- // Sets for end declare target
-
- static OmpClauseSet allowedClauses_OMPD_end_declare_target {
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_end_declare_target {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_end_declare_target {
- };
-
- static OmpClauseSet requiredClauses_OMPD_end_declare_target {
- };
-
- // Sets for end declare variant
-
- static OmpClauseSet allowedClauses_OMPD_end_declare_variant {
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_end_declare_variant {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_end_declare_variant {
- };
-
- static OmpClauseSet requiredClauses_OMPD_end_declare_variant {
- };
-
- // Sets for end do
-
- static OmpClauseSet allowedClauses_OMPD_end_do {
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_end_do {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_end_do {
- };
-
- static OmpClauseSet requiredClauses_OMPD_end_do {
- };
-
- // Sets for end do simd
-
- static OmpClauseSet allowedClauses_OMPD_end_do_simd {
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_end_do_simd {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_end_do_simd {
- };
-
- static OmpClauseSet requiredClauses_OMPD_end_do_simd {
- };
-
- // Sets for end sections
-
- static OmpClauseSet allowedClauses_OMPD_end_sections {
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_end_sections {
- llvm::omp::Clause::OMPC_nowait,
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_end_sections {
- };
-
- static OmpClauseSet requiredClauses_OMPD_end_sections {
- };
-
- // Sets for end single
-
- static OmpClauseSet allowedClauses_OMPD_end_single {
- llvm::omp::Clause::OMPC_copyprivate,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_end_single {
- llvm::omp::Clause::OMPC_nowait,
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_end_single {
- };
-
- static OmpClauseSet requiredClauses_OMPD_end_single {
- };
-
- // Sets for end workshare
-
- static OmpClauseSet allowedClauses_OMPD_end_workshare {
- llvm::omp::Clause::OMPC_nowait,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_end_workshare {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_end_workshare {
- };
-
- static OmpClauseSet requiredClauses_OMPD_end_workshare {
- };
-
- // Sets for flush
-
- static OmpClauseSet allowedClauses_OMPD_flush {
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_flush {
- llvm::omp::Clause::OMPC_acq_rel,
- llvm::omp::Clause::OMPC_acquire,
- llvm::omp::Clause::OMPC_release,
- llvm::omp::Clause::OMPC_flush,
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_flush {
- };
-
- static OmpClauseSet requiredClauses_OMPD_flush {
- };
-
- // Sets for for
-
- static OmpClauseSet allowedClauses_OMPD_for {
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_lastprivate,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_collapse,
- llvm::omp::Clause::OMPC_schedule,
- llvm::omp::Clause::OMPC_ordered,
- llvm::omp::Clause::OMPC_nowait,
- llvm::omp::Clause::OMPC_linear,
- llvm::omp::Clause::OMPC_allocate,
- llvm::omp::Clause::OMPC_order,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_for {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_for {
- };
-
- static OmpClauseSet requiredClauses_OMPD_for {
- };
-
- // Sets for for simd
-
- static OmpClauseSet allowedClauses_OMPD_for_simd {
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_lastprivate,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_schedule,
- llvm::omp::Clause::OMPC_collapse,
- llvm::omp::Clause::OMPC_nowait,
- llvm::omp::Clause::OMPC_safelen,
- llvm::omp::Clause::OMPC_simdlen,
- llvm::omp::Clause::OMPC_linear,
- llvm::omp::Clause::OMPC_aligned,
- llvm::omp::Clause::OMPC_ordered,
- llvm::omp::Clause::OMPC_allocate,
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_nontemporal,
- llvm::omp::Clause::OMPC_order,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_for_simd {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_for_simd {
- };
-
- static OmpClauseSet requiredClauses_OMPD_for_simd {
- };
-
- // Sets for master
-
- static OmpClauseSet allowedClauses_OMPD_master {
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_master {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_master {
- };
-
- static OmpClauseSet requiredClauses_OMPD_master {
- };
-
- // Sets for master taskloop
-
- static OmpClauseSet allowedClauses_OMPD_master_taskloop {
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_shared,
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_lastprivate,
- llvm::omp::Clause::OMPC_default,
- llvm::omp::Clause::OMPC_collapse,
- llvm::omp::Clause::OMPC_final,
- llvm::omp::Clause::OMPC_untied,
- llvm::omp::Clause::OMPC_mergeable,
- llvm::omp::Clause::OMPC_priority,
- llvm::omp::Clause::OMPC_grainsize,
- llvm::omp::Clause::OMPC_nogroup,
- llvm::omp::Clause::OMPC_num_tasks,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_in_reduction,
- llvm::omp::Clause::OMPC_allocate,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_master_taskloop {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_master_taskloop {
- };
-
- static OmpClauseSet requiredClauses_OMPD_master_taskloop {
- };
-
- // Sets for master taskloop simd
-
- static OmpClauseSet allowedClauses_OMPD_master_taskloop_simd {
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_shared,
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_lastprivate,
- llvm::omp::Clause::OMPC_default,
- llvm::omp::Clause::OMPC_collapse,
- llvm::omp::Clause::OMPC_final,
- llvm::omp::Clause::OMPC_untied,
- llvm::omp::Clause::OMPC_mergeable,
- llvm::omp::Clause::OMPC_priority,
- llvm::omp::Clause::OMPC_linear,
- llvm::omp::Clause::OMPC_aligned,
- llvm::omp::Clause::OMPC_safelen,
- llvm::omp::Clause::OMPC_simdlen,
- llvm::omp::Clause::OMPC_grainsize,
- llvm::omp::Clause::OMPC_nogroup,
- llvm::omp::Clause::OMPC_num_tasks,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_in_reduction,
- llvm::omp::Clause::OMPC_allocate,
- llvm::omp::Clause::OMPC_nontemporal,
- llvm::omp::Clause::OMPC_order,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_master_taskloop_simd {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_master_taskloop_simd {
- };
-
- static OmpClauseSet requiredClauses_OMPD_master_taskloop_simd {
- };
-
- // Sets for ordered
-
- static OmpClauseSet allowedClauses_OMPD_ordered {
- llvm::omp::Clause::OMPC_threads,
- llvm::omp::Clause::OMPC_simd,
- llvm::omp::Clause::OMPC_depend,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_ordered {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_ordered {
- };
-
- static OmpClauseSet requiredClauses_OMPD_ordered {
- };
-
- // Sets for parallel
-
- static OmpClauseSet allowedClauses_OMPD_parallel {
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_shared,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_copyin,
- llvm::omp::Clause::OMPC_allocate,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_parallel {
- llvm::omp::Clause::OMPC_default,
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_num_threads,
- llvm::omp::Clause::OMPC_proc_bind,
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_parallel {
- };
-
- static OmpClauseSet requiredClauses_OMPD_parallel {
- };
-
- // Sets for parallel do
-
- static OmpClauseSet allowedClauses_OMPD_parallel_do {
- llvm::omp::Clause::OMPC_default,
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_shared,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_copyin,
- llvm::omp::Clause::OMPC_lastprivate,
- llvm::omp::Clause::OMPC_linear,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_parallel_do {
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_num_threads,
- llvm::omp::Clause::OMPC_proc_bind,
- llvm::omp::Clause::OMPC_schedule,
- llvm::omp::Clause::OMPC_ordered,
- llvm::omp::Clause::OMPC_collapse,
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_parallel_do {
- };
-
- static OmpClauseSet requiredClauses_OMPD_parallel_do {
- };
-
- // Sets for parallel do simd
-
- static OmpClauseSet allowedClauses_OMPD_parallel_do_simd {
- llvm::omp::Clause::OMPC_default,
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_shared,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_copyin,
- llvm::omp::Clause::OMPC_lastprivate,
- llvm::omp::Clause::OMPC_linear,
- llvm::omp::Clause::OMPC_aligned,
- llvm::omp::Clause::OMPC_allocate,
- llvm::omp::Clause::OMPC_nontemporal,
- llvm::omp::Clause::OMPC_order,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_parallel_do_simd {
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_num_threads,
- llvm::omp::Clause::OMPC_proc_bind,
- llvm::omp::Clause::OMPC_schedule,
- llvm::omp::Clause::OMPC_ordered,
- llvm::omp::Clause::OMPC_collapse,
- llvm::omp::Clause::OMPC_safelen,
- llvm::omp::Clause::OMPC_simdlen,
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_parallel_do_simd {
- };
-
- static OmpClauseSet requiredClauses_OMPD_parallel_do_simd {
- };
-
- // Sets for parallel for
-
- static OmpClauseSet allowedClauses_OMPD_parallel_for {
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_num_threads,
- llvm::omp::Clause::OMPC_default,
- llvm::omp::Clause::OMPC_proc_bind,
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_shared,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_copyin,
- llvm::omp::Clause::OMPC_lastprivate,
- llvm::omp::Clause::OMPC_collapse,
- llvm::omp::Clause::OMPC_schedule,
- llvm::omp::Clause::OMPC_ordered,
- llvm::omp::Clause::OMPC_linear,
- llvm::omp::Clause::OMPC_allocate,
- llvm::omp::Clause::OMPC_order,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_parallel_for {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_parallel_for {
- };
-
- static OmpClauseSet requiredClauses_OMPD_parallel_for {
- };
-
- // Sets for parallel for simd
-
- static OmpClauseSet allowedClauses_OMPD_parallel_for_simd {
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_num_threads,
- llvm::omp::Clause::OMPC_default,
- llvm::omp::Clause::OMPC_proc_bind,
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_shared,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_copyin,
- llvm::omp::Clause::OMPC_lastprivate,
- llvm::omp::Clause::OMPC_collapse,
- llvm::omp::Clause::OMPC_schedule,
- llvm::omp::Clause::OMPC_safelen,
- llvm::omp::Clause::OMPC_simdlen,
- llvm::omp::Clause::OMPC_linear,
- llvm::omp::Clause::OMPC_aligned,
- llvm::omp::Clause::OMPC_ordered,
- llvm::omp::Clause::OMPC_allocate,
- llvm::omp::Clause::OMPC_nontemporal,
- llvm::omp::Clause::OMPC_order,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_parallel_for_simd {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_parallel_for_simd {
- };
-
- static OmpClauseSet requiredClauses_OMPD_parallel_for_simd {
- };
-
- // Sets for parallel master
-
- static OmpClauseSet allowedClauses_OMPD_parallel_master {
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_num_threads,
- llvm::omp::Clause::OMPC_default,
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_shared,
- llvm::omp::Clause::OMPC_copyin,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_proc_bind,
- llvm::omp::Clause::OMPC_allocate,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_parallel_master {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_parallel_master {
- };
-
- static OmpClauseSet requiredClauses_OMPD_parallel_master {
- };
-
- // Sets for parallel master taskloop
-
- static OmpClauseSet allowedClauses_OMPD_parallel_master_taskloop {
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_shared,
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_lastprivate,
- llvm::omp::Clause::OMPC_default,
- llvm::omp::Clause::OMPC_collapse,
- llvm::omp::Clause::OMPC_final,
- llvm::omp::Clause::OMPC_untied,
- llvm::omp::Clause::OMPC_mergeable,
- llvm::omp::Clause::OMPC_priority,
- llvm::omp::Clause::OMPC_grainsize,
- llvm::omp::Clause::OMPC_nogroup,
- llvm::omp::Clause::OMPC_num_tasks,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_allocate,
- llvm::omp::Clause::OMPC_num_threads,
- llvm::omp::Clause::OMPC_proc_bind,
- llvm::omp::Clause::OMPC_copyin,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_parallel_master_taskloop {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_parallel_master_taskloop {
- };
-
- static OmpClauseSet requiredClauses_OMPD_parallel_master_taskloop {
- };
-
- // Sets for parallel master taskloop simd
-
- static OmpClauseSet allowedClauses_OMPD_parallel_master_taskloop_simd {
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_shared,
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_lastprivate,
- llvm::omp::Clause::OMPC_default,
- llvm::omp::Clause::OMPC_collapse,
- llvm::omp::Clause::OMPC_final,
- llvm::omp::Clause::OMPC_untied,
- llvm::omp::Clause::OMPC_mergeable,
- llvm::omp::Clause::OMPC_priority,
- llvm::omp::Clause::OMPC_grainsize,
- llvm::omp::Clause::OMPC_nogroup,
- llvm::omp::Clause::OMPC_num_tasks,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_allocate,
- llvm::omp::Clause::OMPC_num_threads,
- llvm::omp::Clause::OMPC_proc_bind,
- llvm::omp::Clause::OMPC_copyin,
- llvm::omp::Clause::OMPC_linear,
- llvm::omp::Clause::OMPC_aligned,
- llvm::omp::Clause::OMPC_safelen,
- llvm::omp::Clause::OMPC_simdlen,
- llvm::omp::Clause::OMPC_nontemporal,
- llvm::omp::Clause::OMPC_order,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_parallel_master_taskloop_simd {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_parallel_master_taskloop_simd {
- };
-
- static OmpClauseSet requiredClauses_OMPD_parallel_master_taskloop_simd {
- };
-
- // Sets for parallel sections
-
- static OmpClauseSet allowedClauses_OMPD_parallel_sections {
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_default,
- llvm::omp::Clause::OMPC_proc_bind,
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_shared,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_copyin,
- llvm::omp::Clause::OMPC_lastprivate,
- llvm::omp::Clause::OMPC_allocate,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_parallel_sections {
- llvm::omp::Clause::OMPC_num_threads,
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_parallel_sections {
- };
-
- static OmpClauseSet requiredClauses_OMPD_parallel_sections {
- };
-
- // Sets for parallel workshare
-
- static OmpClauseSet allowedClauses_OMPD_parallel_workshare {
- llvm::omp::Clause::OMPC_allocate,
- llvm::omp::Clause::OMPC_copyin,
- llvm::omp::Clause::OMPC_default,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_shared,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_parallel_workshare {
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_num_threads,
- llvm::omp::Clause::OMPC_proc_bind,
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_parallel_workshare {
- };
-
- static OmpClauseSet requiredClauses_OMPD_parallel_workshare {
- };
-
- // Sets for requires
-
- static OmpClauseSet allowedClauses_OMPD_requires {
- llvm::omp::Clause::OMPC_unified_address,
- llvm::omp::Clause::OMPC_unified_shared_memory,
- llvm::omp::Clause::OMPC_reverse_offload,
- llvm::omp::Clause::OMPC_dynamic_allocators,
- llvm::omp::Clause::OMPC_atomic_default_mem_order,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_requires {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_requires {
- };
-
- static OmpClauseSet requiredClauses_OMPD_requires {
- };
-
- // Sets for scan
-
- static OmpClauseSet allowedClauses_OMPD_scan {
- llvm::omp::Clause::OMPC_inclusive,
- llvm::omp::Clause::OMPC_exclusive,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_scan {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_scan {
- };
-
- static OmpClauseSet requiredClauses_OMPD_scan {
- };
-
- // Sets for section
-
- static OmpClauseSet allowedClauses_OMPD_section {
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_section {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_section {
- };
-
- static OmpClauseSet requiredClauses_OMPD_section {
- };
-
- // Sets for sections
-
- static OmpClauseSet allowedClauses_OMPD_sections {
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_lastprivate,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_nowait,
- llvm::omp::Clause::OMPC_allocate,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_sections {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_sections {
- };
-
- static OmpClauseSet requiredClauses_OMPD_sections {
- };
-
- // Sets for simd
-
- static OmpClauseSet allowedClauses_OMPD_simd {
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_lastprivate,
- llvm::omp::Clause::OMPC_linear,
- llvm::omp::Clause::OMPC_aligned,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_allocate,
- llvm::omp::Clause::OMPC_nontemporal,
- llvm::omp::Clause::OMPC_order,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_simd {
- llvm::omp::Clause::OMPC_collapse,
- llvm::omp::Clause::OMPC_safelen,
- llvm::omp::Clause::OMPC_simdlen,
- llvm::omp::Clause::OMPC_if,
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_simd {
- };
-
- static OmpClauseSet requiredClauses_OMPD_simd {
- };
-
- // Sets for single
-
- static OmpClauseSet allowedClauses_OMPD_single {
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_copyprivate,
- llvm::omp::Clause::OMPC_nowait,
- llvm::omp::Clause::OMPC_allocate,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_single {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_single {
- };
-
- static OmpClauseSet requiredClauses_OMPD_single {
- };
-
- // Sets for target
-
- static OmpClauseSet allowedClauses_OMPD_target {
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_map,
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_depend,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_is_device_ptr,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_allocate,
- llvm::omp::Clause::OMPC_uses_allocators,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_target {
- llvm::omp::Clause::OMPC_device,
- llvm::omp::Clause::OMPC_defaultmap,
- llvm::omp::Clause::OMPC_nowait,
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_target {
- };
-
- static OmpClauseSet requiredClauses_OMPD_target {
- };
-
- // Sets for target data
-
- static OmpClauseSet allowedClauses_OMPD_target_data {
- llvm::omp::Clause::OMPC_use_device_ptr,
- llvm::omp::Clause::OMPC_use_device_addr,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_target_data {
- llvm::omp::Clause::OMPC_device,
- llvm::omp::Clause::OMPC_if,
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_target_data {
- };
-
- static OmpClauseSet requiredClauses_OMPD_target_data {
- llvm::omp::Clause::OMPC_map,
- };
-
- // Sets for target enter data
-
- static OmpClauseSet allowedClauses_OMPD_target_enter_data {
- llvm::omp::Clause::OMPC_depend,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_target_enter_data {
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_device,
- llvm::omp::Clause::OMPC_nowait,
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_target_enter_data {
- };
-
- static OmpClauseSet requiredClauses_OMPD_target_enter_data {
- llvm::omp::Clause::OMPC_map,
- };
-
- // Sets for target exit data
-
- static OmpClauseSet allowedClauses_OMPD_target_exit_data {
- llvm::omp::Clause::OMPC_depend,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_target_exit_data {
- llvm::omp::Clause::OMPC_device,
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_nowait,
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_target_exit_data {
- };
-
- static OmpClauseSet requiredClauses_OMPD_target_exit_data {
- llvm::omp::Clause::OMPC_map,
- };
-
- // Sets for target parallel
-
- static OmpClauseSet allowedClauses_OMPD_target_parallel {
- llvm::omp::Clause::OMPC_map,
- llvm::omp::Clause::OMPC_nowait,
- llvm::omp::Clause::OMPC_depend,
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_default,
- llvm::omp::Clause::OMPC_shared,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_is_device_ptr,
- llvm::omp::Clause::OMPC_allocate,
- llvm::omp::Clause::OMPC_uses_allocators,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_target_parallel {
- llvm::omp::Clause::OMPC_defaultmap,
- llvm::omp::Clause::OMPC_device,
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_num_threads,
- llvm::omp::Clause::OMPC_proc_bind,
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_target_parallel {
- };
-
- static OmpClauseSet requiredClauses_OMPD_target_parallel {
- };
-
- // Sets for target parallel do
-
- static OmpClauseSet allowedClauses_OMPD_target_parallel_do {
- llvm::omp::Clause::OMPC_map,
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_lastprivate,
- llvm::omp::Clause::OMPC_depend,
- llvm::omp::Clause::OMPC_shared,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_linear,
- llvm::omp::Clause::OMPC_is_device_ptr,
- llvm::omp::Clause::OMPC_allocator,
- llvm::omp::Clause::OMPC_order,
- llvm::omp::Clause::OMPC_uses_allocators,
- llvm::omp::Clause::OMPC_default,
- llvm::omp::Clause::OMPC_copyin,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_target_parallel_do {
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_num_threads,
- llvm::omp::Clause::OMPC_proc_bind,
- llvm::omp::Clause::OMPC_device,
- llvm::omp::Clause::OMPC_defaultmap,
- llvm::omp::Clause::OMPC_schedule,
- llvm::omp::Clause::OMPC_collapse,
- llvm::omp::Clause::OMPC_ordered,
- llvm::omp::Clause::OMPC_nowait,
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_target_parallel_do {
- };
-
- static OmpClauseSet requiredClauses_OMPD_target_parallel_do {
- };
-
- // Sets for target parallel do simd
-
- static OmpClauseSet allowedClauses_OMPD_target_parallel_do_simd {
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_device,
- llvm::omp::Clause::OMPC_map,
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_lastprivate,
- llvm::omp::Clause::OMPC_nowait,
- llvm::omp::Clause::OMPC_depend,
- llvm::omp::Clause::OMPC_defaultmap,
- llvm::omp::Clause::OMPC_num_threads,
- llvm::omp::Clause::OMPC_default,
- llvm::omp::Clause::OMPC_proc_bind,
- llvm::omp::Clause::OMPC_shared,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_collapse,
- llvm::omp::Clause::OMPC_schedule,
- llvm::omp::Clause::OMPC_ordered,
- llvm::omp::Clause::OMPC_linear,
- llvm::omp::Clause::OMPC_safelen,
- llvm::omp::Clause::OMPC_simdlen,
- llvm::omp::Clause::OMPC_aligned,
- llvm::omp::Clause::OMPC_is_device_ptr,
- llvm::omp::Clause::OMPC_allocate,
- llvm::omp::Clause::OMPC_nontemporal,
- llvm::omp::Clause::OMPC_order,
- llvm::omp::Clause::OMPC_uses_allocators,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_target_parallel_do_simd {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_target_parallel_do_simd {
- };
-
- static OmpClauseSet requiredClauses_OMPD_target_parallel_do_simd {
- };
-
- // Sets for target parallel for
-
- static OmpClauseSet allowedClauses_OMPD_target_parallel_for {
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_device,
- llvm::omp::Clause::OMPC_map,
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_lastprivate,
- llvm::omp::Clause::OMPC_nowait,
- llvm::omp::Clause::OMPC_depend,
- llvm::omp::Clause::OMPC_defaultmap,
- llvm::omp::Clause::OMPC_num_threads,
- llvm::omp::Clause::OMPC_default,
- llvm::omp::Clause::OMPC_proc_bind,
- llvm::omp::Clause::OMPC_shared,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_collapse,
- llvm::omp::Clause::OMPC_schedule,
- llvm::omp::Clause::OMPC_ordered,
- llvm::omp::Clause::OMPC_linear,
- llvm::omp::Clause::OMPC_is_device_ptr,
- llvm::omp::Clause::OMPC_allocate,
- llvm::omp::Clause::OMPC_order,
- llvm::omp::Clause::OMPC_uses_allocators,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_target_parallel_for {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_target_parallel_for {
- };
-
- static OmpClauseSet requiredClauses_OMPD_target_parallel_for {
- };
-
- // Sets for target parallel for simd
-
- static OmpClauseSet allowedClauses_OMPD_target_parallel_for_simd {
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_device,
- llvm::omp::Clause::OMPC_map,
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_lastprivate,
- llvm::omp::Clause::OMPC_nowait,
- llvm::omp::Clause::OMPC_depend,
- llvm::omp::Clause::OMPC_defaultmap,
- llvm::omp::Clause::OMPC_num_threads,
- llvm::omp::Clause::OMPC_default,
- llvm::omp::Clause::OMPC_proc_bind,
- llvm::omp::Clause::OMPC_shared,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_collapse,
- llvm::omp::Clause::OMPC_schedule,
- llvm::omp::Clause::OMPC_ordered,
- llvm::omp::Clause::OMPC_linear,
- llvm::omp::Clause::OMPC_safelen,
- llvm::omp::Clause::OMPC_simdlen,
- llvm::omp::Clause::OMPC_aligned,
- llvm::omp::Clause::OMPC_is_device_ptr,
- llvm::omp::Clause::OMPC_allocate,
- llvm::omp::Clause::OMPC_nontemporal,
- llvm::omp::Clause::OMPC_order,
- llvm::omp::Clause::OMPC_uses_allocators,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_target_parallel_for_simd {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_target_parallel_for_simd {
- };
-
- static OmpClauseSet requiredClauses_OMPD_target_parallel_for_simd {
- };
-
- // Sets for target simd
-
- static OmpClauseSet allowedClauses_OMPD_target_simd {
- llvm::omp::Clause::OMPC_aligned,
- llvm::omp::Clause::OMPC_allocate,
- llvm::omp::Clause::OMPC_depend,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_is_device_ptr,
- llvm::omp::Clause::OMPC_lastprivate,
- llvm::omp::Clause::OMPC_linear,
- llvm::omp::Clause::OMPC_map,
- llvm::omp::Clause::OMPC_nontemporal,
- llvm::omp::Clause::OMPC_nowait,
- llvm::omp::Clause::OMPC_order,
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_shared,
- llvm::omp::Clause::OMPC_uses_allocators,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_target_simd {
- llvm::omp::Clause::OMPC_collapse,
- llvm::omp::Clause::OMPC_safelen,
- llvm::omp::Clause::OMPC_simdlen,
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_num_threads,
- llvm::omp::Clause::OMPC_proc_bind,
- llvm::omp::Clause::OMPC_device,
- llvm::omp::Clause::OMPC_defaultmap,
- llvm::omp::Clause::OMPC_schedule,
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_target_simd {
- };
-
- static OmpClauseSet requiredClauses_OMPD_target_simd {
- };
-
- // Sets for target teams
-
- static OmpClauseSet allowedClauses_OMPD_target_teams {
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_map,
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_depend,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_is_device_ptr,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_allocate,
- llvm::omp::Clause::OMPC_uses_allocators,
- llvm::omp::Clause::OMPC_shared,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_target_teams {
- llvm::omp::Clause::OMPC_device,
- llvm::omp::Clause::OMPC_nowait,
- llvm::omp::Clause::OMPC_defaultmap,
- llvm::omp::Clause::OMPC_default,
- llvm::omp::Clause::OMPC_num_teams,
- llvm::omp::Clause::OMPC_thread_limit,
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_target_teams {
- };
-
- static OmpClauseSet requiredClauses_OMPD_target_teams {
- };
-
- // Sets for target teams distribute
-
- static OmpClauseSet allowedClauses_OMPD_target_teams_distribute {
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_map,
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_depend,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_is_device_ptr,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_allocate,
- llvm::omp::Clause::OMPC_uses_allocators,
- llvm::omp::Clause::OMPC_shared,
- llvm::omp::Clause::OMPC_lastprivate,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_target_teams_distribute {
- llvm::omp::Clause::OMPC_device,
- llvm::omp::Clause::OMPC_nowait,
- llvm::omp::Clause::OMPC_defaultmap,
- llvm::omp::Clause::OMPC_default,
- llvm::omp::Clause::OMPC_num_teams,
- llvm::omp::Clause::OMPC_thread_limit,
- llvm::omp::Clause::OMPC_collapse,
- llvm::omp::Clause::OMPC_dist_schedule,
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_target_teams_distribute {
- };
-
- static OmpClauseSet requiredClauses_OMPD_target_teams_distribute {
- };
-
- // Sets for target teams distribute parallel do
-
- static OmpClauseSet allowedClauses_OMPD_target_teams_distribute_parallel_do {
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_map,
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_depend,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_is_device_ptr,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_allocate,
- llvm::omp::Clause::OMPC_uses_allocators,
- llvm::omp::Clause::OMPC_shared,
- llvm::omp::Clause::OMPC_lastprivate,
- llvm::omp::Clause::OMPC_copyin,
- llvm::omp::Clause::OMPC_linear,
- llvm::omp::Clause::OMPC_ordered,
- llvm::omp::Clause::OMPC_order,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_target_teams_distribute_parallel_do {
- llvm::omp::Clause::OMPC_device,
- llvm::omp::Clause::OMPC_defaultmap,
- llvm::omp::Clause::OMPC_nowait,
- llvm::omp::Clause::OMPC_default,
- llvm::omp::Clause::OMPC_num_teams,
- llvm::omp::Clause::OMPC_thread_limit,
- llvm::omp::Clause::OMPC_collapse,
- llvm::omp::Clause::OMPC_dist_schedule,
- llvm::omp::Clause::OMPC_num_threads,
- llvm::omp::Clause::OMPC_proc_bind,
- llvm::omp::Clause::OMPC_schedule,
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_target_teams_distribute_parallel_do {
- };
-
- static OmpClauseSet requiredClauses_OMPD_target_teams_distribute_parallel_do {
- };
-
- // Sets for target teams distribute parallel do simd
-
- static OmpClauseSet allowedClauses_OMPD_target_teams_distribute_parallel_do_simd {
- llvm::omp::Clause::OMPC_map,
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_depend,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_is_device_ptr,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_allocate,
- llvm::omp::Clause::OMPC_uses_allocators,
- llvm::omp::Clause::OMPC_shared,
- llvm::omp::Clause::OMPC_lastprivate,
- llvm::omp::Clause::OMPC_copyin,
- llvm::omp::Clause::OMPC_linear,
- llvm::omp::Clause::OMPC_ordered,
- llvm::omp::Clause::OMPC_order,
- llvm::omp::Clause::OMPC_aligned,
- llvm::omp::Clause::OMPC_nontemporal,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_target_teams_distribute_parallel_do_simd {
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_device,
- llvm::omp::Clause::OMPC_nowait,
- llvm::omp::Clause::OMPC_defaultmap,
- llvm::omp::Clause::OMPC_default,
- llvm::omp::Clause::OMPC_num_teams,
- llvm::omp::Clause::OMPC_thread_limit,
- llvm::omp::Clause::OMPC_collapse,
- llvm::omp::Clause::OMPC_dist_schedule,
- llvm::omp::Clause::OMPC_num_threads,
- llvm::omp::Clause::OMPC_proc_bind,
- llvm::omp::Clause::OMPC_schedule,
- llvm::omp::Clause::OMPC_safelen,
- llvm::omp::Clause::OMPC_simdlen,
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_target_teams_distribute_parallel_do_simd {
- };
-
- static OmpClauseSet requiredClauses_OMPD_target_teams_distribute_parallel_do_simd {
- };
-
- // Sets for target teams distribute parallel for
-
- static OmpClauseSet allowedClauses_OMPD_target_teams_distribute_parallel_for {
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_device,
- llvm::omp::Clause::OMPC_map,
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_nowait,
- llvm::omp::Clause::OMPC_depend,
- llvm::omp::Clause::OMPC_defaultmap,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_is_device_ptr,
- llvm::omp::Clause::OMPC_default,
- llvm::omp::Clause::OMPC_shared,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_num_teams,
- llvm::omp::Clause::OMPC_thread_limit,
- llvm::omp::Clause::OMPC_lastprivate,
- llvm::omp::Clause::OMPC_collapse,
- llvm::omp::Clause::OMPC_dist_schedule,
- llvm::omp::Clause::OMPC_num_threads,
- llvm::omp::Clause::OMPC_proc_bind,
- llvm::omp::Clause::OMPC_schedule,
- llvm::omp::Clause::OMPC_allocate,
- llvm::omp::Clause::OMPC_order,
- llvm::omp::Clause::OMPC_uses_allocators,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_target_teams_distribute_parallel_for {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_target_teams_distribute_parallel_for {
- };
-
- static OmpClauseSet requiredClauses_OMPD_target_teams_distribute_parallel_for {
- };
-
- // Sets for target teams distribute parallel for simd
-
- static OmpClauseSet allowedClauses_OMPD_target_teams_distribute_parallel_for_simd {
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_device,
- llvm::omp::Clause::OMPC_map,
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_nowait,
- llvm::omp::Clause::OMPC_depend,
- llvm::omp::Clause::OMPC_defaultmap,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_is_device_ptr,
- llvm::omp::Clause::OMPC_default,
- llvm::omp::Clause::OMPC_shared,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_num_teams,
- llvm::omp::Clause::OMPC_thread_limit,
- llvm::omp::Clause::OMPC_lastprivate,
- llvm::omp::Clause::OMPC_collapse,
- llvm::omp::Clause::OMPC_dist_schedule,
- llvm::omp::Clause::OMPC_num_threads,
- llvm::omp::Clause::OMPC_proc_bind,
- llvm::omp::Clause::OMPC_schedule,
- llvm::omp::Clause::OMPC_linear,
- llvm::omp::Clause::OMPC_aligned,
- llvm::omp::Clause::OMPC_safelen,
- llvm::omp::Clause::OMPC_simdlen,
- llvm::omp::Clause::OMPC_allocate,
- llvm::omp::Clause::OMPC_nontemporal,
- llvm::omp::Clause::OMPC_order,
- llvm::omp::Clause::OMPC_uses_allocators,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_target_teams_distribute_parallel_for_simd {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_target_teams_distribute_parallel_for_simd {
- };
-
- static OmpClauseSet requiredClauses_OMPD_target_teams_distribute_parallel_for_simd {
- };
-
- // Sets for target teams distribute simd
-
- static OmpClauseSet allowedClauses_OMPD_target_teams_distribute_simd {
- llvm::omp::Clause::OMPC_aligned,
- llvm::omp::Clause::OMPC_allocate,
- llvm::omp::Clause::OMPC_depend,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_is_device_ptr,
- llvm::omp::Clause::OMPC_lastprivate,
- llvm::omp::Clause::OMPC_linear,
- llvm::omp::Clause::OMPC_map,
- llvm::omp::Clause::OMPC_nontemporal,
- llvm::omp::Clause::OMPC_order,
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_shared,
- llvm::omp::Clause::OMPC_uses_allocators,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_target_teams_distribute_simd {
- llvm::omp::Clause::OMPC_device,
- llvm::omp::Clause::OMPC_defaultmap,
- llvm::omp::Clause::OMPC_nowait,
- llvm::omp::Clause::OMPC_num_teams,
- llvm::omp::Clause::OMPC_thread_limit,
- llvm::omp::Clause::OMPC_collapse,
- llvm::omp::Clause::OMPC_dist_schedule,
- llvm::omp::Clause::OMPC_safelen,
- llvm::omp::Clause::OMPC_simdlen,
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_target_teams_distribute_simd {
- };
-
- static OmpClauseSet requiredClauses_OMPD_target_teams_distribute_simd {
- };
-
- // Sets for target update
-
- static OmpClauseSet allowedClauses_OMPD_target_update {
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_device,
- llvm::omp::Clause::OMPC_to,
- llvm::omp::Clause::OMPC_from,
- llvm::omp::Clause::OMPC_nowait,
- llvm::omp::Clause::OMPC_depend,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_target_update {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_target_update {
- };
-
- static OmpClauseSet requiredClauses_OMPD_target_update {
- };
-
- // Sets for task
-
- static OmpClauseSet allowedClauses_OMPD_task {
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_shared,
- llvm::omp::Clause::OMPC_untied,
- llvm::omp::Clause::OMPC_mergeable,
- llvm::omp::Clause::OMPC_depend,
- llvm::omp::Clause::OMPC_in_reduction,
- llvm::omp::Clause::OMPC_allocate,
- llvm::omp::Clause::OMPC_detach,
- llvm::omp::Clause::OMPC_affinity,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_task {
- llvm::omp::Clause::OMPC_default,
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_final,
- llvm::omp::Clause::OMPC_priority,
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_task {
- };
-
- static OmpClauseSet requiredClauses_OMPD_task {
- };
-
- // Sets for taskgroup
-
- static OmpClauseSet allowedClauses_OMPD_taskgroup {
- llvm::omp::Clause::OMPC_task_reduction,
- llvm::omp::Clause::OMPC_allocate,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_taskgroup {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_taskgroup {
- };
-
- static OmpClauseSet requiredClauses_OMPD_taskgroup {
- };
-
- // Sets for taskloop
-
- static OmpClauseSet allowedClauses_OMPD_taskloop {
- llvm::omp::Clause::OMPC_shared,
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_lastprivate,
- llvm::omp::Clause::OMPC_untied,
- llvm::omp::Clause::OMPC_mergeable,
- llvm::omp::Clause::OMPC_nogroup,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_in_reduction,
- llvm::omp::Clause::OMPC_allocate,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_taskloop {
- llvm::omp::Clause::OMPC_default,
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_collapse,
- llvm::omp::Clause::OMPC_final,
- llvm::omp::Clause::OMPC_priority,
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_taskloop {
- llvm::omp::Clause::OMPC_grainsize,
- llvm::omp::Clause::OMPC_num_tasks,
- };
-
- static OmpClauseSet requiredClauses_OMPD_taskloop {
- };
-
- // Sets for taskloop simd
-
- static OmpClauseSet allowedClauses_OMPD_taskloop_simd {
- llvm::omp::Clause::OMPC_aligned,
- llvm::omp::Clause::OMPC_allocate,
- llvm::omp::Clause::OMPC_default,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_in_reduction,
- llvm::omp::Clause::OMPC_lastprivate,
- llvm::omp::Clause::OMPC_linear,
- llvm::omp::Clause::OMPC_mergeable,
- llvm::omp::Clause::OMPC_nogroup,
- llvm::omp::Clause::OMPC_nontemporal,
- llvm::omp::Clause::OMPC_order,
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_shared,
- llvm::omp::Clause::OMPC_untied,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_taskloop_simd {
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_collapse,
- llvm::omp::Clause::OMPC_safelen,
- llvm::omp::Clause::OMPC_simdlen,
- llvm::omp::Clause::OMPC_final,
- llvm::omp::Clause::OMPC_priority,
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_taskloop_simd {
- llvm::omp::Clause::OMPC_grainsize,
- llvm::omp::Clause::OMPC_num_tasks,
- };
-
- static OmpClauseSet requiredClauses_OMPD_taskloop_simd {
- };
-
- // Sets for taskwait
-
- static OmpClauseSet allowedClauses_OMPD_taskwait {
- llvm::omp::Clause::OMPC_depend,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_taskwait {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_taskwait {
- };
-
- static OmpClauseSet requiredClauses_OMPD_taskwait {
- };
-
- // Sets for taskyield
-
- static OmpClauseSet allowedClauses_OMPD_taskyield {
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_taskyield {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_taskyield {
- };
-
- static OmpClauseSet requiredClauses_OMPD_taskyield {
- };
-
- // Sets for teams
-
- static OmpClauseSet allowedClauses_OMPD_teams {
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_shared,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_allocate,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_teams {
- llvm::omp::Clause::OMPC_default,
- llvm::omp::Clause::OMPC_num_teams,
- llvm::omp::Clause::OMPC_thread_limit,
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_teams {
- };
-
- static OmpClauseSet requiredClauses_OMPD_teams {
- };
-
- // Sets for teams distribute
-
- static OmpClauseSet allowedClauses_OMPD_teams_distribute {
- llvm::omp::Clause::OMPC_default,
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_shared,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_num_teams,
- llvm::omp::Clause::OMPC_thread_limit,
- llvm::omp::Clause::OMPC_lastprivate,
- llvm::omp::Clause::OMPC_collapse,
- llvm::omp::Clause::OMPC_dist_schedule,
- llvm::omp::Clause::OMPC_allocate,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_teams_distribute {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_teams_distribute {
- };
-
- static OmpClauseSet requiredClauses_OMPD_teams_distribute {
- };
-
- // Sets for teams distribute parallel do
-
- static OmpClauseSet allowedClauses_OMPD_teams_distribute_parallel_do {
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_lastprivate,
- llvm::omp::Clause::OMPC_shared,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_allocate,
- llvm::omp::Clause::OMPC_copyin,
- llvm::omp::Clause::OMPC_linear,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_teams_distribute_parallel_do {
- llvm::omp::Clause::OMPC_num_teams,
- llvm::omp::Clause::OMPC_thread_limit,
- llvm::omp::Clause::OMPC_default,
- llvm::omp::Clause::OMPC_collapse,
- llvm::omp::Clause::OMPC_dist_schedule,
- llvm::omp::Clause::OMPC_ordered,
- llvm::omp::Clause::OMPC_order,
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_num_threads,
- llvm::omp::Clause::OMPC_proc_bind,
- llvm::omp::Clause::OMPC_schedule,
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_teams_distribute_parallel_do {
- };
-
- static OmpClauseSet requiredClauses_OMPD_teams_distribute_parallel_do {
- };
-
- // Sets for teams distribute parallel do simd
-
- static OmpClauseSet allowedClauses_OMPD_teams_distribute_parallel_do_simd {
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_lastprivate,
- llvm::omp::Clause::OMPC_allocate,
- llvm::omp::Clause::OMPC_shared,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_linear,
- llvm::omp::Clause::OMPC_order,
- llvm::omp::Clause::OMPC_aligned,
- llvm::omp::Clause::OMPC_nontemporal,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_teams_distribute_parallel_do_simd {
- llvm::omp::Clause::OMPC_default,
- llvm::omp::Clause::OMPC_num_teams,
- llvm::omp::Clause::OMPC_thread_limit,
- llvm::omp::Clause::OMPC_collapse,
- llvm::omp::Clause::OMPC_dist_schedule,
- llvm::omp::Clause::OMPC_num_threads,
- llvm::omp::Clause::OMPC_proc_bind,
- llvm::omp::Clause::OMPC_schedule,
- llvm::omp::Clause::OMPC_safelen,
- llvm::omp::Clause::OMPC_simdlen,
- llvm::omp::Clause::OMPC_if,
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_teams_distribute_parallel_do_simd {
- };
-
- static OmpClauseSet requiredClauses_OMPD_teams_distribute_parallel_do_simd {
- };
-
- // Sets for teams distribute parallel for
-
- static OmpClauseSet allowedClauses_OMPD_teams_distribute_parallel_for {
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_lastprivate,
- llvm::omp::Clause::OMPC_collapse,
- llvm::omp::Clause::OMPC_dist_schedule,
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_num_threads,
- llvm::omp::Clause::OMPC_default,
- llvm::omp::Clause::OMPC_proc_bind,
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_shared,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_schedule,
- llvm::omp::Clause::OMPC_num_teams,
- llvm::omp::Clause::OMPC_thread_limit,
- llvm::omp::Clause::OMPC_copyin,
- llvm::omp::Clause::OMPC_allocate,
- llvm::omp::Clause::OMPC_order,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_teams_distribute_parallel_for {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_teams_distribute_parallel_for {
- };
-
- static OmpClauseSet requiredClauses_OMPD_teams_distribute_parallel_for {
- };
-
- // Sets for teams distribute parallel for simd
-
- static OmpClauseSet allowedClauses_OMPD_teams_distribute_parallel_for_simd {
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_lastprivate,
- llvm::omp::Clause::OMPC_collapse,
- llvm::omp::Clause::OMPC_dist_schedule,
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_num_threads,
- llvm::omp::Clause::OMPC_default,
- llvm::omp::Clause::OMPC_proc_bind,
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_shared,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_schedule,
- llvm::omp::Clause::OMPC_linear,
- llvm::omp::Clause::OMPC_aligned,
- llvm::omp::Clause::OMPC_safelen,
- llvm::omp::Clause::OMPC_simdlen,
- llvm::omp::Clause::OMPC_num_teams,
- llvm::omp::Clause::OMPC_thread_limit,
- llvm::omp::Clause::OMPC_allocate,
- llvm::omp::Clause::OMPC_nontemporal,
- llvm::omp::Clause::OMPC_order,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_teams_distribute_parallel_for_simd {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_teams_distribute_parallel_for_simd {
- };
-
- static OmpClauseSet requiredClauses_OMPD_teams_distribute_parallel_for_simd {
- };
-
- // Sets for teams distribute simd
-
- static OmpClauseSet allowedClauses_OMPD_teams_distribute_simd {
- llvm::omp::Clause::OMPC_aligned,
- llvm::omp::Clause::OMPC_allocate,
- llvm::omp::Clause::OMPC_firstprivate,
- llvm::omp::Clause::OMPC_lastprivate,
- llvm::omp::Clause::OMPC_linear,
- llvm::omp::Clause::OMPC_nontemporal,
- llvm::omp::Clause::OMPC_order,
- llvm::omp::Clause::OMPC_private,
- llvm::omp::Clause::OMPC_reduction,
- llvm::omp::Clause::OMPC_shared,
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_teams_distribute_simd {
- llvm::omp::Clause::OMPC_collapse,
- llvm::omp::Clause::OMPC_default,
- llvm::omp::Clause::OMPC_dist_schedule,
- llvm::omp::Clause::OMPC_if,
- llvm::omp::Clause::OMPC_num_teams,
- llvm::omp::Clause::OMPC_safelen,
- llvm::omp::Clause::OMPC_simdlen,
- llvm::omp::Clause::OMPC_thread_limit,
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_teams_distribute_simd {
- };
-
- static OmpClauseSet requiredClauses_OMPD_teams_distribute_simd {
- };
-
- // Sets for threadprivate
-
- static OmpClauseSet allowedClauses_OMPD_threadprivate {
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_threadprivate {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_threadprivate {
- };
-
- static OmpClauseSet requiredClauses_OMPD_threadprivate {
- };
-
- // Sets for unknown
-
- static OmpClauseSet allowedClauses_OMPD_unknown {
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_unknown {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_unknown {
- };
-
- static OmpClauseSet requiredClauses_OMPD_unknown {
- };
-
- // Sets for workshare
-
- static OmpClauseSet allowedClauses_OMPD_workshare {
- };
-
- static OmpClauseSet allowedOnceClauses_OMPD_workshare {
- };
-
- static OmpClauseSet allowedExclusiveClauses_OMPD_workshare {
- };
-
- static OmpClauseSet requiredClauses_OMPD_workshare {
- };
-} // namespace omp
-} // namespace llvm
-
-#endif // GEN_FLANG_DIRECTIVE_CLAUSE_SETS
-
-#ifdef GEN_FLANG_DIRECTIVE_CLAUSE_MAP
-#undef GEN_FLANG_DIRECTIVE_CLAUSE_MAP
-
-{
- {llvm::omp::Directive::OMPD_allocate,
- {
- llvm::omp::allowedClauses_OMPD_allocate,
- llvm::omp::allowedOnceClauses_OMPD_allocate,
- llvm::omp::allowedExclusiveClauses_OMPD_allocate,
- llvm::omp::requiredClauses_OMPD_allocate,
- }
- },
- {llvm::omp::Directive::OMPD_assumes,
- {
- llvm::omp::allowedClauses_OMPD_assumes,
- llvm::omp::allowedOnceClauses_OMPD_assumes,
- llvm::omp::allowedExclusiveClauses_OMPD_assumes,
- llvm::omp::requiredClauses_OMPD_assumes,
- }
- },
- {llvm::omp::Directive::OMPD_atomic,
- {
- llvm::omp::allowedClauses_OMPD_atomic,
- llvm::omp::allowedOnceClauses_OMPD_atomic,
- llvm::omp::allowedExclusiveClauses_OMPD_atomic,
- llvm::omp::requiredClauses_OMPD_atomic,
- }
- },
- {llvm::omp::Directive::OMPD_barrier,
- {
- llvm::omp::allowedClauses_OMPD_barrier,
- llvm::omp::allowedOnceClauses_OMPD_barrier,
- llvm::omp::allowedExclusiveClauses_OMPD_barrier,
- llvm::omp::requiredClauses_OMPD_barrier,
- }
- },
- {llvm::omp::Directive::OMPD_begin_assumes,
- {
- llvm::omp::allowedClauses_OMPD_begin_assumes,
- llvm::omp::allowedOnceClauses_OMPD_begin_assumes,
- llvm::omp::allowedExclusiveClauses_OMPD_begin_assumes,
- llvm::omp::requiredClauses_OMPD_begin_assumes,
- }
- },
- {llvm::omp::Directive::OMPD_begin_declare_variant,
- {
- llvm::omp::allowedClauses_OMPD_begin_declare_variant,
- llvm::omp::allowedOnceClauses_OMPD_begin_declare_variant,
- llvm::omp::allowedExclusiveClauses_OMPD_begin_declare_variant,
- llvm::omp::requiredClauses_OMPD_begin_declare_variant,
- }
- },
- {llvm::omp::Directive::OMPD_cancel,
- {
- llvm::omp::allowedClauses_OMPD_cancel,
- llvm::omp::allowedOnceClauses_OMPD_cancel,
- llvm::omp::allowedExclusiveClauses_OMPD_cancel,
- llvm::omp::requiredClauses_OMPD_cancel,
- }
- },
- {llvm::omp::Directive::OMPD_cancellation_point,
- {
- llvm::omp::allowedClauses_OMPD_cancellation_point,
- llvm::omp::allowedOnceClauses_OMPD_cancellation_point,
- llvm::omp::allowedExclusiveClauses_OMPD_cancellation_point,
- llvm::omp::requiredClauses_OMPD_cancellation_point,
- }
- },
- {llvm::omp::Directive::OMPD_critical,
- {
- llvm::omp::allowedClauses_OMPD_critical,
- llvm::omp::allowedOnceClauses_OMPD_critical,
- llvm::omp::allowedExclusiveClauses_OMPD_critical,
- llvm::omp::requiredClauses_OMPD_critical,
- }
- },
- {llvm::omp::Directive::OMPD_declare_mapper,
- {
- llvm::omp::allowedClauses_OMPD_declare_mapper,
- llvm::omp::allowedOnceClauses_OMPD_declare_mapper,
- llvm::omp::allowedExclusiveClauses_OMPD_declare_mapper,
- llvm::omp::requiredClauses_OMPD_declare_mapper,
- }
- },
- {llvm::omp::Directive::OMPD_declare_reduction,
- {
- llvm::omp::allowedClauses_OMPD_declare_reduction,
- llvm::omp::allowedOnceClauses_OMPD_declare_reduction,
- llvm::omp::allowedExclusiveClauses_OMPD_declare_reduction,
- llvm::omp::requiredClauses_OMPD_declare_reduction,
- }
- },
- {llvm::omp::Directive::OMPD_declare_simd,
- {
- llvm::omp::allowedClauses_OMPD_declare_simd,
- llvm::omp::allowedOnceClauses_OMPD_declare_simd,
- llvm::omp::allowedExclusiveClauses_OMPD_declare_simd,
- llvm::omp::requiredClauses_OMPD_declare_simd,
- }
- },
- {llvm::omp::Directive::OMPD_declare_target,
- {
- llvm::omp::allowedClauses_OMPD_declare_target,
- llvm::omp::allowedOnceClauses_OMPD_declare_target,
- llvm::omp::allowedExclusiveClauses_OMPD_declare_target,
- llvm::omp::requiredClauses_OMPD_declare_target,
- }
- },
- {llvm::omp::Directive::OMPD_declare_variant,
- {
- llvm::omp::allowedClauses_OMPD_declare_variant,
- llvm::omp::allowedOnceClauses_OMPD_declare_variant,
- llvm::omp::allowedExclusiveClauses_OMPD_declare_variant,
- llvm::omp::requiredClauses_OMPD_declare_variant,
- }
- },
- {llvm::omp::Directive::OMPD_depobj,
- {
- llvm::omp::allowedClauses_OMPD_depobj,
- llvm::omp::allowedOnceClauses_OMPD_depobj,
- llvm::omp::allowedExclusiveClauses_OMPD_depobj,
- llvm::omp::requiredClauses_OMPD_depobj,
- }
- },
- {llvm::omp::Directive::OMPD_distribute,
- {
- llvm::omp::allowedClauses_OMPD_distribute,
- llvm::omp::allowedOnceClauses_OMPD_distribute,
- llvm::omp::allowedExclusiveClauses_OMPD_distribute,
- llvm::omp::requiredClauses_OMPD_distribute,
- }
- },
- {llvm::omp::Directive::OMPD_distribute_parallel_do,
- {
- llvm::omp::allowedClauses_OMPD_distribute_parallel_do,
- llvm::omp::allowedOnceClauses_OMPD_distribute_parallel_do,
- llvm::omp::allowedExclusiveClauses_OMPD_distribute_parallel_do,
- llvm::omp::requiredClauses_OMPD_distribute_parallel_do,
- }
- },
- {llvm::omp::Directive::OMPD_distribute_parallel_do_simd,
- {
- llvm::omp::allowedClauses_OMPD_distribute_parallel_do_simd,
- llvm::omp::allowedOnceClauses_OMPD_distribute_parallel_do_simd,
- llvm::omp::allowedExclusiveClauses_OMPD_distribute_parallel_do_simd,
- llvm::omp::requiredClauses_OMPD_distribute_parallel_do_simd,
- }
- },
- {llvm::omp::Directive::OMPD_distribute_parallel_for,
- {
- llvm::omp::allowedClauses_OMPD_distribute_parallel_for,
- llvm::omp::allowedOnceClauses_OMPD_distribute_parallel_for,
- llvm::omp::allowedExclusiveClauses_OMPD_distribute_parallel_for,
- llvm::omp::requiredClauses_OMPD_distribute_parallel_for,
- }
- },
- {llvm::omp::Directive::OMPD_distribute_parallel_for_simd,
- {
- llvm::omp::allowedClauses_OMPD_distribute_parallel_for_simd,
- llvm::omp::allowedOnceClauses_OMPD_distribute_parallel_for_simd,
- llvm::omp::allowedExclusiveClauses_OMPD_distribute_parallel_for_simd,
- llvm::omp::requiredClauses_OMPD_distribute_parallel_for_simd,
- }
- },
- {llvm::omp::Directive::OMPD_distribute_simd,
- {
- llvm::omp::allowedClauses_OMPD_distribute_simd,
- llvm::omp::allowedOnceClauses_OMPD_distribute_simd,
- llvm::omp::allowedExclusiveClauses_OMPD_distribute_simd,
- llvm::omp::requiredClauses_OMPD_distribute_simd,
- }
- },
- {llvm::omp::Directive::OMPD_do,
- {
- llvm::omp::allowedClauses_OMPD_do,
- llvm::omp::allowedOnceClauses_OMPD_do,
- llvm::omp::allowedExclusiveClauses_OMPD_do,
- llvm::omp::requiredClauses_OMPD_do,
- }
- },
- {llvm::omp::Directive::OMPD_do_simd,
- {
- llvm::omp::allowedClauses_OMPD_do_simd,
- llvm::omp::allowedOnceClauses_OMPD_do_simd,
- llvm::omp::allowedExclusiveClauses_OMPD_do_simd,
- llvm::omp::requiredClauses_OMPD_do_simd,
- }
- },
- {llvm::omp::Directive::OMPD_end_assumes,
- {
- llvm::omp::allowedClauses_OMPD_end_assumes,
- llvm::omp::allowedOnceClauses_OMPD_end_assumes,
- llvm::omp::allowedExclusiveClauses_OMPD_end_assumes,
- llvm::omp::requiredClauses_OMPD_end_assumes,
- }
- },
- {llvm::omp::Directive::OMPD_end_declare_target,
- {
- llvm::omp::allowedClauses_OMPD_end_declare_target,
- llvm::omp::allowedOnceClauses_OMPD_end_declare_target,
- llvm::omp::allowedExclusiveClauses_OMPD_end_declare_target,
- llvm::omp::requiredClauses_OMPD_end_declare_target,
- }
- },
- {llvm::omp::Directive::OMPD_end_declare_variant,
- {
- llvm::omp::allowedClauses_OMPD_end_declare_variant,
- llvm::omp::allowedOnceClauses_OMPD_end_declare_variant,
- llvm::omp::allowedExclusiveClauses_OMPD_end_declare_variant,
- llvm::omp::requiredClauses_OMPD_end_declare_variant,
- }
- },
- {llvm::omp::Directive::OMPD_end_do,
- {
- llvm::omp::allowedClauses_OMPD_end_do,
- llvm::omp::allowedOnceClauses_OMPD_end_do,
- llvm::omp::allowedExclusiveClauses_OMPD_end_do,
- llvm::omp::requiredClauses_OMPD_end_do,
- }
- },
- {llvm::omp::Directive::OMPD_end_do_simd,
- {
- llvm::omp::allowedClauses_OMPD_end_do_simd,
- llvm::omp::allowedOnceClauses_OMPD_end_do_simd,
- llvm::omp::allowedExclusiveClauses_OMPD_end_do_simd,
- llvm::omp::requiredClauses_OMPD_end_do_simd,
- }
- },
- {llvm::omp::Directive::OMPD_end_sections,
- {
- llvm::omp::allowedClauses_OMPD_end_sections,
- llvm::omp::allowedOnceClauses_OMPD_end_sections,
- llvm::omp::allowedExclusiveClauses_OMPD_end_sections,
- llvm::omp::requiredClauses_OMPD_end_sections,
- }
- },
- {llvm::omp::Directive::OMPD_end_single,
- {
- llvm::omp::allowedClauses_OMPD_end_single,
- llvm::omp::allowedOnceClauses_OMPD_end_single,
- llvm::omp::allowedExclusiveClauses_OMPD_end_single,
- llvm::omp::requiredClauses_OMPD_end_single,
- }
- },
- {llvm::omp::Directive::OMPD_end_workshare,
- {
- llvm::omp::allowedClauses_OMPD_end_workshare,
- llvm::omp::allowedOnceClauses_OMPD_end_workshare,
- llvm::omp::allowedExclusiveClauses_OMPD_end_workshare,
- llvm::omp::requiredClauses_OMPD_end_workshare,
- }
- },
- {llvm::omp::Directive::OMPD_flush,
- {
- llvm::omp::allowedClauses_OMPD_flush,
- llvm::omp::allowedOnceClauses_OMPD_flush,
- llvm::omp::allowedExclusiveClauses_OMPD_flush,
- llvm::omp::requiredClauses_OMPD_flush,
- }
- },
- {llvm::omp::Directive::OMPD_for,
- {
- llvm::omp::allowedClauses_OMPD_for,
- llvm::omp::allowedOnceClauses_OMPD_for,
- llvm::omp::allowedExclusiveClauses_OMPD_for,
- llvm::omp::requiredClauses_OMPD_for,
- }
- },
- {llvm::omp::Directive::OMPD_for_simd,
- {
- llvm::omp::allowedClauses_OMPD_for_simd,
- llvm::omp::allowedOnceClauses_OMPD_for_simd,
- llvm::omp::allowedExclusiveClauses_OMPD_for_simd,
- llvm::omp::requiredClauses_OMPD_for_simd,
- }
- },
- {llvm::omp::Directive::OMPD_master,
- {
- llvm::omp::allowedClauses_OMPD_master,
- llvm::omp::allowedOnceClauses_OMPD_master,
- llvm::omp::allowedExclusiveClauses_OMPD_master,
- llvm::omp::requiredClauses_OMPD_master,
- }
- },
- {llvm::omp::Directive::OMPD_master_taskloop,
- {
- llvm::omp::allowedClauses_OMPD_master_taskloop,
- llvm::omp::allowedOnceClauses_OMPD_master_taskloop,
- llvm::omp::allowedExclusiveClauses_OMPD_master_taskloop,
- llvm::omp::requiredClauses_OMPD_master_taskloop,
- }
- },
- {llvm::omp::Directive::OMPD_master_taskloop_simd,
- {
- llvm::omp::allowedClauses_OMPD_master_taskloop_simd,
- llvm::omp::allowedOnceClauses_OMPD_master_taskloop_simd,
- llvm::omp::allowedExclusiveClauses_OMPD_master_taskloop_simd,
- llvm::omp::requiredClauses_OMPD_master_taskloop_simd,
- }
- },
- {llvm::omp::Directive::OMPD_ordered,
- {
- llvm::omp::allowedClauses_OMPD_ordered,
- llvm::omp::allowedOnceClauses_OMPD_ordered,
- llvm::omp::allowedExclusiveClauses_OMPD_ordered,
- llvm::omp::requiredClauses_OMPD_ordered,
- }
- },
- {llvm::omp::Directive::OMPD_parallel,
- {
- llvm::omp::allowedClauses_OMPD_parallel,
- llvm::omp::allowedOnceClauses_OMPD_parallel,
- llvm::omp::allowedExclusiveClauses_OMPD_parallel,
- llvm::omp::requiredClauses_OMPD_parallel,
- }
- },
- {llvm::omp::Directive::OMPD_parallel_do,
- {
- llvm::omp::allowedClauses_OMPD_parallel_do,
- llvm::omp::allowedOnceClauses_OMPD_parallel_do,
- llvm::omp::allowedExclusiveClauses_OMPD_parallel_do,
- llvm::omp::requiredClauses_OMPD_parallel_do,
- }
- },
- {llvm::omp::Directive::OMPD_parallel_do_simd,
- {
- llvm::omp::allowedClauses_OMPD_parallel_do_simd,
- llvm::omp::allowedOnceClauses_OMPD_parallel_do_simd,
- llvm::omp::allowedExclusiveClauses_OMPD_parallel_do_simd,
- llvm::omp::requiredClauses_OMPD_parallel_do_simd,
- }
- },
- {llvm::omp::Directive::OMPD_parallel_for,
- {
- llvm::omp::allowedClauses_OMPD_parallel_for,
- llvm::omp::allowedOnceClauses_OMPD_parallel_for,
- llvm::omp::allowedExclusiveClauses_OMPD_parallel_for,
- llvm::omp::requiredClauses_OMPD_parallel_for,
- }
- },
- {llvm::omp::Directive::OMPD_parallel_for_simd,
- {
- llvm::omp::allowedClauses_OMPD_parallel_for_simd,
- llvm::omp::allowedOnceClauses_OMPD_parallel_for_simd,
- llvm::omp::allowedExclusiveClauses_OMPD_parallel_for_simd,
- llvm::omp::requiredClauses_OMPD_parallel_for_simd,
- }
- },
- {llvm::omp::Directive::OMPD_parallel_master,
- {
- llvm::omp::allowedClauses_OMPD_parallel_master,
- llvm::omp::allowedOnceClauses_OMPD_parallel_master,
- llvm::omp::allowedExclusiveClauses_OMPD_parallel_master,
- llvm::omp::requiredClauses_OMPD_parallel_master,
- }
- },
- {llvm::omp::Directive::OMPD_parallel_master_taskloop,
- {
- llvm::omp::allowedClauses_OMPD_parallel_master_taskloop,
- llvm::omp::allowedOnceClauses_OMPD_parallel_master_taskloop,
- llvm::omp::allowedExclusiveClauses_OMPD_parallel_master_taskloop,
- llvm::omp::requiredClauses_OMPD_parallel_master_taskloop,
- }
- },
- {llvm::omp::Directive::OMPD_parallel_master_taskloop_simd,
- {
- llvm::omp::allowedClauses_OMPD_parallel_master_taskloop_simd,
- llvm::omp::allowedOnceClauses_OMPD_parallel_master_taskloop_simd,
- llvm::omp::allowedExclusiveClauses_OMPD_parallel_master_taskloop_simd,
- llvm::omp::requiredClauses_OMPD_parallel_master_taskloop_simd,
- }
- },
- {llvm::omp::Directive::OMPD_parallel_sections,
- {
- llvm::omp::allowedClauses_OMPD_parallel_sections,
- llvm::omp::allowedOnceClauses_OMPD_parallel_sections,
- llvm::omp::allowedExclusiveClauses_OMPD_parallel_sections,
- llvm::omp::requiredClauses_OMPD_parallel_sections,
- }
- },
- {llvm::omp::Directive::OMPD_parallel_workshare,
- {
- llvm::omp::allowedClauses_OMPD_parallel_workshare,
- llvm::omp::allowedOnceClauses_OMPD_parallel_workshare,
- llvm::omp::allowedExclusiveClauses_OMPD_parallel_workshare,
- llvm::omp::requiredClauses_OMPD_parallel_workshare,
- }
- },
- {llvm::omp::Directive::OMPD_requires,
- {
- llvm::omp::allowedClauses_OMPD_requires,
- llvm::omp::allowedOnceClauses_OMPD_requires,
- llvm::omp::allowedExclusiveClauses_OMPD_requires,
- llvm::omp::requiredClauses_OMPD_requires,
- }
- },
- {llvm::omp::Directive::OMPD_scan,
- {
- llvm::omp::allowedClauses_OMPD_scan,
- llvm::omp::allowedOnceClauses_OMPD_scan,
- llvm::omp::allowedExclusiveClauses_OMPD_scan,
- llvm::omp::requiredClauses_OMPD_scan,
- }
- },
- {llvm::omp::Directive::OMPD_section,
- {
- llvm::omp::allowedClauses_OMPD_section,
- llvm::omp::allowedOnceClauses_OMPD_section,
- llvm::omp::allowedExclusiveClauses_OMPD_section,
- llvm::omp::requiredClauses_OMPD_section,
- }
- },
- {llvm::omp::Directive::OMPD_sections,
- {
- llvm::omp::allowedClauses_OMPD_sections,
- llvm::omp::allowedOnceClauses_OMPD_sections,
- llvm::omp::allowedExclusiveClauses_OMPD_sections,
- llvm::omp::requiredClauses_OMPD_sections,
- }
- },
- {llvm::omp::Directive::OMPD_simd,
- {
- llvm::omp::allowedClauses_OMPD_simd,
- llvm::omp::allowedOnceClauses_OMPD_simd,
- llvm::omp::allowedExclusiveClauses_OMPD_simd,
- llvm::omp::requiredClauses_OMPD_simd,
- }
- },
- {llvm::omp::Directive::OMPD_single,
- {
- llvm::omp::allowedClauses_OMPD_single,
- llvm::omp::allowedOnceClauses_OMPD_single,
- llvm::omp::allowedExclusiveClauses_OMPD_single,
- llvm::omp::requiredClauses_OMPD_single,
- }
- },
- {llvm::omp::Directive::OMPD_target,
- {
- llvm::omp::allowedClauses_OMPD_target,
- llvm::omp::allowedOnceClauses_OMPD_target,
- llvm::omp::allowedExclusiveClauses_OMPD_target,
- llvm::omp::requiredClauses_OMPD_target,
- }
- },
- {llvm::omp::Directive::OMPD_target_data,
- {
- llvm::omp::allowedClauses_OMPD_target_data,
- llvm::omp::allowedOnceClauses_OMPD_target_data,
- llvm::omp::allowedExclusiveClauses_OMPD_target_data,
- llvm::omp::requiredClauses_OMPD_target_data,
- }
- },
- {llvm::omp::Directive::OMPD_target_enter_data,
- {
- llvm::omp::allowedClauses_OMPD_target_enter_data,
- llvm::omp::allowedOnceClauses_OMPD_target_enter_data,
- llvm::omp::allowedExclusiveClauses_OMPD_target_enter_data,
- llvm::omp::requiredClauses_OMPD_target_enter_data,
- }
- },
- {llvm::omp::Directive::OMPD_target_exit_data,
- {
- llvm::omp::allowedClauses_OMPD_target_exit_data,
- llvm::omp::allowedOnceClauses_OMPD_target_exit_data,
- llvm::omp::allowedExclusiveClauses_OMPD_target_exit_data,
- llvm::omp::requiredClauses_OMPD_target_exit_data,
- }
- },
- {llvm::omp::Directive::OMPD_target_parallel,
- {
- llvm::omp::allowedClauses_OMPD_target_parallel,
- llvm::omp::allowedOnceClauses_OMPD_target_parallel,
- llvm::omp::allowedExclusiveClauses_OMPD_target_parallel,
- llvm::omp::requiredClauses_OMPD_target_parallel,
- }
- },
- {llvm::omp::Directive::OMPD_target_parallel_do,
- {
- llvm::omp::allowedClauses_OMPD_target_parallel_do,
- llvm::omp::allowedOnceClauses_OMPD_target_parallel_do,
- llvm::omp::allowedExclusiveClauses_OMPD_target_parallel_do,
- llvm::omp::requiredClauses_OMPD_target_parallel_do,
- }
- },
- {llvm::omp::Directive::OMPD_target_parallel_do_simd,
- {
- llvm::omp::allowedClauses_OMPD_target_parallel_do_simd,
- llvm::omp::allowedOnceClauses_OMPD_target_parallel_do_simd,
- llvm::omp::allowedExclusiveClauses_OMPD_target_parallel_do_simd,
- llvm::omp::requiredClauses_OMPD_target_parallel_do_simd,
- }
- },
- {llvm::omp::Directive::OMPD_target_parallel_for,
- {
- llvm::omp::allowedClauses_OMPD_target_parallel_for,
- llvm::omp::allowedOnceClauses_OMPD_target_parallel_for,
- llvm::omp::allowedExclusiveClauses_OMPD_target_parallel_for,
- llvm::omp::requiredClauses_OMPD_target_parallel_for,
- }
- },
- {llvm::omp::Directive::OMPD_target_parallel_for_simd,
- {
- llvm::omp::allowedClauses_OMPD_target_parallel_for_simd,
- llvm::omp::allowedOnceClauses_OMPD_target_parallel_for_simd,
- llvm::omp::allowedExclusiveClauses_OMPD_target_parallel_for_simd,
- llvm::omp::requiredClauses_OMPD_target_parallel_for_simd,
- }
- },
- {llvm::omp::Directive::OMPD_target_simd,
- {
- llvm::omp::allowedClauses_OMPD_target_simd,
- llvm::omp::allowedOnceClauses_OMPD_target_simd,
- llvm::omp::allowedExclusiveClauses_OMPD_target_simd,
- llvm::omp::requiredClauses_OMPD_target_simd,
- }
- },
- {llvm::omp::Directive::OMPD_target_teams,
- {
- llvm::omp::allowedClauses_OMPD_target_teams,
- llvm::omp::allowedOnceClauses_OMPD_target_teams,
- llvm::omp::allowedExclusiveClauses_OMPD_target_teams,
- llvm::omp::requiredClauses_OMPD_target_teams,
- }
- },
- {llvm::omp::Directive::OMPD_target_teams_distribute,
- {
- llvm::omp::allowedClauses_OMPD_target_teams_distribute,
- llvm::omp::allowedOnceClauses_OMPD_target_teams_distribute,
- llvm::omp::allowedExclusiveClauses_OMPD_target_teams_distribute,
- llvm::omp::requiredClauses_OMPD_target_teams_distribute,
- }
- },
- {llvm::omp::Directive::OMPD_target_teams_distribute_parallel_do,
- {
- llvm::omp::allowedClauses_OMPD_target_teams_distribute_parallel_do,
- llvm::omp::allowedOnceClauses_OMPD_target_teams_distribute_parallel_do,
- llvm::omp::allowedExclusiveClauses_OMPD_target_teams_distribute_parallel_do,
- llvm::omp::requiredClauses_OMPD_target_teams_distribute_parallel_do,
- }
- },
- {llvm::omp::Directive::OMPD_target_teams_distribute_parallel_do_simd,
- {
- llvm::omp::allowedClauses_OMPD_target_teams_distribute_parallel_do_simd,
- llvm::omp::allowedOnceClauses_OMPD_target_teams_distribute_parallel_do_simd,
- llvm::omp::allowedExclusiveClauses_OMPD_target_teams_distribute_parallel_do_simd,
- llvm::omp::requiredClauses_OMPD_target_teams_distribute_parallel_do_simd,
- }
- },
- {llvm::omp::Directive::OMPD_target_teams_distribute_parallel_for,
- {
- llvm::omp::allowedClauses_OMPD_target_teams_distribute_parallel_for,
- llvm::omp::allowedOnceClauses_OMPD_target_teams_distribute_parallel_for,
- llvm::omp::allowedExclusiveClauses_OMPD_target_teams_distribute_parallel_for,
- llvm::omp::requiredClauses_OMPD_target_teams_distribute_parallel_for,
- }
- },
- {llvm::omp::Directive::OMPD_target_teams_distribute_parallel_for_simd,
- {
- llvm::omp::allowedClauses_OMPD_target_teams_distribute_parallel_for_simd,
- llvm::omp::allowedOnceClauses_OMPD_target_teams_distribute_parallel_for_simd,
- llvm::omp::allowedExclusiveClauses_OMPD_target_teams_distribute_parallel_for_simd,
- llvm::omp::requiredClauses_OMPD_target_teams_distribute_parallel_for_simd,
- }
- },
- {llvm::omp::Directive::OMPD_target_teams_distribute_simd,
- {
- llvm::omp::allowedClauses_OMPD_target_teams_distribute_simd,
- llvm::omp::allowedOnceClauses_OMPD_target_teams_distribute_simd,
- llvm::omp::allowedExclusiveClauses_OMPD_target_teams_distribute_simd,
- llvm::omp::requiredClauses_OMPD_target_teams_distribute_simd,
- }
- },
- {llvm::omp::Directive::OMPD_target_update,
- {
- llvm::omp::allowedClauses_OMPD_target_update,
- llvm::omp::allowedOnceClauses_OMPD_target_update,
- llvm::omp::allowedExclusiveClauses_OMPD_target_update,
- llvm::omp::requiredClauses_OMPD_target_update,
- }
- },
- {llvm::omp::Directive::OMPD_task,
- {
- llvm::omp::allowedClauses_OMPD_task,
- llvm::omp::allowedOnceClauses_OMPD_task,
- llvm::omp::allowedExclusiveClauses_OMPD_task,
- llvm::omp::requiredClauses_OMPD_task,
- }
- },
- {llvm::omp::Directive::OMPD_taskgroup,
- {
- llvm::omp::allowedClauses_OMPD_taskgroup,
- llvm::omp::allowedOnceClauses_OMPD_taskgroup,
- llvm::omp::allowedExclusiveClauses_OMPD_taskgroup,
- llvm::omp::requiredClauses_OMPD_taskgroup,
- }
- },
- {llvm::omp::Directive::OMPD_taskloop,
- {
- llvm::omp::allowedClauses_OMPD_taskloop,
- llvm::omp::allowedOnceClauses_OMPD_taskloop,
- llvm::omp::allowedExclusiveClauses_OMPD_taskloop,
- llvm::omp::requiredClauses_OMPD_taskloop,
- }
- },
- {llvm::omp::Directive::OMPD_taskloop_simd,
- {
- llvm::omp::allowedClauses_OMPD_taskloop_simd,
- llvm::omp::allowedOnceClauses_OMPD_taskloop_simd,
- llvm::omp::allowedExclusiveClauses_OMPD_taskloop_simd,
- llvm::omp::requiredClauses_OMPD_taskloop_simd,
- }
- },
- {llvm::omp::Directive::OMPD_taskwait,
- {
- llvm::omp::allowedClauses_OMPD_taskwait,
- llvm::omp::allowedOnceClauses_OMPD_taskwait,
- llvm::omp::allowedExclusiveClauses_OMPD_taskwait,
- llvm::omp::requiredClauses_OMPD_taskwait,
- }
- },
- {llvm::omp::Directive::OMPD_taskyield,
- {
- llvm::omp::allowedClauses_OMPD_taskyield,
- llvm::omp::allowedOnceClauses_OMPD_taskyield,
- llvm::omp::allowedExclusiveClauses_OMPD_taskyield,
- llvm::omp::requiredClauses_OMPD_taskyield,
- }
- },
- {llvm::omp::Directive::OMPD_teams,
- {
- llvm::omp::allowedClauses_OMPD_teams,
- llvm::omp::allowedOnceClauses_OMPD_teams,
- llvm::omp::allowedExclusiveClauses_OMPD_teams,
- llvm::omp::requiredClauses_OMPD_teams,
- }
- },
- {llvm::omp::Directive::OMPD_teams_distribute,
- {
- llvm::omp::allowedClauses_OMPD_teams_distribute,
- llvm::omp::allowedOnceClauses_OMPD_teams_distribute,
- llvm::omp::allowedExclusiveClauses_OMPD_teams_distribute,
- llvm::omp::requiredClauses_OMPD_teams_distribute,
- }
- },
- {llvm::omp::Directive::OMPD_teams_distribute_parallel_do,
- {
- llvm::omp::allowedClauses_OMPD_teams_distribute_parallel_do,
- llvm::omp::allowedOnceClauses_OMPD_teams_distribute_parallel_do,
- llvm::omp::allowedExclusiveClauses_OMPD_teams_distribute_parallel_do,
- llvm::omp::requiredClauses_OMPD_teams_distribute_parallel_do,
- }
- },
- {llvm::omp::Directive::OMPD_teams_distribute_parallel_do_simd,
- {
- llvm::omp::allowedClauses_OMPD_teams_distribute_parallel_do_simd,
- llvm::omp::allowedOnceClauses_OMPD_teams_distribute_parallel_do_simd,
- llvm::omp::allowedExclusiveClauses_OMPD_teams_distribute_parallel_do_simd,
- llvm::omp::requiredClauses_OMPD_teams_distribute_parallel_do_simd,
- }
- },
- {llvm::omp::Directive::OMPD_teams_distribute_parallel_for,
- {
- llvm::omp::allowedClauses_OMPD_teams_distribute_parallel_for,
- llvm::omp::allowedOnceClauses_OMPD_teams_distribute_parallel_for,
- llvm::omp::allowedExclusiveClauses_OMPD_teams_distribute_parallel_for,
- llvm::omp::requiredClauses_OMPD_teams_distribute_parallel_for,
- }
- },
- {llvm::omp::Directive::OMPD_teams_distribute_parallel_for_simd,
- {
- llvm::omp::allowedClauses_OMPD_teams_distribute_parallel_for_simd,
- llvm::omp::allowedOnceClauses_OMPD_teams_distribute_parallel_for_simd,
- llvm::omp::allowedExclusiveClauses_OMPD_teams_distribute_parallel_for_simd,
- llvm::omp::requiredClauses_OMPD_teams_distribute_parallel_for_simd,
- }
- },
- {llvm::omp::Directive::OMPD_teams_distribute_simd,
- {
- llvm::omp::allowedClauses_OMPD_teams_distribute_simd,
- llvm::omp::allowedOnceClauses_OMPD_teams_distribute_simd,
- llvm::omp::allowedExclusiveClauses_OMPD_teams_distribute_simd,
- llvm::omp::requiredClauses_OMPD_teams_distribute_simd,
- }
- },
- {llvm::omp::Directive::OMPD_threadprivate,
- {
- llvm::omp::allowedClauses_OMPD_threadprivate,
- llvm::omp::allowedOnceClauses_OMPD_threadprivate,
- llvm::omp::allowedExclusiveClauses_OMPD_threadprivate,
- llvm::omp::requiredClauses_OMPD_threadprivate,
- }
- },
- {llvm::omp::Directive::OMPD_unknown,
- {
- llvm::omp::allowedClauses_OMPD_unknown,
- llvm::omp::allowedOnceClauses_OMPD_unknown,
- llvm::omp::allowedExclusiveClauses_OMPD_unknown,
- llvm::omp::requiredClauses_OMPD_unknown,
- }
- },
- {llvm::omp::Directive::OMPD_workshare,
- {
- llvm::omp::allowedClauses_OMPD_workshare,
- llvm::omp::allowedOnceClauses_OMPD_workshare,
- llvm::omp::allowedExclusiveClauses_OMPD_workshare,
- llvm::omp::requiredClauses_OMPD_workshare,
- }
- },
-}
-
-#endif // GEN_FLANG_DIRECTIVE_CLAUSE_MAP
-
-#ifdef GEN_FLANG_CLAUSE_PARSER_CLASSES
-#undef GEN_FLANG_CLAUSE_PARSER_CLASSES
-
-EMPTY_CLASS(AcqRel);
-EMPTY_CLASS(Acquire);
-EMPTY_CLASS(Affinity);
-WRAPPER_CLASS(Aligned, OmpAlignedClause);
-WRAPPER_CLASS(Allocate, OmpAllocateClause);
-WRAPPER_CLASS(Allocator, ScalarIntExpr);
-EMPTY_CLASS(AtomicDefaultMemOrder);
-EMPTY_CLASS(Capture);
-WRAPPER_CLASS(Collapse, ScalarIntConstantExpr);
-WRAPPER_CLASS(Copyprivate, OmpObjectList);
-WRAPPER_CLASS(Copyin, OmpObjectList);
-WRAPPER_CLASS(Default, OmpDefaultClause);
-WRAPPER_CLASS(Defaultmap, OmpDefaultmapClause);
-WRAPPER_CLASS(Depend, OmpDependClause);
-EMPTY_CLASS(Depobj);
-EMPTY_CLASS(Destroy);
-EMPTY_CLASS(Detach);
-WRAPPER_CLASS(Device, ScalarIntExpr);
-EMPTY_CLASS(DeviceType);
-WRAPPER_CLASS(DistSchedule, std::optional<ScalarIntExpr>);
-EMPTY_CLASS(DynamicAllocators);
-EMPTY_CLASS(Exclusive);
-WRAPPER_CLASS(Final, ScalarLogicalExpr);
-WRAPPER_CLASS(Firstprivate, OmpObjectList);
-EMPTY_CLASS(Flush);
-WRAPPER_CLASS(From, OmpObjectList);
-WRAPPER_CLASS(Grainsize, ScalarIntExpr);
-WRAPPER_CLASS(Hint, ConstantExpr);
-WRAPPER_CLASS(If, OmpIfClause);
-EMPTY_CLASS(InReduction);
-EMPTY_CLASS(Inbranch);
-EMPTY_CLASS(Inclusive);
-WRAPPER_CLASS(IsDevicePtr, std::list<Name>);
-WRAPPER_CLASS(Lastprivate, OmpObjectList);
-WRAPPER_CLASS(Linear, OmpLinearClause);
-WRAPPER_CLASS(Link, OmpObjectList);
-WRAPPER_CLASS(Map, OmpMapClause);
-EMPTY_CLASS(Match);
-EMPTY_CLASS(Mergeable);
-EMPTY_CLASS(Nogroup);
-EMPTY_CLASS(Nowait);
-EMPTY_CLASS(Nontemporal);
-EMPTY_CLASS(Notinbranch);
-WRAPPER_CLASS(NumTasks, ScalarIntExpr);
-WRAPPER_CLASS(NumTeams, ScalarIntExpr);
-WRAPPER_CLASS(NumThreads, ScalarIntExpr);
-EMPTY_CLASS(Order);
-WRAPPER_CLASS(Ordered, std::optional<ScalarIntConstantExpr>);
-WRAPPER_CLASS(Priority, ScalarIntExpr);
-WRAPPER_CLASS(Private, OmpObjectList);
-WRAPPER_CLASS(ProcBind, OmpProcBindClause);
-EMPTY_CLASS(Read);
-WRAPPER_CLASS(Reduction, OmpReductionClause);
-EMPTY_CLASS(Relaxed);
-EMPTY_CLASS(Release);
-EMPTY_CLASS(ReverseOffload);
-WRAPPER_CLASS(Safelen, ScalarIntConstantExpr);
-WRAPPER_CLASS(Schedule, OmpScheduleClause);
-EMPTY_CLASS(SeqCst);
-WRAPPER_CLASS(Shared, OmpObjectList);
-EMPTY_CLASS(Simd);
-WRAPPER_CLASS(Simdlen, ScalarIntConstantExpr);
-WRAPPER_CLASS(TaskReduction, OmpReductionClause);
-WRAPPER_CLASS(ThreadLimit, ScalarIntExpr);
-EMPTY_CLASS(Threadprivate);
-EMPTY_CLASS(Threads);
-WRAPPER_CLASS(To, OmpObjectList);
-EMPTY_CLASS(UnifiedAddress);
-EMPTY_CLASS(UnifiedSharedMemory);
-WRAPPER_CLASS(Uniform, std::list<Name>);
-EMPTY_CLASS(Unknown);
-EMPTY_CLASS(Untied);
-EMPTY_CLASS(Update);
-EMPTY_CLASS(UseDeviceAddr);
-WRAPPER_CLASS(UseDevicePtr, std::list<Name>);
-EMPTY_CLASS(UsesAllocators);
-EMPTY_CLASS(Write);
-
-#endif // GEN_FLANG_CLAUSE_PARSER_CLASSES
-
-#ifdef GEN_FLANG_CLAUSE_PARSER_CLASSES_LIST
-#undef GEN_FLANG_CLAUSE_PARSER_CLASSES_LIST
-
-AcqRel
-, Acquire
-, Affinity
-, Aligned
-, Allocate
-, Allocator
-, AtomicDefaultMemOrder
-, Capture
-, Collapse
-, Copyprivate
-, Copyin
-, Default
-, Defaultmap
-, Depend
-, Depobj
-, Destroy
-, Detach
-, Device
-, DeviceType
-, DistSchedule
-, DynamicAllocators
-, Exclusive
-, Final
-, Firstprivate
-, Flush
-, From
-, Grainsize
-, Hint
-, If
-, InReduction
-, Inbranch
-, Inclusive
-, IsDevicePtr
-, Lastprivate
-, Linear
-, Link
-, Map
-, Match
-, Mergeable
-, Nogroup
-, Nowait
-, Nontemporal
-, Notinbranch
-, NumTasks
-, NumTeams
-, NumThreads
-, Order
-, Ordered
-, Priority
-, Private
-, ProcBind
-, Read
-, Reduction
-, Relaxed
-, Release
-, ReverseOffload
-, Safelen
-, Schedule
-, SeqCst
-, Shared
-, Simd
-, Simdlen
-, TaskReduction
-, ThreadLimit
-, Threadprivate
-, Threads
-, To
-, UnifiedAddress
-, UnifiedSharedMemory
-, Uniform
-, Unknown
-, Untied
-, Update
-, UseDeviceAddr
-, UseDevicePtr
-, UsesAllocators
-, Write
-
-#endif // GEN_FLANG_CLAUSE_PARSER_CLASSES_LIST
-
-#ifdef GEN_FLANG_DUMP_PARSE_TREE_CLAUSES
-#undef GEN_FLANG_DUMP_PARSE_TREE_CLAUSES
-
-NODE(OmpClause, AcqRel)
-NODE(OmpClause, Acquire)
-NODE(OmpClause, Affinity)
-NODE(OmpClause, Aligned)
-NODE(OmpClause, Allocate)
-NODE(OmpClause, Allocator)
-NODE(OmpClause, AtomicDefaultMemOrder)
-NODE(OmpClause, Capture)
-NODE(OmpClause, Collapse)
-NODE(OmpClause, Copyprivate)
-NODE(OmpClause, Copyin)
-NODE(OmpClause, Default)
-NODE(OmpClause, Defaultmap)
-NODE(OmpClause, Depend)
-NODE(OmpClause, Depobj)
-NODE(OmpClause, Destroy)
-NODE(OmpClause, Detach)
-NODE(OmpClause, Device)
-NODE(OmpClause, DeviceType)
-NODE(OmpClause, DistSchedule)
-NODE(OmpClause, DynamicAllocators)
-NODE(OmpClause, Exclusive)
-NODE(OmpClause, Final)
-NODE(OmpClause, Firstprivate)
-NODE(OmpClause, Flush)
-NODE(OmpClause, From)
-NODE(OmpClause, Grainsize)
-NODE(OmpClause, Hint)
-NODE(OmpClause, If)
-NODE(OmpClause, InReduction)
-NODE(OmpClause, Inbranch)
-NODE(OmpClause, Inclusive)
-NODE(OmpClause, IsDevicePtr)
-NODE(OmpClause, Lastprivate)
-NODE(OmpClause, Linear)
-NODE(OmpClause, Link)
-NODE(OmpClause, Map)
-NODE(OmpClause, Match)
-NODE(OmpClause, Mergeable)
-NODE(OmpClause, Nogroup)
-NODE(OmpClause, Nowait)
-NODE(OmpClause, Nontemporal)
-NODE(OmpClause, Notinbranch)
-NODE(OmpClause, NumTasks)
-NODE(OmpClause, NumTeams)
-NODE(OmpClause, NumThreads)
-NODE(OmpClause, Order)
-NODE(OmpClause, Ordered)
-NODE(OmpClause, Priority)
-NODE(OmpClause, Private)
-NODE(OmpClause, ProcBind)
-NODE(OmpClause, Read)
-NODE(OmpClause, Reduction)
-NODE(OmpClause, Relaxed)
-NODE(OmpClause, Release)
-NODE(OmpClause, ReverseOffload)
-NODE(OmpClause, Safelen)
-NODE(OmpClause, Schedule)
-NODE(OmpClause, SeqCst)
-NODE(OmpClause, Shared)
-NODE(OmpClause, Simd)
-NODE(OmpClause, Simdlen)
-NODE(OmpClause, TaskReduction)
-NODE(OmpClause, ThreadLimit)
-NODE(OmpClause, Threadprivate)
-NODE(OmpClause, Threads)
-NODE(OmpClause, To)
-NODE(OmpClause, UnifiedAddress)
-NODE(OmpClause, UnifiedSharedMemory)
-NODE(OmpClause, Uniform)
-NODE(OmpClause, Unknown)
-NODE(OmpClause, Untied)
-NODE(OmpClause, Update)
-NODE(OmpClause, UseDeviceAddr)
-NODE(OmpClause, UseDevicePtr)
-NODE(OmpClause, UsesAllocators)
-NODE(OmpClause, Write)
-
-#endif // GEN_FLANG_DUMP_PARSE_TREE_CLAUSES
-
-#ifdef GEN_FLANG_CLAUSE_UNPARSE
-#undef GEN_FLANG_CLAUSE_UNPARSE
-
-void Before(const OmpClause::AcqRel &) { Word("ACQ_REL"); }
-void Before(const OmpClause::Acquire &) { Word("ACQUIRE"); }
-void Before(const OmpClause::Affinity &) { Word("AFFINITY"); }
-void Unparse(const OmpClause::Aligned &x) {
- Word("ALIGNED");
- Put("(");
- Walk(x.v);
- Put(")");
-}
-void Unparse(const OmpClause::Allocate &x) {
- Word("ALLOCATE");
- Put("(");
- Walk(x.v);
- Put(")");
-}
-void Unparse(const OmpClause::Allocator &x) {
- Word("ALLOCATOR");
- Put("(");
- Walk(x.v);
- Put(")");
-}
-void Before(const OmpClause::AtomicDefaultMemOrder &) { Word("ATOMIC_DEFAULT_MEM_ORDER"); }
-void Before(const OmpClause::Capture &) { Word("CAPTURE"); }
-void Unparse(const OmpClause::Collapse &x) {
- Word("COLLAPSE");
- Put("(");
- Walk(x.v);
- Put(")");
-}
-void Unparse(const OmpClause::Copyprivate &x) {
- Word("COPYPRIVATE");
- Put("(");
- Walk(x.v);
- Put(")");
-}
-void Unparse(const OmpClause::Copyin &x) {
- Word("COPYIN");
- Put("(");
- Walk(x.v);
- Put(")");
-}
-void Unparse(const OmpClause::Default &x) {
- Word("DEFAULT");
- Put("(");
- Walk(x.v);
- Put(")");
-}
-void Unparse(const OmpClause::Defaultmap &x) {
- Word("DEFAULTMAP");
- Put("(");
- Walk(x.v);
- Put(")");
-}
-void Unparse(const OmpClause::Depend &x) {
- Word("DEPEND");
- Put("(");
- Walk(x.v);
- Put(")");
-}
-void Before(const OmpClause::Depobj &) { Word("DEPOBJ"); }
-void Before(const OmpClause::Destroy &) { Word("DESTROY"); }
-void Before(const OmpClause::Detach &) { Word("DETACH"); }
-void Unparse(const OmpClause::Device &x) {
- Word("DEVICE");
- Put("(");
- Walk(x.v);
- Put(")");
-}
-void Before(const OmpClause::DeviceType &) { Word("DEVICE_TYPE"); }
-void Unparse(const OmpClause::DistSchedule &x) {
- Word("DIST_SCHEDULE");
- Walk("(", x.v, ")");
-}
-void Before(const OmpClause::DynamicAllocators &) { Word("DYNAMIC_ALLOCATORS"); }
-void Before(const OmpClause::Exclusive &) { Word("EXCLUSIVE"); }
-void Unparse(const OmpClause::Final &x) {
- Word("FINAL");
- Put("(");
- Walk(x.v);
- Put(")");
-}
-void Unparse(const OmpClause::Firstprivate &x) {
- Word("FIRSTPRIVATE");
- Put("(");
- Walk(x.v);
- Put(")");
-}
-void Before(const OmpClause::Flush &) { Word("FLUSH"); }
-void Unparse(const OmpClause::From &x) {
- Word("FROM");
- Put("(");
- Walk(x.v);
- Put(")");
-}
-void Unparse(const OmpClause::Grainsize &x) {
- Word("GRAINSIZE");
- Put("(");
- Walk(x.v);
- Put(")");
-}
-void Unparse(const OmpClause::Hint &x) {
- Word("HINT");
- Put("(");
- Walk(x.v);
- Put(")");
-}
-void Unparse(const OmpClause::If &x) {
- Word("IF");
- Put("(");
- Walk(x.v);
- Put(")");
-}
-void Before(const OmpClause::InReduction &) { Word("IN_REDUCTION"); }
-void Before(const OmpClause::Inbranch &) { Word("INBRANCH"); }
-void Before(const OmpClause::Inclusive &) { Word("INCLUSIVE"); }
-void Unparse(const OmpClause::IsDevicePtr &x) {
- Word("IS_DEVICE_PTR");
- Put("(");
- Walk(x.v, ",");
- Put(")");
-}
-void Unparse(const OmpClause::Lastprivate &x) {
- Word("LASTPRIVATE");
- Put("(");
- Walk(x.v);
- Put(")");
-}
-void Unparse(const OmpClause::Linear &x) {
- Word("LINEAR");
- Put("(");
- Walk(x.v);
- Put(")");
-}
-void Unparse(const OmpClause::Link &x) {
- Word("LINK");
- Put("(");
- Walk(x.v);
- Put(")");
-}
-void Unparse(const OmpClause::Map &x) {
- Word("MAP");
- Put("(");
- Walk(x.v);
- Put(")");
-}
-void Before(const OmpClause::Match &) { Word("MATCH"); }
-void Before(const OmpClause::Mergeable &) { Word("MERGEABLE"); }
-void Before(const OmpClause::Nogroup &) { Word("NOGROUP"); }
-void Before(const OmpClause::Nowait &) { Word("NOWAIT"); }
-void Before(const OmpClause::Nontemporal &) { Word("NONTEMPORAL"); }
-void Before(const OmpClause::Notinbranch &) { Word("NOTINBRANCH"); }
-void Unparse(const OmpClause::NumTasks &x) {
- Word("NUM_TASKS");
- Put("(");
- Walk(x.v);
- Put(")");
-}
-void Unparse(const OmpClause::NumTeams &x) {
- Word("NUM_TEAMS");
- Put("(");
- Walk(x.v);
- Put(")");
-}
-void Unparse(const OmpClause::NumThreads &x) {
- Word("NUM_THREADS");
- Put("(");
- Walk(x.v);
- Put(")");
-}
-void Before(const OmpClause::Order &) { Word("ORDER"); }
-void Unparse(const OmpClause::Ordered &x) {
- Word("ORDERED");
- Walk("(", x.v, ")");
-}
-void Unparse(const OmpClause::Priority &x) {
- Word("PRIORITY");
- Put("(");
- Walk(x.v);
- Put(")");
-}
-void Unparse(const OmpClause::Private &x) {
- Word("PRIVATE");
- Put("(");
- Walk(x.v);
- Put(")");
-}
-void Unparse(const OmpClause::ProcBind &x) {
- Word("PROC_BIND");
- Put("(");
- Walk(x.v);
- Put(")");
-}
-void Before(const OmpClause::Read &) { Word("READ"); }
-void Unparse(const OmpClause::Reduction &x) {
- Word("REDUCTION");
- Put("(");
- Walk(x.v);
- Put(")");
-}
-void Before(const OmpClause::Relaxed &) { Word("RELAXED"); }
-void Before(const OmpClause::Release &) { Word("RELEASE"); }
-void Before(const OmpClause::ReverseOffload &) { Word("REVERSE_OFFLOAD"); }
-void Unparse(const OmpClause::Safelen &x) {
- Word("SAFELEN");
- Put("(");
- Walk(x.v);
- Put(")");
-}
-void Unparse(const OmpClause::Schedule &x) {
- Word("SCHEDULE");
- Put("(");
- Walk(x.v);
- Put(")");
-}
-void Before(const OmpClause::SeqCst &) { Word("SEQ_CST"); }
-void Unparse(const OmpClause::Shared &x) {
- Word("SHARED");
- Put("(");
- Walk(x.v);
- Put(")");
-}
-void Before(const OmpClause::Simd &) { Word("SIMD"); }
-void Unparse(const OmpClause::Simdlen &x) {
- Word("SIMDLEN");
- Put("(");
- Walk(x.v);
- Put(")");
-}
-void Unparse(const OmpClause::TaskReduction &x) {
- Word("TASK_REDUCTION");
- Put("(");
- Walk(x.v);
- Put(")");
-}
-void Unparse(const OmpClause::ThreadLimit &x) {
- Word("THREAD_LIMIT");
- Put("(");
- Walk(x.v);
- Put(")");
-}
-void Before(const OmpClause::Threadprivate &) { Word("THREADPRIVATE"); }
-void Before(const OmpClause::Threads &) { Word("THREADS"); }
-void Unparse(const OmpClause::To &x) {
- Word("TO");
- Put("(");
- Walk(x.v);
- Put(")");
-}
-void Before(const OmpClause::UnifiedAddress &) { Word("UNIFIED_ADDRESS"); }
-void Before(const OmpClause::UnifiedSharedMemory &) { Word("UNIFIED_SHARED_MEMORY"); }
-void Unparse(const OmpClause::Uniform &x) {
- Word("UNIFORM");
- Put("(");
- Walk(x.v, ",");
- Put(")");
-}
-void Before(const OmpClause::Unknown &) { Word("UNKNOWN"); }
-void Before(const OmpClause::Untied &) { Word("UNTIED"); }
-void Before(const OmpClause::Update &) { Word("UPDATE"); }
-void Before(const OmpClause::UseDeviceAddr &) { Word("USE_DEVICE_ADDR"); }
-void Unparse(const OmpClause::UseDevicePtr &x) {
- Word("USE_DEVICE_PTR");
- Put("(");
- Walk(x.v, ",");
- Put(")");
-}
-void Before(const OmpClause::UsesAllocators &) { Word("USES_ALLOCATORS"); }
-void Before(const OmpClause::Write &) { Word("WRITE"); }
-
-#endif // GEN_FLANG_CLAUSE_UNPARSE
-
-#ifdef GEN_CLANG_CLAUSE_CLASS
-#undef GEN_CLANG_CLAUSE_CLASS
-
-#ifndef CLAUSE
-#define CLAUSE(Enum, Str, Implicit)
-#endif
-#ifndef CLAUSE_CLASS
-#define CLAUSE_CLASS(Enum, Str, Class)
-#endif
-#ifndef CLAUSE_NO_CLASS
-#define CLAUSE_NO_CLASS(Enum, Str)
-#endif
-
-#define __CLAUSE(Name, Class) \
- CLAUSE(OMPC_##Name, #Name, /* Implicit */ false) \
- CLAUSE_CLASS(OMPC_##Name, #Name, Class)
-#define __CLAUSE_NO_CLASS(Name) \
- CLAUSE(OMPC_##Name, #Name, /* Implicit */ false) \
- CLAUSE_NO_CLASS(OMPC_##Name, #Name)
-#define __IMPLICIT_CLAUSE_CLASS(Name, Str, Class) \
- CLAUSE(OMPC_##Name, Str, /* Implicit */ true) \
- CLAUSE_CLASS(OMPC_##Name, Str, Class)
-#define __IMPLICIT_CLAUSE_NO_CLASS(Name, Str) \
- CLAUSE(OMPC_##Name, Str, /* Implicit */ true) \
- CLAUSE_NO_CLASS(OMPC_##Name, Str)
-
-__CLAUSE(acq_rel, OMPAcqRelClause)
-__CLAUSE(acquire, OMPAcquireClause)
-__CLAUSE(affinity, OMPAffinityClause)
-__CLAUSE(aligned, OMPAlignedClause)
-__CLAUSE(allocate, OMPAllocateClause)
-__CLAUSE(allocator, OMPAllocatorClause)
-__CLAUSE(atomic_default_mem_order, OMPAtomicDefaultMemOrderClause)
-__CLAUSE(capture, OMPCaptureClause)
-__CLAUSE(collapse, OMPCollapseClause)
-__CLAUSE(copyprivate, OMPCopyprivateClause)
-__CLAUSE(copyin, OMPCopyinClause)
-__CLAUSE(default, OMPDefaultClause)
-__CLAUSE(defaultmap, OMPDefaultmapClause)
-__CLAUSE(depend, OMPDependClause)
-__IMPLICIT_CLAUSE_CLASS(depobj, "depobj", OMPDepobjClause)
-__CLAUSE(destroy, OMPDestroyClause)
-__CLAUSE(detach, OMPDetachClause)
-__CLAUSE(device, OMPDeviceClause)
-__CLAUSE_NO_CLASS(device_type)
-__CLAUSE(dist_schedule, OMPDistScheduleClause)
-__CLAUSE(dynamic_allocators, OMPDynamicAllocatorsClause)
-__CLAUSE(exclusive, OMPExclusiveClause)
-__CLAUSE(final, OMPFinalClause)
-__CLAUSE(firstprivate, OMPFirstprivateClause)
-__IMPLICIT_CLAUSE_CLASS(flush, "flush", OMPFlushClause)
-__CLAUSE(from, OMPFromClause)
-__CLAUSE(grainsize, OMPGrainsizeClause)
-__CLAUSE(hint, OMPHintClause)
-__CLAUSE(if, OMPIfClause)
-__CLAUSE(in_reduction, OMPInReductionClause)
-__CLAUSE_NO_CLASS(inbranch)
-__CLAUSE(inclusive, OMPInclusiveClause)
-__CLAUSE(is_device_ptr, OMPIsDevicePtrClause)
-__CLAUSE(lastprivate, OMPLastprivateClause)
-__CLAUSE(linear, OMPLinearClause)
-__CLAUSE_NO_CLASS(link)
-__CLAUSE(map, OMPMapClause)
-__CLAUSE_NO_CLASS(match)
-__CLAUSE(mergeable, OMPMergeableClause)
-__CLAUSE(nogroup, OMPNogroupClause)
-__CLAUSE(nowait, OMPNowaitClause)
-__CLAUSE(nontemporal, OMPNontemporalClause)
-__CLAUSE_NO_CLASS(notinbranch)
-__CLAUSE(num_tasks, OMPNumTasksClause)
-__CLAUSE(num_teams, OMPNumTeamsClause)
-__CLAUSE(num_threads, OMPNumThreadsClause)
-__CLAUSE(order, OMPOrderClause)
-__CLAUSE(ordered, OMPOrderedClause)
-__CLAUSE(priority, OMPPriorityClause)
-__CLAUSE(private, OMPPrivateClause)
-__CLAUSE(proc_bind, OMPProcBindClause)
-__CLAUSE(read, OMPReadClause)
-__CLAUSE(reduction, OMPReductionClause)
-__CLAUSE(relaxed, OMPRelaxedClause)
-__CLAUSE(release, OMPReleaseClause)
-__CLAUSE(reverse_offload, OMPReverseOffloadClause)
-__CLAUSE(safelen, OMPSafelenClause)
-__CLAUSE(schedule, OMPScheduleClause)
-__CLAUSE(seq_cst, OMPSeqCstClause)
-__CLAUSE(shared, OMPSharedClause)
-__CLAUSE(simd, OMPSIMDClause)
-__CLAUSE(simdlen, OMPSimdlenClause)
-__CLAUSE(task_reduction, OMPTaskReductionClause)
-__CLAUSE(thread_limit, OMPThreadLimitClause)
-__IMPLICIT_CLAUSE_NO_CLASS(threadprivate, "threadprivate")
-__CLAUSE(threads, OMPThreadsClause)
-__CLAUSE(to, OMPToClause)
-__CLAUSE(unified_address, OMPUnifiedAddressClause)
-__CLAUSE(unified_shared_memory, OMPUnifiedSharedMemoryClause)
-__CLAUSE_NO_CLASS(uniform)
-__IMPLICIT_CLAUSE_NO_CLASS(unknown, "unknown")
-__CLAUSE(untied, OMPUntiedClause)
-__CLAUSE(update, OMPUpdateClause)
-__CLAUSE(use_device_addr, OMPUseDeviceAddrClause)
-__CLAUSE(use_device_ptr, OMPUseDevicePtrClause)
-__CLAUSE(uses_allocators, OMPUsesAllocatorsClause)
-__CLAUSE(write, OMPWriteClause)
-
-#undef __IMPLICIT_CLAUSE_NO_CLASS
-#undef __IMPLICIT_CLAUSE_CLASS
-#undef __CLAUSE
-#undef CLAUSE_NO_CLASS
-#undef CLAUSE_CLASS
-#undef CLAUSE
-
-#endif // GEN_CLANG_CLAUSE_CLASS
-
+#ifdef GEN_FLANG_DIRECTIVE_CLAUSE_SETS
+#undef GEN_FLANG_DIRECTIVE_CLAUSE_SETS
+
+namespace llvm {
+namespace omp {
+
+ // Sets for allocate
+
+ static OmpClauseSet allowedClauses_OMPD_allocate {
+ llvm::omp::Clause::OMPC_allocator,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_allocate {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_allocate {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_allocate {
+ };
+
+ // Sets for assumes
+
+ static OmpClauseSet allowedClauses_OMPD_assumes {
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_assumes {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_assumes {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_assumes {
+ };
+
+ // Sets for atomic
+
+ static OmpClauseSet allowedClauses_OMPD_atomic {
+ llvm::omp::Clause::OMPC_read,
+ llvm::omp::Clause::OMPC_write,
+ llvm::omp::Clause::OMPC_update,
+ llvm::omp::Clause::OMPC_capture,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_atomic {
+ llvm::omp::Clause::OMPC_seq_cst,
+ llvm::omp::Clause::OMPC_acq_rel,
+ llvm::omp::Clause::OMPC_acquire,
+ llvm::omp::Clause::OMPC_release,
+ llvm::omp::Clause::OMPC_relaxed,
+ llvm::omp::Clause::OMPC_hint,
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_atomic {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_atomic {
+ };
+
+ // Sets for barrier
+
+ static OmpClauseSet allowedClauses_OMPD_barrier {
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_barrier {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_barrier {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_barrier {
+ };
+
+ // Sets for begin assumes
+
+ static OmpClauseSet allowedClauses_OMPD_begin_assumes {
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_begin_assumes {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_begin_assumes {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_begin_assumes {
+ };
+
+ // Sets for begin declare variant
+
+ static OmpClauseSet allowedClauses_OMPD_begin_declare_variant {
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_begin_declare_variant {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_begin_declare_variant {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_begin_declare_variant {
+ };
+
+ // Sets for cancel
+
+ static OmpClauseSet allowedClauses_OMPD_cancel {
+ llvm::omp::Clause::OMPC_if,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_cancel {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_cancel {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_cancel {
+ };
+
+ // Sets for cancellation point
+
+ static OmpClauseSet allowedClauses_OMPD_cancellation_point {
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_cancellation_point {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_cancellation_point {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_cancellation_point {
+ };
+
+ // Sets for critical
+
+ static OmpClauseSet allowedClauses_OMPD_critical {
+ llvm::omp::Clause::OMPC_hint,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_critical {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_critical {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_critical {
+ };
+
+ // Sets for declare mapper
+
+ static OmpClauseSet allowedClauses_OMPD_declare_mapper {
+ llvm::omp::Clause::OMPC_map,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_declare_mapper {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_declare_mapper {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_declare_mapper {
+ };
+
+ // Sets for declare reduction
+
+ static OmpClauseSet allowedClauses_OMPD_declare_reduction {
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_declare_reduction {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_declare_reduction {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_declare_reduction {
+ };
+
+ // Sets for declare simd
+
+ static OmpClauseSet allowedClauses_OMPD_declare_simd {
+ llvm::omp::Clause::OMPC_linear,
+ llvm::omp::Clause::OMPC_aligned,
+ llvm::omp::Clause::OMPC_uniform,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_declare_simd {
+ llvm::omp::Clause::OMPC_simdlen,
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_declare_simd {
+ llvm::omp::Clause::OMPC_inbranch,
+ llvm::omp::Clause::OMPC_notinbranch,
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_declare_simd {
+ };
+
+ // Sets for declare target
+
+ static OmpClauseSet allowedClauses_OMPD_declare_target {
+ llvm::omp::Clause::OMPC_to,
+ llvm::omp::Clause::OMPC_link,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_declare_target {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_declare_target {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_declare_target {
+ };
+
+ // Sets for declare variant
+
+ static OmpClauseSet allowedClauses_OMPD_declare_variant {
+ llvm::omp::Clause::OMPC_match,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_declare_variant {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_declare_variant {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_declare_variant {
+ };
+
+ // Sets for depobj
+
+ static OmpClauseSet allowedClauses_OMPD_depobj {
+ llvm::omp::Clause::OMPC_depend,
+ llvm::omp::Clause::OMPC_destroy,
+ llvm::omp::Clause::OMPC_update,
+ llvm::omp::Clause::OMPC_depobj,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_depobj {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_depobj {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_depobj {
+ };
+
+ // Sets for distribute
+
+ static OmpClauseSet allowedClauses_OMPD_distribute {
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_lastprivate,
+ llvm::omp::Clause::OMPC_allocate,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_distribute {
+ llvm::omp::Clause::OMPC_collapse,
+ llvm::omp::Clause::OMPC_dist_schedule,
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_distribute {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_distribute {
+ };
+
+ // Sets for distribute parallel do
+
+ static OmpClauseSet allowedClauses_OMPD_distribute_parallel_do {
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_lastprivate,
+ llvm::omp::Clause::OMPC_allocate,
+ llvm::omp::Clause::OMPC_order,
+ llvm::omp::Clause::OMPC_default,
+ llvm::omp::Clause::OMPC_shared,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_copyin,
+ llvm::omp::Clause::OMPC_linear,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_distribute_parallel_do {
+ llvm::omp::Clause::OMPC_collapse,
+ llvm::omp::Clause::OMPC_dist_schedule,
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_num_threads,
+ llvm::omp::Clause::OMPC_proc_bind,
+ llvm::omp::Clause::OMPC_schedule,
+ llvm::omp::Clause::OMPC_ordered,
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_distribute_parallel_do {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_distribute_parallel_do {
+ };
+
+ // Sets for distribute parallel do simd
+
+ static OmpClauseSet allowedClauses_OMPD_distribute_parallel_do_simd {
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_lastprivate,
+ llvm::omp::Clause::OMPC_collapse,
+ llvm::omp::Clause::OMPC_dist_schedule,
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_num_threads,
+ llvm::omp::Clause::OMPC_default,
+ llvm::omp::Clause::OMPC_proc_bind,
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_shared,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_copyin,
+ llvm::omp::Clause::OMPC_schedule,
+ llvm::omp::Clause::OMPC_linear,
+ llvm::omp::Clause::OMPC_aligned,
+ llvm::omp::Clause::OMPC_safelen,
+ llvm::omp::Clause::OMPC_simdlen,
+ llvm::omp::Clause::OMPC_allocate,
+ llvm::omp::Clause::OMPC_nontemporal,
+ llvm::omp::Clause::OMPC_order,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_distribute_parallel_do_simd {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_distribute_parallel_do_simd {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_distribute_parallel_do_simd {
+ };
+
+ // Sets for distribute parallel for
+
+ static OmpClauseSet allowedClauses_OMPD_distribute_parallel_for {
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_lastprivate,
+ llvm::omp::Clause::OMPC_collapse,
+ llvm::omp::Clause::OMPC_dist_schedule,
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_num_threads,
+ llvm::omp::Clause::OMPC_default,
+ llvm::omp::Clause::OMPC_proc_bind,
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_shared,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_copyin,
+ llvm::omp::Clause::OMPC_schedule,
+ llvm::omp::Clause::OMPC_allocate,
+ llvm::omp::Clause::OMPC_order,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_distribute_parallel_for {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_distribute_parallel_for {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_distribute_parallel_for {
+ };
+
+ // Sets for distribute parallel for simd
+
+ static OmpClauseSet allowedClauses_OMPD_distribute_parallel_for_simd {
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_lastprivate,
+ llvm::omp::Clause::OMPC_collapse,
+ llvm::omp::Clause::OMPC_dist_schedule,
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_num_threads,
+ llvm::omp::Clause::OMPC_default,
+ llvm::omp::Clause::OMPC_proc_bind,
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_shared,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_copyin,
+ llvm::omp::Clause::OMPC_schedule,
+ llvm::omp::Clause::OMPC_linear,
+ llvm::omp::Clause::OMPC_aligned,
+ llvm::omp::Clause::OMPC_safelen,
+ llvm::omp::Clause::OMPC_simdlen,
+ llvm::omp::Clause::OMPC_allocate,
+ llvm::omp::Clause::OMPC_nontemporal,
+ llvm::omp::Clause::OMPC_order,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_distribute_parallel_for_simd {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_distribute_parallel_for_simd {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_distribute_parallel_for_simd {
+ };
+
+ // Sets for distribute simd
+
+ static OmpClauseSet allowedClauses_OMPD_distribute_simd {
+ llvm::omp::Clause::OMPC_aligned,
+ llvm::omp::Clause::OMPC_allocate,
+ llvm::omp::Clause::OMPC_copyin,
+ llvm::omp::Clause::OMPC_default,
+ llvm::omp::Clause::OMPC_linear,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_lastprivate,
+ llvm::omp::Clause::OMPC_nontemporal,
+ llvm::omp::Clause::OMPC_order,
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_reduction,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_distribute_simd {
+ llvm::omp::Clause::OMPC_collapse,
+ llvm::omp::Clause::OMPC_dist_schedule,
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_num_threads,
+ llvm::omp::Clause::OMPC_ordered,
+ llvm::omp::Clause::OMPC_proc_bind,
+ llvm::omp::Clause::OMPC_schedule,
+ llvm::omp::Clause::OMPC_safelen,
+ llvm::omp::Clause::OMPC_simdlen,
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_distribute_simd {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_distribute_simd {
+ };
+
+ // Sets for do
+
+ static OmpClauseSet allowedClauses_OMPD_do {
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_lastprivate,
+ llvm::omp::Clause::OMPC_linear,
+ llvm::omp::Clause::OMPC_reduction,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_do {
+ llvm::omp::Clause::OMPC_schedule,
+ llvm::omp::Clause::OMPC_collapse,
+ llvm::omp::Clause::OMPC_ordered,
+ llvm::omp::Clause::OMPC_nowait,
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_do {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_do {
+ };
+
+ // Sets for do simd
+
+ static OmpClauseSet allowedClauses_OMPD_do_simd {
+ llvm::omp::Clause::OMPC_aligned,
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_lastprivate,
+ llvm::omp::Clause::OMPC_linear,
+ llvm::omp::Clause::OMPC_reduction,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_do_simd {
+ llvm::omp::Clause::OMPC_schedule,
+ llvm::omp::Clause::OMPC_collapse,
+ llvm::omp::Clause::OMPC_ordered,
+ llvm::omp::Clause::OMPC_safelen,
+ llvm::omp::Clause::OMPC_simdlen,
+ llvm::omp::Clause::OMPC_nowait,
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_do_simd {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_do_simd {
+ };
+
+ // Sets for end assumes
+
+ static OmpClauseSet allowedClauses_OMPD_end_assumes {
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_end_assumes {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_end_assumes {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_end_assumes {
+ };
+
+ // Sets for end declare target
+
+ static OmpClauseSet allowedClauses_OMPD_end_declare_target {
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_end_declare_target {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_end_declare_target {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_end_declare_target {
+ };
+
+ // Sets for end declare variant
+
+ static OmpClauseSet allowedClauses_OMPD_end_declare_variant {
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_end_declare_variant {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_end_declare_variant {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_end_declare_variant {
+ };
+
+ // Sets for end do
+
+ static OmpClauseSet allowedClauses_OMPD_end_do {
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_end_do {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_end_do {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_end_do {
+ };
+
+ // Sets for end do simd
+
+ static OmpClauseSet allowedClauses_OMPD_end_do_simd {
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_end_do_simd {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_end_do_simd {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_end_do_simd {
+ };
+
+ // Sets for end sections
+
+ static OmpClauseSet allowedClauses_OMPD_end_sections {
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_end_sections {
+ llvm::omp::Clause::OMPC_nowait,
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_end_sections {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_end_sections {
+ };
+
+ // Sets for end single
+
+ static OmpClauseSet allowedClauses_OMPD_end_single {
+ llvm::omp::Clause::OMPC_copyprivate,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_end_single {
+ llvm::omp::Clause::OMPC_nowait,
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_end_single {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_end_single {
+ };
+
+ // Sets for end workshare
+
+ static OmpClauseSet allowedClauses_OMPD_end_workshare {
+ llvm::omp::Clause::OMPC_nowait,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_end_workshare {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_end_workshare {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_end_workshare {
+ };
+
+ // Sets for flush
+
+ static OmpClauseSet allowedClauses_OMPD_flush {
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_flush {
+ llvm::omp::Clause::OMPC_acq_rel,
+ llvm::omp::Clause::OMPC_acquire,
+ llvm::omp::Clause::OMPC_release,
+ llvm::omp::Clause::OMPC_flush,
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_flush {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_flush {
+ };
+
+ // Sets for for
+
+ static OmpClauseSet allowedClauses_OMPD_for {
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_lastprivate,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_collapse,
+ llvm::omp::Clause::OMPC_schedule,
+ llvm::omp::Clause::OMPC_ordered,
+ llvm::omp::Clause::OMPC_nowait,
+ llvm::omp::Clause::OMPC_linear,
+ llvm::omp::Clause::OMPC_allocate,
+ llvm::omp::Clause::OMPC_order,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_for {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_for {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_for {
+ };
+
+ // Sets for for simd
+
+ static OmpClauseSet allowedClauses_OMPD_for_simd {
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_lastprivate,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_schedule,
+ llvm::omp::Clause::OMPC_collapse,
+ llvm::omp::Clause::OMPC_nowait,
+ llvm::omp::Clause::OMPC_safelen,
+ llvm::omp::Clause::OMPC_simdlen,
+ llvm::omp::Clause::OMPC_linear,
+ llvm::omp::Clause::OMPC_aligned,
+ llvm::omp::Clause::OMPC_ordered,
+ llvm::omp::Clause::OMPC_allocate,
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_nontemporal,
+ llvm::omp::Clause::OMPC_order,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_for_simd {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_for_simd {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_for_simd {
+ };
+
+ // Sets for master
+
+ static OmpClauseSet allowedClauses_OMPD_master {
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_master {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_master {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_master {
+ };
+
+ // Sets for master taskloop
+
+ static OmpClauseSet allowedClauses_OMPD_master_taskloop {
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_shared,
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_lastprivate,
+ llvm::omp::Clause::OMPC_default,
+ llvm::omp::Clause::OMPC_collapse,
+ llvm::omp::Clause::OMPC_final,
+ llvm::omp::Clause::OMPC_untied,
+ llvm::omp::Clause::OMPC_mergeable,
+ llvm::omp::Clause::OMPC_priority,
+ llvm::omp::Clause::OMPC_grainsize,
+ llvm::omp::Clause::OMPC_nogroup,
+ llvm::omp::Clause::OMPC_num_tasks,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_in_reduction,
+ llvm::omp::Clause::OMPC_allocate,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_master_taskloop {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_master_taskloop {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_master_taskloop {
+ };
+
+ // Sets for master taskloop simd
+
+ static OmpClauseSet allowedClauses_OMPD_master_taskloop_simd {
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_shared,
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_lastprivate,
+ llvm::omp::Clause::OMPC_default,
+ llvm::omp::Clause::OMPC_collapse,
+ llvm::omp::Clause::OMPC_final,
+ llvm::omp::Clause::OMPC_untied,
+ llvm::omp::Clause::OMPC_mergeable,
+ llvm::omp::Clause::OMPC_priority,
+ llvm::omp::Clause::OMPC_linear,
+ llvm::omp::Clause::OMPC_aligned,
+ llvm::omp::Clause::OMPC_safelen,
+ llvm::omp::Clause::OMPC_simdlen,
+ llvm::omp::Clause::OMPC_grainsize,
+ llvm::omp::Clause::OMPC_nogroup,
+ llvm::omp::Clause::OMPC_num_tasks,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_in_reduction,
+ llvm::omp::Clause::OMPC_allocate,
+ llvm::omp::Clause::OMPC_nontemporal,
+ llvm::omp::Clause::OMPC_order,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_master_taskloop_simd {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_master_taskloop_simd {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_master_taskloop_simd {
+ };
+
+ // Sets for ordered
+
+ static OmpClauseSet allowedClauses_OMPD_ordered {
+ llvm::omp::Clause::OMPC_threads,
+ llvm::omp::Clause::OMPC_simd,
+ llvm::omp::Clause::OMPC_depend,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_ordered {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_ordered {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_ordered {
+ };
+
+ // Sets for parallel
+
+ static OmpClauseSet allowedClauses_OMPD_parallel {
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_shared,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_copyin,
+ llvm::omp::Clause::OMPC_allocate,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_parallel {
+ llvm::omp::Clause::OMPC_default,
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_num_threads,
+ llvm::omp::Clause::OMPC_proc_bind,
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_parallel {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_parallel {
+ };
+
+ // Sets for parallel do
+
+ static OmpClauseSet allowedClauses_OMPD_parallel_do {
+ llvm::omp::Clause::OMPC_default,
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_shared,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_copyin,
+ llvm::omp::Clause::OMPC_lastprivate,
+ llvm::omp::Clause::OMPC_linear,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_parallel_do {
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_num_threads,
+ llvm::omp::Clause::OMPC_proc_bind,
+ llvm::omp::Clause::OMPC_schedule,
+ llvm::omp::Clause::OMPC_ordered,
+ llvm::omp::Clause::OMPC_collapse,
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_parallel_do {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_parallel_do {
+ };
+
+ // Sets for parallel do simd
+
+ static OmpClauseSet allowedClauses_OMPD_parallel_do_simd {
+ llvm::omp::Clause::OMPC_default,
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_shared,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_copyin,
+ llvm::omp::Clause::OMPC_lastprivate,
+ llvm::omp::Clause::OMPC_linear,
+ llvm::omp::Clause::OMPC_aligned,
+ llvm::omp::Clause::OMPC_allocate,
+ llvm::omp::Clause::OMPC_nontemporal,
+ llvm::omp::Clause::OMPC_order,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_parallel_do_simd {
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_num_threads,
+ llvm::omp::Clause::OMPC_proc_bind,
+ llvm::omp::Clause::OMPC_schedule,
+ llvm::omp::Clause::OMPC_ordered,
+ llvm::omp::Clause::OMPC_collapse,
+ llvm::omp::Clause::OMPC_safelen,
+ llvm::omp::Clause::OMPC_simdlen,
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_parallel_do_simd {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_parallel_do_simd {
+ };
+
+ // Sets for parallel for
+
+ static OmpClauseSet allowedClauses_OMPD_parallel_for {
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_num_threads,
+ llvm::omp::Clause::OMPC_default,
+ llvm::omp::Clause::OMPC_proc_bind,
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_shared,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_copyin,
+ llvm::omp::Clause::OMPC_lastprivate,
+ llvm::omp::Clause::OMPC_collapse,
+ llvm::omp::Clause::OMPC_schedule,
+ llvm::omp::Clause::OMPC_ordered,
+ llvm::omp::Clause::OMPC_linear,
+ llvm::omp::Clause::OMPC_allocate,
+ llvm::omp::Clause::OMPC_order,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_parallel_for {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_parallel_for {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_parallel_for {
+ };
+
+ // Sets for parallel for simd
+
+ static OmpClauseSet allowedClauses_OMPD_parallel_for_simd {
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_num_threads,
+ llvm::omp::Clause::OMPC_default,
+ llvm::omp::Clause::OMPC_proc_bind,
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_shared,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_copyin,
+ llvm::omp::Clause::OMPC_lastprivate,
+ llvm::omp::Clause::OMPC_collapse,
+ llvm::omp::Clause::OMPC_schedule,
+ llvm::omp::Clause::OMPC_safelen,
+ llvm::omp::Clause::OMPC_simdlen,
+ llvm::omp::Clause::OMPC_linear,
+ llvm::omp::Clause::OMPC_aligned,
+ llvm::omp::Clause::OMPC_ordered,
+ llvm::omp::Clause::OMPC_allocate,
+ llvm::omp::Clause::OMPC_nontemporal,
+ llvm::omp::Clause::OMPC_order,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_parallel_for_simd {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_parallel_for_simd {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_parallel_for_simd {
+ };
+
+ // Sets for parallel master
+
+ static OmpClauseSet allowedClauses_OMPD_parallel_master {
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_num_threads,
+ llvm::omp::Clause::OMPC_default,
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_shared,
+ llvm::omp::Clause::OMPC_copyin,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_proc_bind,
+ llvm::omp::Clause::OMPC_allocate,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_parallel_master {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_parallel_master {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_parallel_master {
+ };
+
+ // Sets for parallel master taskloop
+
+ static OmpClauseSet allowedClauses_OMPD_parallel_master_taskloop {
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_shared,
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_lastprivate,
+ llvm::omp::Clause::OMPC_default,
+ llvm::omp::Clause::OMPC_collapse,
+ llvm::omp::Clause::OMPC_final,
+ llvm::omp::Clause::OMPC_untied,
+ llvm::omp::Clause::OMPC_mergeable,
+ llvm::omp::Clause::OMPC_priority,
+ llvm::omp::Clause::OMPC_grainsize,
+ llvm::omp::Clause::OMPC_nogroup,
+ llvm::omp::Clause::OMPC_num_tasks,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_allocate,
+ llvm::omp::Clause::OMPC_num_threads,
+ llvm::omp::Clause::OMPC_proc_bind,
+ llvm::omp::Clause::OMPC_copyin,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_parallel_master_taskloop {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_parallel_master_taskloop {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_parallel_master_taskloop {
+ };
+
+ // Sets for parallel master taskloop simd
+
+ static OmpClauseSet allowedClauses_OMPD_parallel_master_taskloop_simd {
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_shared,
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_lastprivate,
+ llvm::omp::Clause::OMPC_default,
+ llvm::omp::Clause::OMPC_collapse,
+ llvm::omp::Clause::OMPC_final,
+ llvm::omp::Clause::OMPC_untied,
+ llvm::omp::Clause::OMPC_mergeable,
+ llvm::omp::Clause::OMPC_priority,
+ llvm::omp::Clause::OMPC_grainsize,
+ llvm::omp::Clause::OMPC_nogroup,
+ llvm::omp::Clause::OMPC_num_tasks,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_allocate,
+ llvm::omp::Clause::OMPC_num_threads,
+ llvm::omp::Clause::OMPC_proc_bind,
+ llvm::omp::Clause::OMPC_copyin,
+ llvm::omp::Clause::OMPC_linear,
+ llvm::omp::Clause::OMPC_aligned,
+ llvm::omp::Clause::OMPC_safelen,
+ llvm::omp::Clause::OMPC_simdlen,
+ llvm::omp::Clause::OMPC_nontemporal,
+ llvm::omp::Clause::OMPC_order,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_parallel_master_taskloop_simd {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_parallel_master_taskloop_simd {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_parallel_master_taskloop_simd {
+ };
+
+ // Sets for parallel sections
+
+ static OmpClauseSet allowedClauses_OMPD_parallel_sections {
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_default,
+ llvm::omp::Clause::OMPC_proc_bind,
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_shared,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_copyin,
+ llvm::omp::Clause::OMPC_lastprivate,
+ llvm::omp::Clause::OMPC_allocate,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_parallel_sections {
+ llvm::omp::Clause::OMPC_num_threads,
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_parallel_sections {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_parallel_sections {
+ };
+
+ // Sets for parallel workshare
+
+ static OmpClauseSet allowedClauses_OMPD_parallel_workshare {
+ llvm::omp::Clause::OMPC_allocate,
+ llvm::omp::Clause::OMPC_copyin,
+ llvm::omp::Clause::OMPC_default,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_shared,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_parallel_workshare {
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_num_threads,
+ llvm::omp::Clause::OMPC_proc_bind,
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_parallel_workshare {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_parallel_workshare {
+ };
+
+ // Sets for requires
+
+ static OmpClauseSet allowedClauses_OMPD_requires {
+ llvm::omp::Clause::OMPC_unified_address,
+ llvm::omp::Clause::OMPC_unified_shared_memory,
+ llvm::omp::Clause::OMPC_reverse_offload,
+ llvm::omp::Clause::OMPC_dynamic_allocators,
+ llvm::omp::Clause::OMPC_atomic_default_mem_order,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_requires {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_requires {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_requires {
+ };
+
+ // Sets for scan
+
+ static OmpClauseSet allowedClauses_OMPD_scan {
+ llvm::omp::Clause::OMPC_inclusive,
+ llvm::omp::Clause::OMPC_exclusive,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_scan {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_scan {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_scan {
+ };
+
+ // Sets for section
+
+ static OmpClauseSet allowedClauses_OMPD_section {
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_section {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_section {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_section {
+ };
+
+ // Sets for sections
+
+ static OmpClauseSet allowedClauses_OMPD_sections {
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_lastprivate,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_nowait,
+ llvm::omp::Clause::OMPC_allocate,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_sections {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_sections {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_sections {
+ };
+
+ // Sets for simd
+
+ static OmpClauseSet allowedClauses_OMPD_simd {
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_lastprivate,
+ llvm::omp::Clause::OMPC_linear,
+ llvm::omp::Clause::OMPC_aligned,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_allocate,
+ llvm::omp::Clause::OMPC_nontemporal,
+ llvm::omp::Clause::OMPC_order,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_simd {
+ llvm::omp::Clause::OMPC_collapse,
+ llvm::omp::Clause::OMPC_safelen,
+ llvm::omp::Clause::OMPC_simdlen,
+ llvm::omp::Clause::OMPC_if,
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_simd {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_simd {
+ };
+
+ // Sets for single
+
+ static OmpClauseSet allowedClauses_OMPD_single {
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_copyprivate,
+ llvm::omp::Clause::OMPC_nowait,
+ llvm::omp::Clause::OMPC_allocate,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_single {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_single {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_single {
+ };
+
+ // Sets for target
+
+ static OmpClauseSet allowedClauses_OMPD_target {
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_map,
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_depend,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_is_device_ptr,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_allocate,
+ llvm::omp::Clause::OMPC_uses_allocators,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_target {
+ llvm::omp::Clause::OMPC_device,
+ llvm::omp::Clause::OMPC_defaultmap,
+ llvm::omp::Clause::OMPC_nowait,
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_target {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_target {
+ };
+
+ // Sets for target data
+
+ static OmpClauseSet allowedClauses_OMPD_target_data {
+ llvm::omp::Clause::OMPC_use_device_ptr,
+ llvm::omp::Clause::OMPC_use_device_addr,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_target_data {
+ llvm::omp::Clause::OMPC_device,
+ llvm::omp::Clause::OMPC_if,
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_target_data {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_target_data {
+ llvm::omp::Clause::OMPC_map,
+ };
+
+ // Sets for target enter data
+
+ static OmpClauseSet allowedClauses_OMPD_target_enter_data {
+ llvm::omp::Clause::OMPC_depend,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_target_enter_data {
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_device,
+ llvm::omp::Clause::OMPC_nowait,
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_target_enter_data {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_target_enter_data {
+ llvm::omp::Clause::OMPC_map,
+ };
+
+ // Sets for target exit data
+
+ static OmpClauseSet allowedClauses_OMPD_target_exit_data {
+ llvm::omp::Clause::OMPC_depend,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_target_exit_data {
+ llvm::omp::Clause::OMPC_device,
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_nowait,
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_target_exit_data {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_target_exit_data {
+ llvm::omp::Clause::OMPC_map,
+ };
+
+ // Sets for target parallel
+
+ static OmpClauseSet allowedClauses_OMPD_target_parallel {
+ llvm::omp::Clause::OMPC_map,
+ llvm::omp::Clause::OMPC_nowait,
+ llvm::omp::Clause::OMPC_depend,
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_default,
+ llvm::omp::Clause::OMPC_shared,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_is_device_ptr,
+ llvm::omp::Clause::OMPC_allocate,
+ llvm::omp::Clause::OMPC_uses_allocators,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_target_parallel {
+ llvm::omp::Clause::OMPC_defaultmap,
+ llvm::omp::Clause::OMPC_device,
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_num_threads,
+ llvm::omp::Clause::OMPC_proc_bind,
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_target_parallel {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_target_parallel {
+ };
+
+ // Sets for target parallel do
+
+ static OmpClauseSet allowedClauses_OMPD_target_parallel_do {
+ llvm::omp::Clause::OMPC_map,
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_lastprivate,
+ llvm::omp::Clause::OMPC_depend,
+ llvm::omp::Clause::OMPC_shared,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_linear,
+ llvm::omp::Clause::OMPC_is_device_ptr,
+ llvm::omp::Clause::OMPC_allocator,
+ llvm::omp::Clause::OMPC_order,
+ llvm::omp::Clause::OMPC_uses_allocators,
+ llvm::omp::Clause::OMPC_default,
+ llvm::omp::Clause::OMPC_copyin,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_target_parallel_do {
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_num_threads,
+ llvm::omp::Clause::OMPC_proc_bind,
+ llvm::omp::Clause::OMPC_device,
+ llvm::omp::Clause::OMPC_defaultmap,
+ llvm::omp::Clause::OMPC_schedule,
+ llvm::omp::Clause::OMPC_collapse,
+ llvm::omp::Clause::OMPC_ordered,
+ llvm::omp::Clause::OMPC_nowait,
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_target_parallel_do {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_target_parallel_do {
+ };
+
+ // Sets for target parallel do simd
+
+ static OmpClauseSet allowedClauses_OMPD_target_parallel_do_simd {
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_device,
+ llvm::omp::Clause::OMPC_map,
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_lastprivate,
+ llvm::omp::Clause::OMPC_nowait,
+ llvm::omp::Clause::OMPC_depend,
+ llvm::omp::Clause::OMPC_defaultmap,
+ llvm::omp::Clause::OMPC_num_threads,
+ llvm::omp::Clause::OMPC_default,
+ llvm::omp::Clause::OMPC_proc_bind,
+ llvm::omp::Clause::OMPC_shared,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_collapse,
+ llvm::omp::Clause::OMPC_schedule,
+ llvm::omp::Clause::OMPC_ordered,
+ llvm::omp::Clause::OMPC_linear,
+ llvm::omp::Clause::OMPC_safelen,
+ llvm::omp::Clause::OMPC_simdlen,
+ llvm::omp::Clause::OMPC_aligned,
+ llvm::omp::Clause::OMPC_is_device_ptr,
+ llvm::omp::Clause::OMPC_allocate,
+ llvm::omp::Clause::OMPC_nontemporal,
+ llvm::omp::Clause::OMPC_order,
+ llvm::omp::Clause::OMPC_uses_allocators,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_target_parallel_do_simd {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_target_parallel_do_simd {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_target_parallel_do_simd {
+ };
+
+ // Sets for target parallel for
+
+ static OmpClauseSet allowedClauses_OMPD_target_parallel_for {
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_device,
+ llvm::omp::Clause::OMPC_map,
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_lastprivate,
+ llvm::omp::Clause::OMPC_nowait,
+ llvm::omp::Clause::OMPC_depend,
+ llvm::omp::Clause::OMPC_defaultmap,
+ llvm::omp::Clause::OMPC_num_threads,
+ llvm::omp::Clause::OMPC_default,
+ llvm::omp::Clause::OMPC_proc_bind,
+ llvm::omp::Clause::OMPC_shared,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_collapse,
+ llvm::omp::Clause::OMPC_schedule,
+ llvm::omp::Clause::OMPC_ordered,
+ llvm::omp::Clause::OMPC_linear,
+ llvm::omp::Clause::OMPC_is_device_ptr,
+ llvm::omp::Clause::OMPC_allocate,
+ llvm::omp::Clause::OMPC_order,
+ llvm::omp::Clause::OMPC_uses_allocators,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_target_parallel_for {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_target_parallel_for {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_target_parallel_for {
+ };
+
+ // Sets for target parallel for simd
+
+ static OmpClauseSet allowedClauses_OMPD_target_parallel_for_simd {
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_device,
+ llvm::omp::Clause::OMPC_map,
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_lastprivate,
+ llvm::omp::Clause::OMPC_nowait,
+ llvm::omp::Clause::OMPC_depend,
+ llvm::omp::Clause::OMPC_defaultmap,
+ llvm::omp::Clause::OMPC_num_threads,
+ llvm::omp::Clause::OMPC_default,
+ llvm::omp::Clause::OMPC_proc_bind,
+ llvm::omp::Clause::OMPC_shared,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_collapse,
+ llvm::omp::Clause::OMPC_schedule,
+ llvm::omp::Clause::OMPC_ordered,
+ llvm::omp::Clause::OMPC_linear,
+ llvm::omp::Clause::OMPC_safelen,
+ llvm::omp::Clause::OMPC_simdlen,
+ llvm::omp::Clause::OMPC_aligned,
+ llvm::omp::Clause::OMPC_is_device_ptr,
+ llvm::omp::Clause::OMPC_allocate,
+ llvm::omp::Clause::OMPC_nontemporal,
+ llvm::omp::Clause::OMPC_order,
+ llvm::omp::Clause::OMPC_uses_allocators,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_target_parallel_for_simd {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_target_parallel_for_simd {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_target_parallel_for_simd {
+ };
+
+ // Sets for target simd
+
+ static OmpClauseSet allowedClauses_OMPD_target_simd {
+ llvm::omp::Clause::OMPC_aligned,
+ llvm::omp::Clause::OMPC_allocate,
+ llvm::omp::Clause::OMPC_depend,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_is_device_ptr,
+ llvm::omp::Clause::OMPC_lastprivate,
+ llvm::omp::Clause::OMPC_linear,
+ llvm::omp::Clause::OMPC_map,
+ llvm::omp::Clause::OMPC_nontemporal,
+ llvm::omp::Clause::OMPC_nowait,
+ llvm::omp::Clause::OMPC_order,
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_shared,
+ llvm::omp::Clause::OMPC_uses_allocators,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_target_simd {
+ llvm::omp::Clause::OMPC_collapse,
+ llvm::omp::Clause::OMPC_safelen,
+ llvm::omp::Clause::OMPC_simdlen,
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_num_threads,
+ llvm::omp::Clause::OMPC_proc_bind,
+ llvm::omp::Clause::OMPC_device,
+ llvm::omp::Clause::OMPC_defaultmap,
+ llvm::omp::Clause::OMPC_schedule,
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_target_simd {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_target_simd {
+ };
+
+ // Sets for target teams
+
+ static OmpClauseSet allowedClauses_OMPD_target_teams {
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_map,
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_depend,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_is_device_ptr,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_allocate,
+ llvm::omp::Clause::OMPC_uses_allocators,
+ llvm::omp::Clause::OMPC_shared,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_target_teams {
+ llvm::omp::Clause::OMPC_device,
+ llvm::omp::Clause::OMPC_nowait,
+ llvm::omp::Clause::OMPC_defaultmap,
+ llvm::omp::Clause::OMPC_default,
+ llvm::omp::Clause::OMPC_num_teams,
+ llvm::omp::Clause::OMPC_thread_limit,
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_target_teams {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_target_teams {
+ };
+
+ // Sets for target teams distribute
+
+ static OmpClauseSet allowedClauses_OMPD_target_teams_distribute {
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_map,
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_depend,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_is_device_ptr,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_allocate,
+ llvm::omp::Clause::OMPC_uses_allocators,
+ llvm::omp::Clause::OMPC_shared,
+ llvm::omp::Clause::OMPC_lastprivate,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_target_teams_distribute {
+ llvm::omp::Clause::OMPC_device,
+ llvm::omp::Clause::OMPC_nowait,
+ llvm::omp::Clause::OMPC_defaultmap,
+ llvm::omp::Clause::OMPC_default,
+ llvm::omp::Clause::OMPC_num_teams,
+ llvm::omp::Clause::OMPC_thread_limit,
+ llvm::omp::Clause::OMPC_collapse,
+ llvm::omp::Clause::OMPC_dist_schedule,
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_target_teams_distribute {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_target_teams_distribute {
+ };
+
+ // Sets for target teams distribute parallel do
+
+ static OmpClauseSet allowedClauses_OMPD_target_teams_distribute_parallel_do {
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_map,
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_depend,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_is_device_ptr,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_allocate,
+ llvm::omp::Clause::OMPC_uses_allocators,
+ llvm::omp::Clause::OMPC_shared,
+ llvm::omp::Clause::OMPC_lastprivate,
+ llvm::omp::Clause::OMPC_copyin,
+ llvm::omp::Clause::OMPC_linear,
+ llvm::omp::Clause::OMPC_ordered,
+ llvm::omp::Clause::OMPC_order,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_target_teams_distribute_parallel_do {
+ llvm::omp::Clause::OMPC_device,
+ llvm::omp::Clause::OMPC_defaultmap,
+ llvm::omp::Clause::OMPC_nowait,
+ llvm::omp::Clause::OMPC_default,
+ llvm::omp::Clause::OMPC_num_teams,
+ llvm::omp::Clause::OMPC_thread_limit,
+ llvm::omp::Clause::OMPC_collapse,
+ llvm::omp::Clause::OMPC_dist_schedule,
+ llvm::omp::Clause::OMPC_num_threads,
+ llvm::omp::Clause::OMPC_proc_bind,
+ llvm::omp::Clause::OMPC_schedule,
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_target_teams_distribute_parallel_do {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_target_teams_distribute_parallel_do {
+ };
+
+ // Sets for target teams distribute parallel do simd
+
+ static OmpClauseSet allowedClauses_OMPD_target_teams_distribute_parallel_do_simd {
+ llvm::omp::Clause::OMPC_map,
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_depend,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_is_device_ptr,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_allocate,
+ llvm::omp::Clause::OMPC_uses_allocators,
+ llvm::omp::Clause::OMPC_shared,
+ llvm::omp::Clause::OMPC_lastprivate,
+ llvm::omp::Clause::OMPC_copyin,
+ llvm::omp::Clause::OMPC_linear,
+ llvm::omp::Clause::OMPC_ordered,
+ llvm::omp::Clause::OMPC_order,
+ llvm::omp::Clause::OMPC_aligned,
+ llvm::omp::Clause::OMPC_nontemporal,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_target_teams_distribute_parallel_do_simd {
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_device,
+ llvm::omp::Clause::OMPC_nowait,
+ llvm::omp::Clause::OMPC_defaultmap,
+ llvm::omp::Clause::OMPC_default,
+ llvm::omp::Clause::OMPC_num_teams,
+ llvm::omp::Clause::OMPC_thread_limit,
+ llvm::omp::Clause::OMPC_collapse,
+ llvm::omp::Clause::OMPC_dist_schedule,
+ llvm::omp::Clause::OMPC_num_threads,
+ llvm::omp::Clause::OMPC_proc_bind,
+ llvm::omp::Clause::OMPC_schedule,
+ llvm::omp::Clause::OMPC_safelen,
+ llvm::omp::Clause::OMPC_simdlen,
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_target_teams_distribute_parallel_do_simd {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_target_teams_distribute_parallel_do_simd {
+ };
+
+ // Sets for target teams distribute parallel for
+
+ static OmpClauseSet allowedClauses_OMPD_target_teams_distribute_parallel_for {
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_device,
+ llvm::omp::Clause::OMPC_map,
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_nowait,
+ llvm::omp::Clause::OMPC_depend,
+ llvm::omp::Clause::OMPC_defaultmap,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_is_device_ptr,
+ llvm::omp::Clause::OMPC_default,
+ llvm::omp::Clause::OMPC_shared,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_num_teams,
+ llvm::omp::Clause::OMPC_thread_limit,
+ llvm::omp::Clause::OMPC_lastprivate,
+ llvm::omp::Clause::OMPC_collapse,
+ llvm::omp::Clause::OMPC_dist_schedule,
+ llvm::omp::Clause::OMPC_num_threads,
+ llvm::omp::Clause::OMPC_proc_bind,
+ llvm::omp::Clause::OMPC_schedule,
+ llvm::omp::Clause::OMPC_allocate,
+ llvm::omp::Clause::OMPC_order,
+ llvm::omp::Clause::OMPC_uses_allocators,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_target_teams_distribute_parallel_for {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_target_teams_distribute_parallel_for {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_target_teams_distribute_parallel_for {
+ };
+
+ // Sets for target teams distribute parallel for simd
+
+ static OmpClauseSet allowedClauses_OMPD_target_teams_distribute_parallel_for_simd {
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_device,
+ llvm::omp::Clause::OMPC_map,
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_nowait,
+ llvm::omp::Clause::OMPC_depend,
+ llvm::omp::Clause::OMPC_defaultmap,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_is_device_ptr,
+ llvm::omp::Clause::OMPC_default,
+ llvm::omp::Clause::OMPC_shared,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_num_teams,
+ llvm::omp::Clause::OMPC_thread_limit,
+ llvm::omp::Clause::OMPC_lastprivate,
+ llvm::omp::Clause::OMPC_collapse,
+ llvm::omp::Clause::OMPC_dist_schedule,
+ llvm::omp::Clause::OMPC_num_threads,
+ llvm::omp::Clause::OMPC_proc_bind,
+ llvm::omp::Clause::OMPC_schedule,
+ llvm::omp::Clause::OMPC_linear,
+ llvm::omp::Clause::OMPC_aligned,
+ llvm::omp::Clause::OMPC_safelen,
+ llvm::omp::Clause::OMPC_simdlen,
+ llvm::omp::Clause::OMPC_allocate,
+ llvm::omp::Clause::OMPC_nontemporal,
+ llvm::omp::Clause::OMPC_order,
+ llvm::omp::Clause::OMPC_uses_allocators,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_target_teams_distribute_parallel_for_simd {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_target_teams_distribute_parallel_for_simd {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_target_teams_distribute_parallel_for_simd {
+ };
+
+ // Sets for target teams distribute simd
+
+ static OmpClauseSet allowedClauses_OMPD_target_teams_distribute_simd {
+ llvm::omp::Clause::OMPC_aligned,
+ llvm::omp::Clause::OMPC_allocate,
+ llvm::omp::Clause::OMPC_depend,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_is_device_ptr,
+ llvm::omp::Clause::OMPC_lastprivate,
+ llvm::omp::Clause::OMPC_linear,
+ llvm::omp::Clause::OMPC_map,
+ llvm::omp::Clause::OMPC_nontemporal,
+ llvm::omp::Clause::OMPC_order,
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_shared,
+ llvm::omp::Clause::OMPC_uses_allocators,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_target_teams_distribute_simd {
+ llvm::omp::Clause::OMPC_device,
+ llvm::omp::Clause::OMPC_defaultmap,
+ llvm::omp::Clause::OMPC_nowait,
+ llvm::omp::Clause::OMPC_num_teams,
+ llvm::omp::Clause::OMPC_thread_limit,
+ llvm::omp::Clause::OMPC_collapse,
+ llvm::omp::Clause::OMPC_dist_schedule,
+ llvm::omp::Clause::OMPC_safelen,
+ llvm::omp::Clause::OMPC_simdlen,
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_target_teams_distribute_simd {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_target_teams_distribute_simd {
+ };
+
+ // Sets for target update
+
+ static OmpClauseSet allowedClauses_OMPD_target_update {
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_device,
+ llvm::omp::Clause::OMPC_to,
+ llvm::omp::Clause::OMPC_from,
+ llvm::omp::Clause::OMPC_nowait,
+ llvm::omp::Clause::OMPC_depend,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_target_update {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_target_update {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_target_update {
+ };
+
+ // Sets for task
+
+ static OmpClauseSet allowedClauses_OMPD_task {
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_shared,
+ llvm::omp::Clause::OMPC_untied,
+ llvm::omp::Clause::OMPC_mergeable,
+ llvm::omp::Clause::OMPC_depend,
+ llvm::omp::Clause::OMPC_in_reduction,
+ llvm::omp::Clause::OMPC_allocate,
+ llvm::omp::Clause::OMPC_detach,
+ llvm::omp::Clause::OMPC_affinity,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_task {
+ llvm::omp::Clause::OMPC_default,
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_final,
+ llvm::omp::Clause::OMPC_priority,
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_task {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_task {
+ };
+
+ // Sets for taskgroup
+
+ static OmpClauseSet allowedClauses_OMPD_taskgroup {
+ llvm::omp::Clause::OMPC_task_reduction,
+ llvm::omp::Clause::OMPC_allocate,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_taskgroup {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_taskgroup {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_taskgroup {
+ };
+
+ // Sets for taskloop
+
+ static OmpClauseSet allowedClauses_OMPD_taskloop {
+ llvm::omp::Clause::OMPC_shared,
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_lastprivate,
+ llvm::omp::Clause::OMPC_untied,
+ llvm::omp::Clause::OMPC_mergeable,
+ llvm::omp::Clause::OMPC_nogroup,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_in_reduction,
+ llvm::omp::Clause::OMPC_allocate,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_taskloop {
+ llvm::omp::Clause::OMPC_default,
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_collapse,
+ llvm::omp::Clause::OMPC_final,
+ llvm::omp::Clause::OMPC_priority,
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_taskloop {
+ llvm::omp::Clause::OMPC_grainsize,
+ llvm::omp::Clause::OMPC_num_tasks,
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_taskloop {
+ };
+
+ // Sets for taskloop simd
+
+ static OmpClauseSet allowedClauses_OMPD_taskloop_simd {
+ llvm::omp::Clause::OMPC_aligned,
+ llvm::omp::Clause::OMPC_allocate,
+ llvm::omp::Clause::OMPC_default,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_in_reduction,
+ llvm::omp::Clause::OMPC_lastprivate,
+ llvm::omp::Clause::OMPC_linear,
+ llvm::omp::Clause::OMPC_mergeable,
+ llvm::omp::Clause::OMPC_nogroup,
+ llvm::omp::Clause::OMPC_nontemporal,
+ llvm::omp::Clause::OMPC_order,
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_shared,
+ llvm::omp::Clause::OMPC_untied,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_taskloop_simd {
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_collapse,
+ llvm::omp::Clause::OMPC_safelen,
+ llvm::omp::Clause::OMPC_simdlen,
+ llvm::omp::Clause::OMPC_final,
+ llvm::omp::Clause::OMPC_priority,
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_taskloop_simd {
+ llvm::omp::Clause::OMPC_grainsize,
+ llvm::omp::Clause::OMPC_num_tasks,
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_taskloop_simd {
+ };
+
+ // Sets for taskwait
+
+ static OmpClauseSet allowedClauses_OMPD_taskwait {
+ llvm::omp::Clause::OMPC_depend,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_taskwait {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_taskwait {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_taskwait {
+ };
+
+ // Sets for taskyield
+
+ static OmpClauseSet allowedClauses_OMPD_taskyield {
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_taskyield {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_taskyield {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_taskyield {
+ };
+
+ // Sets for teams
+
+ static OmpClauseSet allowedClauses_OMPD_teams {
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_shared,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_allocate,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_teams {
+ llvm::omp::Clause::OMPC_default,
+ llvm::omp::Clause::OMPC_num_teams,
+ llvm::omp::Clause::OMPC_thread_limit,
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_teams {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_teams {
+ };
+
+ // Sets for teams distribute
+
+ static OmpClauseSet allowedClauses_OMPD_teams_distribute {
+ llvm::omp::Clause::OMPC_default,
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_shared,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_num_teams,
+ llvm::omp::Clause::OMPC_thread_limit,
+ llvm::omp::Clause::OMPC_lastprivate,
+ llvm::omp::Clause::OMPC_collapse,
+ llvm::omp::Clause::OMPC_dist_schedule,
+ llvm::omp::Clause::OMPC_allocate,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_teams_distribute {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_teams_distribute {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_teams_distribute {
+ };
+
+ // Sets for teams distribute parallel do
+
+ static OmpClauseSet allowedClauses_OMPD_teams_distribute_parallel_do {
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_lastprivate,
+ llvm::omp::Clause::OMPC_shared,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_allocate,
+ llvm::omp::Clause::OMPC_copyin,
+ llvm::omp::Clause::OMPC_linear,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_teams_distribute_parallel_do {
+ llvm::omp::Clause::OMPC_num_teams,
+ llvm::omp::Clause::OMPC_thread_limit,
+ llvm::omp::Clause::OMPC_default,
+ llvm::omp::Clause::OMPC_collapse,
+ llvm::omp::Clause::OMPC_dist_schedule,
+ llvm::omp::Clause::OMPC_ordered,
+ llvm::omp::Clause::OMPC_order,
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_num_threads,
+ llvm::omp::Clause::OMPC_proc_bind,
+ llvm::omp::Clause::OMPC_schedule,
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_teams_distribute_parallel_do {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_teams_distribute_parallel_do {
+ };
+
+ // Sets for teams distribute parallel do simd
+
+ static OmpClauseSet allowedClauses_OMPD_teams_distribute_parallel_do_simd {
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_lastprivate,
+ llvm::omp::Clause::OMPC_allocate,
+ llvm::omp::Clause::OMPC_shared,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_linear,
+ llvm::omp::Clause::OMPC_order,
+ llvm::omp::Clause::OMPC_aligned,
+ llvm::omp::Clause::OMPC_nontemporal,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_teams_distribute_parallel_do_simd {
+ llvm::omp::Clause::OMPC_default,
+ llvm::omp::Clause::OMPC_num_teams,
+ llvm::omp::Clause::OMPC_thread_limit,
+ llvm::omp::Clause::OMPC_collapse,
+ llvm::omp::Clause::OMPC_dist_schedule,
+ llvm::omp::Clause::OMPC_num_threads,
+ llvm::omp::Clause::OMPC_proc_bind,
+ llvm::omp::Clause::OMPC_schedule,
+ llvm::omp::Clause::OMPC_safelen,
+ llvm::omp::Clause::OMPC_simdlen,
+ llvm::omp::Clause::OMPC_if,
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_teams_distribute_parallel_do_simd {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_teams_distribute_parallel_do_simd {
+ };
+
+ // Sets for teams distribute parallel for
+
+ static OmpClauseSet allowedClauses_OMPD_teams_distribute_parallel_for {
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_lastprivate,
+ llvm::omp::Clause::OMPC_collapse,
+ llvm::omp::Clause::OMPC_dist_schedule,
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_num_threads,
+ llvm::omp::Clause::OMPC_default,
+ llvm::omp::Clause::OMPC_proc_bind,
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_shared,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_schedule,
+ llvm::omp::Clause::OMPC_num_teams,
+ llvm::omp::Clause::OMPC_thread_limit,
+ llvm::omp::Clause::OMPC_copyin,
+ llvm::omp::Clause::OMPC_allocate,
+ llvm::omp::Clause::OMPC_order,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_teams_distribute_parallel_for {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_teams_distribute_parallel_for {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_teams_distribute_parallel_for {
+ };
+
+ // Sets for teams distribute parallel for simd
+
+ static OmpClauseSet allowedClauses_OMPD_teams_distribute_parallel_for_simd {
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_lastprivate,
+ llvm::omp::Clause::OMPC_collapse,
+ llvm::omp::Clause::OMPC_dist_schedule,
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_num_threads,
+ llvm::omp::Clause::OMPC_default,
+ llvm::omp::Clause::OMPC_proc_bind,
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_shared,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_schedule,
+ llvm::omp::Clause::OMPC_linear,
+ llvm::omp::Clause::OMPC_aligned,
+ llvm::omp::Clause::OMPC_safelen,
+ llvm::omp::Clause::OMPC_simdlen,
+ llvm::omp::Clause::OMPC_num_teams,
+ llvm::omp::Clause::OMPC_thread_limit,
+ llvm::omp::Clause::OMPC_allocate,
+ llvm::omp::Clause::OMPC_nontemporal,
+ llvm::omp::Clause::OMPC_order,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_teams_distribute_parallel_for_simd {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_teams_distribute_parallel_for_simd {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_teams_distribute_parallel_for_simd {
+ };
+
+ // Sets for teams distribute simd
+
+ static OmpClauseSet allowedClauses_OMPD_teams_distribute_simd {
+ llvm::omp::Clause::OMPC_aligned,
+ llvm::omp::Clause::OMPC_allocate,
+ llvm::omp::Clause::OMPC_firstprivate,
+ llvm::omp::Clause::OMPC_lastprivate,
+ llvm::omp::Clause::OMPC_linear,
+ llvm::omp::Clause::OMPC_nontemporal,
+ llvm::omp::Clause::OMPC_order,
+ llvm::omp::Clause::OMPC_private,
+ llvm::omp::Clause::OMPC_reduction,
+ llvm::omp::Clause::OMPC_shared,
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_teams_distribute_simd {
+ llvm::omp::Clause::OMPC_collapse,
+ llvm::omp::Clause::OMPC_default,
+ llvm::omp::Clause::OMPC_dist_schedule,
+ llvm::omp::Clause::OMPC_if,
+ llvm::omp::Clause::OMPC_num_teams,
+ llvm::omp::Clause::OMPC_safelen,
+ llvm::omp::Clause::OMPC_simdlen,
+ llvm::omp::Clause::OMPC_thread_limit,
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_teams_distribute_simd {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_teams_distribute_simd {
+ };
+
+ // Sets for threadprivate
+
+ static OmpClauseSet allowedClauses_OMPD_threadprivate {
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_threadprivate {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_threadprivate {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_threadprivate {
+ };
+
+ // Sets for unknown
+
+ static OmpClauseSet allowedClauses_OMPD_unknown {
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_unknown {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_unknown {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_unknown {
+ };
+
+ // Sets for workshare
+
+ static OmpClauseSet allowedClauses_OMPD_workshare {
+ };
+
+ static OmpClauseSet allowedOnceClauses_OMPD_workshare {
+ };
+
+ static OmpClauseSet allowedExclusiveClauses_OMPD_workshare {
+ };
+
+ static OmpClauseSet requiredClauses_OMPD_workshare {
+ };
+} // namespace omp
+} // namespace llvm
+
+#endif // GEN_FLANG_DIRECTIVE_CLAUSE_SETS
+
+#ifdef GEN_FLANG_DIRECTIVE_CLAUSE_MAP
+#undef GEN_FLANG_DIRECTIVE_CLAUSE_MAP
+
+{
+ {llvm::omp::Directive::OMPD_allocate,
+ {
+ llvm::omp::allowedClauses_OMPD_allocate,
+ llvm::omp::allowedOnceClauses_OMPD_allocate,
+ llvm::omp::allowedExclusiveClauses_OMPD_allocate,
+ llvm::omp::requiredClauses_OMPD_allocate,
+ }
+ },
+ {llvm::omp::Directive::OMPD_assumes,
+ {
+ llvm::omp::allowedClauses_OMPD_assumes,
+ llvm::omp::allowedOnceClauses_OMPD_assumes,
+ llvm::omp::allowedExclusiveClauses_OMPD_assumes,
+ llvm::omp::requiredClauses_OMPD_assumes,
+ }
+ },
+ {llvm::omp::Directive::OMPD_atomic,
+ {
+ llvm::omp::allowedClauses_OMPD_atomic,
+ llvm::omp::allowedOnceClauses_OMPD_atomic,
+ llvm::omp::allowedExclusiveClauses_OMPD_atomic,
+ llvm::omp::requiredClauses_OMPD_atomic,
+ }
+ },
+ {llvm::omp::Directive::OMPD_barrier,
+ {
+ llvm::omp::allowedClauses_OMPD_barrier,
+ llvm::omp::allowedOnceClauses_OMPD_barrier,
+ llvm::omp::allowedExclusiveClauses_OMPD_barrier,
+ llvm::omp::requiredClauses_OMPD_barrier,
+ }
+ },
+ {llvm::omp::Directive::OMPD_begin_assumes,
+ {
+ llvm::omp::allowedClauses_OMPD_begin_assumes,
+ llvm::omp::allowedOnceClauses_OMPD_begin_assumes,
+ llvm::omp::allowedExclusiveClauses_OMPD_begin_assumes,
+ llvm::omp::requiredClauses_OMPD_begin_assumes,
+ }
+ },
+ {llvm::omp::Directive::OMPD_begin_declare_variant,
+ {
+ llvm::omp::allowedClauses_OMPD_begin_declare_variant,
+ llvm::omp::allowedOnceClauses_OMPD_begin_declare_variant,
+ llvm::omp::allowedExclusiveClauses_OMPD_begin_declare_variant,
+ llvm::omp::requiredClauses_OMPD_begin_declare_variant,
+ }
+ },
+ {llvm::omp::Directive::OMPD_cancel,
+ {
+ llvm::omp::allowedClauses_OMPD_cancel,
+ llvm::omp::allowedOnceClauses_OMPD_cancel,
+ llvm::omp::allowedExclusiveClauses_OMPD_cancel,
+ llvm::omp::requiredClauses_OMPD_cancel,
+ }
+ },
+ {llvm::omp::Directive::OMPD_cancellation_point,
+ {
+ llvm::omp::allowedClauses_OMPD_cancellation_point,
+ llvm::omp::allowedOnceClauses_OMPD_cancellation_point,
+ llvm::omp::allowedExclusiveClauses_OMPD_cancellation_point,
+ llvm::omp::requiredClauses_OMPD_cancellation_point,
+ }
+ },
+ {llvm::omp::Directive::OMPD_critical,
+ {
+ llvm::omp::allowedClauses_OMPD_critical,
+ llvm::omp::allowedOnceClauses_OMPD_critical,
+ llvm::omp::allowedExclusiveClauses_OMPD_critical,
+ llvm::omp::requiredClauses_OMPD_critical,
+ }
+ },
+ {llvm::omp::Directive::OMPD_declare_mapper,
+ {
+ llvm::omp::allowedClauses_OMPD_declare_mapper,
+ llvm::omp::allowedOnceClauses_OMPD_declare_mapper,
+ llvm::omp::allowedExclusiveClauses_OMPD_declare_mapper,
+ llvm::omp::requiredClauses_OMPD_declare_mapper,
+ }
+ },
+ {llvm::omp::Directive::OMPD_declare_reduction,
+ {
+ llvm::omp::allowedClauses_OMPD_declare_reduction,
+ llvm::omp::allowedOnceClauses_OMPD_declare_reduction,
+ llvm::omp::allowedExclusiveClauses_OMPD_declare_reduction,
+ llvm::omp::requiredClauses_OMPD_declare_reduction,
+ }
+ },
+ {llvm::omp::Directive::OMPD_declare_simd,
+ {
+ llvm::omp::allowedClauses_OMPD_declare_simd,
+ llvm::omp::allowedOnceClauses_OMPD_declare_simd,
+ llvm::omp::allowedExclusiveClauses_OMPD_declare_simd,
+ llvm::omp::requiredClauses_OMPD_declare_simd,
+ }
+ },
+ {llvm::omp::Directive::OMPD_declare_target,
+ {
+ llvm::omp::allowedClauses_OMPD_declare_target,
+ llvm::omp::allowedOnceClauses_OMPD_declare_target,
+ llvm::omp::allowedExclusiveClauses_OMPD_declare_target,
+ llvm::omp::requiredClauses_OMPD_declare_target,
+ }
+ },
+ {llvm::omp::Directive::OMPD_declare_variant,
+ {
+ llvm::omp::allowedClauses_OMPD_declare_variant,
+ llvm::omp::allowedOnceClauses_OMPD_declare_variant,
+ llvm::omp::allowedExclusiveClauses_OMPD_declare_variant,
+ llvm::omp::requiredClauses_OMPD_declare_variant,
+ }
+ },
+ {llvm::omp::Directive::OMPD_depobj,
+ {
+ llvm::omp::allowedClauses_OMPD_depobj,
+ llvm::omp::allowedOnceClauses_OMPD_depobj,
+ llvm::omp::allowedExclusiveClauses_OMPD_depobj,
+ llvm::omp::requiredClauses_OMPD_depobj,
+ }
+ },
+ {llvm::omp::Directive::OMPD_distribute,
+ {
+ llvm::omp::allowedClauses_OMPD_distribute,
+ llvm::omp::allowedOnceClauses_OMPD_distribute,
+ llvm::omp::allowedExclusiveClauses_OMPD_distribute,
+ llvm::omp::requiredClauses_OMPD_distribute,
+ }
+ },
+ {llvm::omp::Directive::OMPD_distribute_parallel_do,
+ {
+ llvm::omp::allowedClauses_OMPD_distribute_parallel_do,
+ llvm::omp::allowedOnceClauses_OMPD_distribute_parallel_do,
+ llvm::omp::allowedExclusiveClauses_OMPD_distribute_parallel_do,
+ llvm::omp::requiredClauses_OMPD_distribute_parallel_do,
+ }
+ },
+ {llvm::omp::Directive::OMPD_distribute_parallel_do_simd,
+ {
+ llvm::omp::allowedClauses_OMPD_distribute_parallel_do_simd,
+ llvm::omp::allowedOnceClauses_OMPD_distribute_parallel_do_simd,
+ llvm::omp::allowedExclusiveClauses_OMPD_distribute_parallel_do_simd,
+ llvm::omp::requiredClauses_OMPD_distribute_parallel_do_simd,
+ }
+ },
+ {llvm::omp::Directive::OMPD_distribute_parallel_for,
+ {
+ llvm::omp::allowedClauses_OMPD_distribute_parallel_for,
+ llvm::omp::allowedOnceClauses_OMPD_distribute_parallel_for,
+ llvm::omp::allowedExclusiveClauses_OMPD_distribute_parallel_for,
+ llvm::omp::requiredClauses_OMPD_distribute_parallel_for,
+ }
+ },
+ {llvm::omp::Directive::OMPD_distribute_parallel_for_simd,
+ {
+ llvm::omp::allowedClauses_OMPD_distribute_parallel_for_simd,
+ llvm::omp::allowedOnceClauses_OMPD_distribute_parallel_for_simd,
+ llvm::omp::allowedExclusiveClauses_OMPD_distribute_parallel_for_simd,
+ llvm::omp::requiredClauses_OMPD_distribute_parallel_for_simd,
+ }
+ },
+ {llvm::omp::Directive::OMPD_distribute_simd,
+ {
+ llvm::omp::allowedClauses_OMPD_distribute_simd,
+ llvm::omp::allowedOnceClauses_OMPD_distribute_simd,
+ llvm::omp::allowedExclusiveClauses_OMPD_distribute_simd,
+ llvm::omp::requiredClauses_OMPD_distribute_simd,
+ }
+ },
+ {llvm::omp::Directive::OMPD_do,
+ {
+ llvm::omp::allowedClauses_OMPD_do,
+ llvm::omp::allowedOnceClauses_OMPD_do,
+ llvm::omp::allowedExclusiveClauses_OMPD_do,
+ llvm::omp::requiredClauses_OMPD_do,
+ }
+ },
+ {llvm::omp::Directive::OMPD_do_simd,
+ {
+ llvm::omp::allowedClauses_OMPD_do_simd,
+ llvm::omp::allowedOnceClauses_OMPD_do_simd,
+ llvm::omp::allowedExclusiveClauses_OMPD_do_simd,
+ llvm::omp::requiredClauses_OMPD_do_simd,
+ }
+ },
+ {llvm::omp::Directive::OMPD_end_assumes,
+ {
+ llvm::omp::allowedClauses_OMPD_end_assumes,
+ llvm::omp::allowedOnceClauses_OMPD_end_assumes,
+ llvm::omp::allowedExclusiveClauses_OMPD_end_assumes,
+ llvm::omp::requiredClauses_OMPD_end_assumes,
+ }
+ },
+ {llvm::omp::Directive::OMPD_end_declare_target,
+ {
+ llvm::omp::allowedClauses_OMPD_end_declare_target,
+ llvm::omp::allowedOnceClauses_OMPD_end_declare_target,
+ llvm::omp::allowedExclusiveClauses_OMPD_end_declare_target,
+ llvm::omp::requiredClauses_OMPD_end_declare_target,
+ }
+ },
+ {llvm::omp::Directive::OMPD_end_declare_variant,
+ {
+ llvm::omp::allowedClauses_OMPD_end_declare_variant,
+ llvm::omp::allowedOnceClauses_OMPD_end_declare_variant,
+ llvm::omp::allowedExclusiveClauses_OMPD_end_declare_variant,
+ llvm::omp::requiredClauses_OMPD_end_declare_variant,
+ }
+ },
+ {llvm::omp::Directive::OMPD_end_do,
+ {
+ llvm::omp::allowedClauses_OMPD_end_do,
+ llvm::omp::allowedOnceClauses_OMPD_end_do,
+ llvm::omp::allowedExclusiveClauses_OMPD_end_do,
+ llvm::omp::requiredClauses_OMPD_end_do,
+ }
+ },
+ {llvm::omp::Directive::OMPD_end_do_simd,
+ {
+ llvm::omp::allowedClauses_OMPD_end_do_simd,
+ llvm::omp::allowedOnceClauses_OMPD_end_do_simd,
+ llvm::omp::allowedExclusiveClauses_OMPD_end_do_simd,
+ llvm::omp::requiredClauses_OMPD_end_do_simd,
+ }
+ },
+ {llvm::omp::Directive::OMPD_end_sections,
+ {
+ llvm::omp::allowedClauses_OMPD_end_sections,
+ llvm::omp::allowedOnceClauses_OMPD_end_sections,
+ llvm::omp::allowedExclusiveClauses_OMPD_end_sections,
+ llvm::omp::requiredClauses_OMPD_end_sections,
+ }
+ },
+ {llvm::omp::Directive::OMPD_end_single,
+ {
+ llvm::omp::allowedClauses_OMPD_end_single,
+ llvm::omp::allowedOnceClauses_OMPD_end_single,
+ llvm::omp::allowedExclusiveClauses_OMPD_end_single,
+ llvm::omp::requiredClauses_OMPD_end_single,
+ }
+ },
+ {llvm::omp::Directive::OMPD_end_workshare,
+ {
+ llvm::omp::allowedClauses_OMPD_end_workshare,
+ llvm::omp::allowedOnceClauses_OMPD_end_workshare,
+ llvm::omp::allowedExclusiveClauses_OMPD_end_workshare,
+ llvm::omp::requiredClauses_OMPD_end_workshare,
+ }
+ },
+ {llvm::omp::Directive::OMPD_flush,
+ {
+ llvm::omp::allowedClauses_OMPD_flush,
+ llvm::omp::allowedOnceClauses_OMPD_flush,
+ llvm::omp::allowedExclusiveClauses_OMPD_flush,
+ llvm::omp::requiredClauses_OMPD_flush,
+ }
+ },
+ {llvm::omp::Directive::OMPD_for,
+ {
+ llvm::omp::allowedClauses_OMPD_for,
+ llvm::omp::allowedOnceClauses_OMPD_for,
+ llvm::omp::allowedExclusiveClauses_OMPD_for,
+ llvm::omp::requiredClauses_OMPD_for,
+ }
+ },
+ {llvm::omp::Directive::OMPD_for_simd,
+ {
+ llvm::omp::allowedClauses_OMPD_for_simd,
+ llvm::omp::allowedOnceClauses_OMPD_for_simd,
+ llvm::omp::allowedExclusiveClauses_OMPD_for_simd,
+ llvm::omp::requiredClauses_OMPD_for_simd,
+ }
+ },
+ {llvm::omp::Directive::OMPD_master,
+ {
+ llvm::omp::allowedClauses_OMPD_master,
+ llvm::omp::allowedOnceClauses_OMPD_master,
+ llvm::omp::allowedExclusiveClauses_OMPD_master,
+ llvm::omp::requiredClauses_OMPD_master,
+ }
+ },
+ {llvm::omp::Directive::OMPD_master_taskloop,
+ {
+ llvm::omp::allowedClauses_OMPD_master_taskloop,
+ llvm::omp::allowedOnceClauses_OMPD_master_taskloop,
+ llvm::omp::allowedExclusiveClauses_OMPD_master_taskloop,
+ llvm::omp::requiredClauses_OMPD_master_taskloop,
+ }
+ },
+ {llvm::omp::Directive::OMPD_master_taskloop_simd,
+ {
+ llvm::omp::allowedClauses_OMPD_master_taskloop_simd,
+ llvm::omp::allowedOnceClauses_OMPD_master_taskloop_simd,
+ llvm::omp::allowedExclusiveClauses_OMPD_master_taskloop_simd,
+ llvm::omp::requiredClauses_OMPD_master_taskloop_simd,
+ }
+ },
+ {llvm::omp::Directive::OMPD_ordered,
+ {
+ llvm::omp::allowedClauses_OMPD_ordered,
+ llvm::omp::allowedOnceClauses_OMPD_ordered,
+ llvm::omp::allowedExclusiveClauses_OMPD_ordered,
+ llvm::omp::requiredClauses_OMPD_ordered,
+ }
+ },
+ {llvm::omp::Directive::OMPD_parallel,
+ {
+ llvm::omp::allowedClauses_OMPD_parallel,
+ llvm::omp::allowedOnceClauses_OMPD_parallel,
+ llvm::omp::allowedExclusiveClauses_OMPD_parallel,
+ llvm::omp::requiredClauses_OMPD_parallel,
+ }
+ },
+ {llvm::omp::Directive::OMPD_parallel_do,
+ {
+ llvm::omp::allowedClauses_OMPD_parallel_do,
+ llvm::omp::allowedOnceClauses_OMPD_parallel_do,
+ llvm::omp::allowedExclusiveClauses_OMPD_parallel_do,
+ llvm::omp::requiredClauses_OMPD_parallel_do,
+ }
+ },
+ {llvm::omp::Directive::OMPD_parallel_do_simd,
+ {
+ llvm::omp::allowedClauses_OMPD_parallel_do_simd,
+ llvm::omp::allowedOnceClauses_OMPD_parallel_do_simd,
+ llvm::omp::allowedExclusiveClauses_OMPD_parallel_do_simd,
+ llvm::omp::requiredClauses_OMPD_parallel_do_simd,
+ }
+ },
+ {llvm::omp::Directive::OMPD_parallel_for,
+ {
+ llvm::omp::allowedClauses_OMPD_parallel_for,
+ llvm::omp::allowedOnceClauses_OMPD_parallel_for,
+ llvm::omp::allowedExclusiveClauses_OMPD_parallel_for,
+ llvm::omp::requiredClauses_OMPD_parallel_for,
+ }
+ },
+ {llvm::omp::Directive::OMPD_parallel_for_simd,
+ {
+ llvm::omp::allowedClauses_OMPD_parallel_for_simd,
+ llvm::omp::allowedOnceClauses_OMPD_parallel_for_simd,
+ llvm::omp::allowedExclusiveClauses_OMPD_parallel_for_simd,
+ llvm::omp::requiredClauses_OMPD_parallel_for_simd,
+ }
+ },
+ {llvm::omp::Directive::OMPD_parallel_master,
+ {
+ llvm::omp::allowedClauses_OMPD_parallel_master,
+ llvm::omp::allowedOnceClauses_OMPD_parallel_master,
+ llvm::omp::allowedExclusiveClauses_OMPD_parallel_master,
+ llvm::omp::requiredClauses_OMPD_parallel_master,
+ }
+ },
+ {llvm::omp::Directive::OMPD_parallel_master_taskloop,
+ {
+ llvm::omp::allowedClauses_OMPD_parallel_master_taskloop,
+ llvm::omp::allowedOnceClauses_OMPD_parallel_master_taskloop,
+ llvm::omp::allowedExclusiveClauses_OMPD_parallel_master_taskloop,
+ llvm::omp::requiredClauses_OMPD_parallel_master_taskloop,
+ }
+ },
+ {llvm::omp::Directive::OMPD_parallel_master_taskloop_simd,
+ {
+ llvm::omp::allowedClauses_OMPD_parallel_master_taskloop_simd,
+ llvm::omp::allowedOnceClauses_OMPD_parallel_master_taskloop_simd,
+ llvm::omp::allowedExclusiveClauses_OMPD_parallel_master_taskloop_simd,
+ llvm::omp::requiredClauses_OMPD_parallel_master_taskloop_simd,
+ }
+ },
+ {llvm::omp::Directive::OMPD_parallel_sections,
+ {
+ llvm::omp::allowedClauses_OMPD_parallel_sections,
+ llvm::omp::allowedOnceClauses_OMPD_parallel_sections,
+ llvm::omp::allowedExclusiveClauses_OMPD_parallel_sections,
+ llvm::omp::requiredClauses_OMPD_parallel_sections,
+ }
+ },
+ {llvm::omp::Directive::OMPD_parallel_workshare,
+ {
+ llvm::omp::allowedClauses_OMPD_parallel_workshare,
+ llvm::omp::allowedOnceClauses_OMPD_parallel_workshare,
+ llvm::omp::allowedExclusiveClauses_OMPD_parallel_workshare,
+ llvm::omp::requiredClauses_OMPD_parallel_workshare,
+ }
+ },
+ {llvm::omp::Directive::OMPD_requires,
+ {
+ llvm::omp::allowedClauses_OMPD_requires,
+ llvm::omp::allowedOnceClauses_OMPD_requires,
+ llvm::omp::allowedExclusiveClauses_OMPD_requires,
+ llvm::omp::requiredClauses_OMPD_requires,
+ }
+ },
+ {llvm::omp::Directive::OMPD_scan,
+ {
+ llvm::omp::allowedClauses_OMPD_scan,
+ llvm::omp::allowedOnceClauses_OMPD_scan,
+ llvm::omp::allowedExclusiveClauses_OMPD_scan,
+ llvm::omp::requiredClauses_OMPD_scan,
+ }
+ },
+ {llvm::omp::Directive::OMPD_section,
+ {
+ llvm::omp::allowedClauses_OMPD_section,
+ llvm::omp::allowedOnceClauses_OMPD_section,
+ llvm::omp::allowedExclusiveClauses_OMPD_section,
+ llvm::omp::requiredClauses_OMPD_section,
+ }
+ },
+ {llvm::omp::Directive::OMPD_sections,
+ {
+ llvm::omp::allowedClauses_OMPD_sections,
+ llvm::omp::allowedOnceClauses_OMPD_sections,
+ llvm::omp::allowedExclusiveClauses_OMPD_sections,
+ llvm::omp::requiredClauses_OMPD_sections,
+ }
+ },
+ {llvm::omp::Directive::OMPD_simd,
+ {
+ llvm::omp::allowedClauses_OMPD_simd,
+ llvm::omp::allowedOnceClauses_OMPD_simd,
+ llvm::omp::allowedExclusiveClauses_OMPD_simd,
+ llvm::omp::requiredClauses_OMPD_simd,
+ }
+ },
+ {llvm::omp::Directive::OMPD_single,
+ {
+ llvm::omp::allowedClauses_OMPD_single,
+ llvm::omp::allowedOnceClauses_OMPD_single,
+ llvm::omp::allowedExclusiveClauses_OMPD_single,
+ llvm::omp::requiredClauses_OMPD_single,
+ }
+ },
+ {llvm::omp::Directive::OMPD_target,
+ {
+ llvm::omp::allowedClauses_OMPD_target,
+ llvm::omp::allowedOnceClauses_OMPD_target,
+ llvm::omp::allowedExclusiveClauses_OMPD_target,
+ llvm::omp::requiredClauses_OMPD_target,
+ }
+ },
+ {llvm::omp::Directive::OMPD_target_data,
+ {
+ llvm::omp::allowedClauses_OMPD_target_data,
+ llvm::omp::allowedOnceClauses_OMPD_target_data,
+ llvm::omp::allowedExclusiveClauses_OMPD_target_data,
+ llvm::omp::requiredClauses_OMPD_target_data,
+ }
+ },
+ {llvm::omp::Directive::OMPD_target_enter_data,
+ {
+ llvm::omp::allowedClauses_OMPD_target_enter_data,
+ llvm::omp::allowedOnceClauses_OMPD_target_enter_data,
+ llvm::omp::allowedExclusiveClauses_OMPD_target_enter_data,
+ llvm::omp::requiredClauses_OMPD_target_enter_data,
+ }
+ },
+ {llvm::omp::Directive::OMPD_target_exit_data,
+ {
+ llvm::omp::allowedClauses_OMPD_target_exit_data,
+ llvm::omp::allowedOnceClauses_OMPD_target_exit_data,
+ llvm::omp::allowedExclusiveClauses_OMPD_target_exit_data,
+ llvm::omp::requiredClauses_OMPD_target_exit_data,
+ }
+ },
+ {llvm::omp::Directive::OMPD_target_parallel,
+ {
+ llvm::omp::allowedClauses_OMPD_target_parallel,
+ llvm::omp::allowedOnceClauses_OMPD_target_parallel,
+ llvm::omp::allowedExclusiveClauses_OMPD_target_parallel,
+ llvm::omp::requiredClauses_OMPD_target_parallel,
+ }
+ },
+ {llvm::omp::Directive::OMPD_target_parallel_do,
+ {
+ llvm::omp::allowedClauses_OMPD_target_parallel_do,
+ llvm::omp::allowedOnceClauses_OMPD_target_parallel_do,
+ llvm::omp::allowedExclusiveClauses_OMPD_target_parallel_do,
+ llvm::omp::requiredClauses_OMPD_target_parallel_do,
+ }
+ },
+ {llvm::omp::Directive::OMPD_target_parallel_do_simd,
+ {
+ llvm::omp::allowedClauses_OMPD_target_parallel_do_simd,
+ llvm::omp::allowedOnceClauses_OMPD_target_parallel_do_simd,
+ llvm::omp::allowedExclusiveClauses_OMPD_target_parallel_do_simd,
+ llvm::omp::requiredClauses_OMPD_target_parallel_do_simd,
+ }
+ },
+ {llvm::omp::Directive::OMPD_target_parallel_for,
+ {
+ llvm::omp::allowedClauses_OMPD_target_parallel_for,
+ llvm::omp::allowedOnceClauses_OMPD_target_parallel_for,
+ llvm::omp::allowedExclusiveClauses_OMPD_target_parallel_for,
+ llvm::omp::requiredClauses_OMPD_target_parallel_for,
+ }
+ },
+ {llvm::omp::Directive::OMPD_target_parallel_for_simd,
+ {
+ llvm::omp::allowedClauses_OMPD_target_parallel_for_simd,
+ llvm::omp::allowedOnceClauses_OMPD_target_parallel_for_simd,
+ llvm::omp::allowedExclusiveClauses_OMPD_target_parallel_for_simd,
+ llvm::omp::requiredClauses_OMPD_target_parallel_for_simd,
+ }
+ },
+ {llvm::omp::Directive::OMPD_target_simd,
+ {
+ llvm::omp::allowedClauses_OMPD_target_simd,
+ llvm::omp::allowedOnceClauses_OMPD_target_simd,
+ llvm::omp::allowedExclusiveClauses_OMPD_target_simd,
+ llvm::omp::requiredClauses_OMPD_target_simd,
+ }
+ },
+ {llvm::omp::Directive::OMPD_target_teams,
+ {
+ llvm::omp::allowedClauses_OMPD_target_teams,
+ llvm::omp::allowedOnceClauses_OMPD_target_teams,
+ llvm::omp::allowedExclusiveClauses_OMPD_target_teams,
+ llvm::omp::requiredClauses_OMPD_target_teams,
+ }
+ },
+ {llvm::omp::Directive::OMPD_target_teams_distribute,
+ {
+ llvm::omp::allowedClauses_OMPD_target_teams_distribute,
+ llvm::omp::allowedOnceClauses_OMPD_target_teams_distribute,
+ llvm::omp::allowedExclusiveClauses_OMPD_target_teams_distribute,
+ llvm::omp::requiredClauses_OMPD_target_teams_distribute,
+ }
+ },
+ {llvm::omp::Directive::OMPD_target_teams_distribute_parallel_do,
+ {
+ llvm::omp::allowedClauses_OMPD_target_teams_distribute_parallel_do,
+ llvm::omp::allowedOnceClauses_OMPD_target_teams_distribute_parallel_do,
+ llvm::omp::allowedExclusiveClauses_OMPD_target_teams_distribute_parallel_do,
+ llvm::omp::requiredClauses_OMPD_target_teams_distribute_parallel_do,
+ }
+ },
+ {llvm::omp::Directive::OMPD_target_teams_distribute_parallel_do_simd,
+ {
+ llvm::omp::allowedClauses_OMPD_target_teams_distribute_parallel_do_simd,
+ llvm::omp::allowedOnceClauses_OMPD_target_teams_distribute_parallel_do_simd,
+ llvm::omp::allowedExclusiveClauses_OMPD_target_teams_distribute_parallel_do_simd,
+ llvm::omp::requiredClauses_OMPD_target_teams_distribute_parallel_do_simd,
+ }
+ },
+ {llvm::omp::Directive::OMPD_target_teams_distribute_parallel_for,
+ {
+ llvm::omp::allowedClauses_OMPD_target_teams_distribute_parallel_for,
+ llvm::omp::allowedOnceClauses_OMPD_target_teams_distribute_parallel_for,
+ llvm::omp::allowedExclusiveClauses_OMPD_target_teams_distribute_parallel_for,
+ llvm::omp::requiredClauses_OMPD_target_teams_distribute_parallel_for,
+ }
+ },
+ {llvm::omp::Directive::OMPD_target_teams_distribute_parallel_for_simd,
+ {
+ llvm::omp::allowedClauses_OMPD_target_teams_distribute_parallel_for_simd,
+ llvm::omp::allowedOnceClauses_OMPD_target_teams_distribute_parallel_for_simd,
+ llvm::omp::allowedExclusiveClauses_OMPD_target_teams_distribute_parallel_for_simd,
+ llvm::omp::requiredClauses_OMPD_target_teams_distribute_parallel_for_simd,
+ }
+ },
+ {llvm::omp::Directive::OMPD_target_teams_distribute_simd,
+ {
+ llvm::omp::allowedClauses_OMPD_target_teams_distribute_simd,
+ llvm::omp::allowedOnceClauses_OMPD_target_teams_distribute_simd,
+ llvm::omp::allowedExclusiveClauses_OMPD_target_teams_distribute_simd,
+ llvm::omp::requiredClauses_OMPD_target_teams_distribute_simd,
+ }
+ },
+ {llvm::omp::Directive::OMPD_target_update,
+ {
+ llvm::omp::allowedClauses_OMPD_target_update,
+ llvm::omp::allowedOnceClauses_OMPD_target_update,
+ llvm::omp::allowedExclusiveClauses_OMPD_target_update,
+ llvm::omp::requiredClauses_OMPD_target_update,
+ }
+ },
+ {llvm::omp::Directive::OMPD_task,
+ {
+ llvm::omp::allowedClauses_OMPD_task,
+ llvm::omp::allowedOnceClauses_OMPD_task,
+ llvm::omp::allowedExclusiveClauses_OMPD_task,
+ llvm::omp::requiredClauses_OMPD_task,
+ }
+ },
+ {llvm::omp::Directive::OMPD_taskgroup,
+ {
+ llvm::omp::allowedClauses_OMPD_taskgroup,
+ llvm::omp::allowedOnceClauses_OMPD_taskgroup,
+ llvm::omp::allowedExclusiveClauses_OMPD_taskgroup,
+ llvm::omp::requiredClauses_OMPD_taskgroup,
+ }
+ },
+ {llvm::omp::Directive::OMPD_taskloop,
+ {
+ llvm::omp::allowedClauses_OMPD_taskloop,
+ llvm::omp::allowedOnceClauses_OMPD_taskloop,
+ llvm::omp::allowedExclusiveClauses_OMPD_taskloop,
+ llvm::omp::requiredClauses_OMPD_taskloop,
+ }
+ },
+ {llvm::omp::Directive::OMPD_taskloop_simd,
+ {
+ llvm::omp::allowedClauses_OMPD_taskloop_simd,
+ llvm::omp::allowedOnceClauses_OMPD_taskloop_simd,
+ llvm::omp::allowedExclusiveClauses_OMPD_taskloop_simd,
+ llvm::omp::requiredClauses_OMPD_taskloop_simd,
+ }
+ },
+ {llvm::omp::Directive::OMPD_taskwait,
+ {
+ llvm::omp::allowedClauses_OMPD_taskwait,
+ llvm::omp::allowedOnceClauses_OMPD_taskwait,
+ llvm::omp::allowedExclusiveClauses_OMPD_taskwait,
+ llvm::omp::requiredClauses_OMPD_taskwait,
+ }
+ },
+ {llvm::omp::Directive::OMPD_taskyield,
+ {
+ llvm::omp::allowedClauses_OMPD_taskyield,
+ llvm::omp::allowedOnceClauses_OMPD_taskyield,
+ llvm::omp::allowedExclusiveClauses_OMPD_taskyield,
+ llvm::omp::requiredClauses_OMPD_taskyield,
+ }
+ },
+ {llvm::omp::Directive::OMPD_teams,
+ {
+ llvm::omp::allowedClauses_OMPD_teams,
+ llvm::omp::allowedOnceClauses_OMPD_teams,
+ llvm::omp::allowedExclusiveClauses_OMPD_teams,
+ llvm::omp::requiredClauses_OMPD_teams,
+ }
+ },
+ {llvm::omp::Directive::OMPD_teams_distribute,
+ {
+ llvm::omp::allowedClauses_OMPD_teams_distribute,
+ llvm::omp::allowedOnceClauses_OMPD_teams_distribute,
+ llvm::omp::allowedExclusiveClauses_OMPD_teams_distribute,
+ llvm::omp::requiredClauses_OMPD_teams_distribute,
+ }
+ },
+ {llvm::omp::Directive::OMPD_teams_distribute_parallel_do,
+ {
+ llvm::omp::allowedClauses_OMPD_teams_distribute_parallel_do,
+ llvm::omp::allowedOnceClauses_OMPD_teams_distribute_parallel_do,
+ llvm::omp::allowedExclusiveClauses_OMPD_teams_distribute_parallel_do,
+ llvm::omp::requiredClauses_OMPD_teams_distribute_parallel_do,
+ }
+ },
+ {llvm::omp::Directive::OMPD_teams_distribute_parallel_do_simd,
+ {
+ llvm::omp::allowedClauses_OMPD_teams_distribute_parallel_do_simd,
+ llvm::omp::allowedOnceClauses_OMPD_teams_distribute_parallel_do_simd,
+ llvm::omp::allowedExclusiveClauses_OMPD_teams_distribute_parallel_do_simd,
+ llvm::omp::requiredClauses_OMPD_teams_distribute_parallel_do_simd,
+ }
+ },
+ {llvm::omp::Directive::OMPD_teams_distribute_parallel_for,
+ {
+ llvm::omp::allowedClauses_OMPD_teams_distribute_parallel_for,
+ llvm::omp::allowedOnceClauses_OMPD_teams_distribute_parallel_for,
+ llvm::omp::allowedExclusiveClauses_OMPD_teams_distribute_parallel_for,
+ llvm::omp::requiredClauses_OMPD_teams_distribute_parallel_for,
+ }
+ },
+ {llvm::omp::Directive::OMPD_teams_distribute_parallel_for_simd,
+ {
+ llvm::omp::allowedClauses_OMPD_teams_distribute_parallel_for_simd,
+ llvm::omp::allowedOnceClauses_OMPD_teams_distribute_parallel_for_simd,
+ llvm::omp::allowedExclusiveClauses_OMPD_teams_distribute_parallel_for_simd,
+ llvm::omp::requiredClauses_OMPD_teams_distribute_parallel_for_simd,
+ }
+ },
+ {llvm::omp::Directive::OMPD_teams_distribute_simd,
+ {
+ llvm::omp::allowedClauses_OMPD_teams_distribute_simd,
+ llvm::omp::allowedOnceClauses_OMPD_teams_distribute_simd,
+ llvm::omp::allowedExclusiveClauses_OMPD_teams_distribute_simd,
+ llvm::omp::requiredClauses_OMPD_teams_distribute_simd,
+ }
+ },
+ {llvm::omp::Directive::OMPD_threadprivate,
+ {
+ llvm::omp::allowedClauses_OMPD_threadprivate,
+ llvm::omp::allowedOnceClauses_OMPD_threadprivate,
+ llvm::omp::allowedExclusiveClauses_OMPD_threadprivate,
+ llvm::omp::requiredClauses_OMPD_threadprivate,
+ }
+ },
+ {llvm::omp::Directive::OMPD_unknown,
+ {
+ llvm::omp::allowedClauses_OMPD_unknown,
+ llvm::omp::allowedOnceClauses_OMPD_unknown,
+ llvm::omp::allowedExclusiveClauses_OMPD_unknown,
+ llvm::omp::requiredClauses_OMPD_unknown,
+ }
+ },
+ {llvm::omp::Directive::OMPD_workshare,
+ {
+ llvm::omp::allowedClauses_OMPD_workshare,
+ llvm::omp::allowedOnceClauses_OMPD_workshare,
+ llvm::omp::allowedExclusiveClauses_OMPD_workshare,
+ llvm::omp::requiredClauses_OMPD_workshare,
+ }
+ },
+}
+
+#endif // GEN_FLANG_DIRECTIVE_CLAUSE_MAP
+
+#ifdef GEN_FLANG_CLAUSE_PARSER_CLASSES
+#undef GEN_FLANG_CLAUSE_PARSER_CLASSES
+
+EMPTY_CLASS(AcqRel);
+EMPTY_CLASS(Acquire);
+EMPTY_CLASS(Affinity);
+WRAPPER_CLASS(Aligned, OmpAlignedClause);
+WRAPPER_CLASS(Allocate, OmpAllocateClause);
+WRAPPER_CLASS(Allocator, ScalarIntExpr);
+EMPTY_CLASS(AtomicDefaultMemOrder);
+EMPTY_CLASS(Capture);
+WRAPPER_CLASS(Collapse, ScalarIntConstantExpr);
+WRAPPER_CLASS(Copyprivate, OmpObjectList);
+WRAPPER_CLASS(Copyin, OmpObjectList);
+WRAPPER_CLASS(Default, OmpDefaultClause);
+WRAPPER_CLASS(Defaultmap, OmpDefaultmapClause);
+WRAPPER_CLASS(Depend, OmpDependClause);
+EMPTY_CLASS(Depobj);
+EMPTY_CLASS(Destroy);
+EMPTY_CLASS(Detach);
+WRAPPER_CLASS(Device, ScalarIntExpr);
+EMPTY_CLASS(DeviceType);
+WRAPPER_CLASS(DistSchedule, std::optional<ScalarIntExpr>);
+EMPTY_CLASS(DynamicAllocators);
+EMPTY_CLASS(Exclusive);
+WRAPPER_CLASS(Final, ScalarLogicalExpr);
+WRAPPER_CLASS(Firstprivate, OmpObjectList);
+EMPTY_CLASS(Flush);
+WRAPPER_CLASS(From, OmpObjectList);
+WRAPPER_CLASS(Grainsize, ScalarIntExpr);
+WRAPPER_CLASS(Hint, ConstantExpr);
+WRAPPER_CLASS(If, OmpIfClause);
+EMPTY_CLASS(InReduction);
+EMPTY_CLASS(Inbranch);
+EMPTY_CLASS(Inclusive);
+WRAPPER_CLASS(IsDevicePtr, std::list<Name>);
+WRAPPER_CLASS(Lastprivate, OmpObjectList);
+WRAPPER_CLASS(Linear, OmpLinearClause);
+WRAPPER_CLASS(Link, OmpObjectList);
+WRAPPER_CLASS(Map, OmpMapClause);
+EMPTY_CLASS(Match);
+EMPTY_CLASS(Mergeable);
+EMPTY_CLASS(Nogroup);
+EMPTY_CLASS(Nowait);
+EMPTY_CLASS(Nontemporal);
+EMPTY_CLASS(Notinbranch);
+WRAPPER_CLASS(NumTasks, ScalarIntExpr);
+WRAPPER_CLASS(NumTeams, ScalarIntExpr);
+WRAPPER_CLASS(NumThreads, ScalarIntExpr);
+EMPTY_CLASS(Order);
+WRAPPER_CLASS(Ordered, std::optional<ScalarIntConstantExpr>);
+WRAPPER_CLASS(Priority, ScalarIntExpr);
+WRAPPER_CLASS(Private, OmpObjectList);
+WRAPPER_CLASS(ProcBind, OmpProcBindClause);
+EMPTY_CLASS(Read);
+WRAPPER_CLASS(Reduction, OmpReductionClause);
+EMPTY_CLASS(Relaxed);
+EMPTY_CLASS(Release);
+EMPTY_CLASS(ReverseOffload);
+WRAPPER_CLASS(Safelen, ScalarIntConstantExpr);
+WRAPPER_CLASS(Schedule, OmpScheduleClause);
+EMPTY_CLASS(SeqCst);
+WRAPPER_CLASS(Shared, OmpObjectList);
+EMPTY_CLASS(Simd);
+WRAPPER_CLASS(Simdlen, ScalarIntConstantExpr);
+WRAPPER_CLASS(TaskReduction, OmpReductionClause);
+WRAPPER_CLASS(ThreadLimit, ScalarIntExpr);
+EMPTY_CLASS(Threadprivate);
+EMPTY_CLASS(Threads);
+WRAPPER_CLASS(To, OmpObjectList);
+EMPTY_CLASS(UnifiedAddress);
+EMPTY_CLASS(UnifiedSharedMemory);
+WRAPPER_CLASS(Uniform, std::list<Name>);
+EMPTY_CLASS(Unknown);
+EMPTY_CLASS(Untied);
+EMPTY_CLASS(Update);
+EMPTY_CLASS(UseDeviceAddr);
+WRAPPER_CLASS(UseDevicePtr, std::list<Name>);
+EMPTY_CLASS(UsesAllocators);
+EMPTY_CLASS(Write);
+
+#endif // GEN_FLANG_CLAUSE_PARSER_CLASSES
+
+#ifdef GEN_FLANG_CLAUSE_PARSER_CLASSES_LIST
+#undef GEN_FLANG_CLAUSE_PARSER_CLASSES_LIST
+
+AcqRel
+, Acquire
+, Affinity
+, Aligned
+, Allocate
+, Allocator
+, AtomicDefaultMemOrder
+, Capture
+, Collapse
+, Copyprivate
+, Copyin
+, Default
+, Defaultmap
+, Depend
+, Depobj
+, Destroy
+, Detach
+, Device
+, DeviceType
+, DistSchedule
+, DynamicAllocators
+, Exclusive
+, Final
+, Firstprivate
+, Flush
+, From
+, Grainsize
+, Hint
+, If
+, InReduction
+, Inbranch
+, Inclusive
+, IsDevicePtr
+, Lastprivate
+, Linear
+, Link
+, Map
+, Match
+, Mergeable
+, Nogroup
+, Nowait
+, Nontemporal
+, Notinbranch
+, NumTasks
+, NumTeams
+, NumThreads
+, Order
+, Ordered
+, Priority
+, Private
+, ProcBind
+, Read
+, Reduction
+, Relaxed
+, Release
+, ReverseOffload
+, Safelen
+, Schedule
+, SeqCst
+, Shared
+, Simd
+, Simdlen
+, TaskReduction
+, ThreadLimit
+, Threadprivate
+, Threads
+, To
+, UnifiedAddress
+, UnifiedSharedMemory
+, Uniform
+, Unknown
+, Untied
+, Update
+, UseDeviceAddr
+, UseDevicePtr
+, UsesAllocators
+, Write
+
+#endif // GEN_FLANG_CLAUSE_PARSER_CLASSES_LIST
+
+#ifdef GEN_FLANG_DUMP_PARSE_TREE_CLAUSES
+#undef GEN_FLANG_DUMP_PARSE_TREE_CLAUSES
+
+NODE(OmpClause, AcqRel)
+NODE(OmpClause, Acquire)
+NODE(OmpClause, Affinity)
+NODE(OmpClause, Aligned)
+NODE(OmpClause, Allocate)
+NODE(OmpClause, Allocator)
+NODE(OmpClause, AtomicDefaultMemOrder)
+NODE(OmpClause, Capture)
+NODE(OmpClause, Collapse)
+NODE(OmpClause, Copyprivate)
+NODE(OmpClause, Copyin)
+NODE(OmpClause, Default)
+NODE(OmpClause, Defaultmap)
+NODE(OmpClause, Depend)
+NODE(OmpClause, Depobj)
+NODE(OmpClause, Destroy)
+NODE(OmpClause, Detach)
+NODE(OmpClause, Device)
+NODE(OmpClause, DeviceType)
+NODE(OmpClause, DistSchedule)
+NODE(OmpClause, DynamicAllocators)
+NODE(OmpClause, Exclusive)
+NODE(OmpClause, Final)
+NODE(OmpClause, Firstprivate)
+NODE(OmpClause, Flush)
+NODE(OmpClause, From)
+NODE(OmpClause, Grainsize)
+NODE(OmpClause, Hint)
+NODE(OmpClause, If)
+NODE(OmpClause, InReduction)
+NODE(OmpClause, Inbranch)
+NODE(OmpClause, Inclusive)
+NODE(OmpClause, IsDevicePtr)
+NODE(OmpClause, Lastprivate)
+NODE(OmpClause, Linear)
+NODE(OmpClause, Link)
+NODE(OmpClause, Map)
+NODE(OmpClause, Match)
+NODE(OmpClause, Mergeable)
+NODE(OmpClause, Nogroup)
+NODE(OmpClause, Nowait)
+NODE(OmpClause, Nontemporal)
+NODE(OmpClause, Notinbranch)
+NODE(OmpClause, NumTasks)
+NODE(OmpClause, NumTeams)
+NODE(OmpClause, NumThreads)
+NODE(OmpClause, Order)
+NODE(OmpClause, Ordered)
+NODE(OmpClause, Priority)
+NODE(OmpClause, Private)
+NODE(OmpClause, ProcBind)
+NODE(OmpClause, Read)
+NODE(OmpClause, Reduction)
+NODE(OmpClause, Relaxed)
+NODE(OmpClause, Release)
+NODE(OmpClause, ReverseOffload)
+NODE(OmpClause, Safelen)
+NODE(OmpClause, Schedule)
+NODE(OmpClause, SeqCst)
+NODE(OmpClause, Shared)
+NODE(OmpClause, Simd)
+NODE(OmpClause, Simdlen)
+NODE(OmpClause, TaskReduction)
+NODE(OmpClause, ThreadLimit)
+NODE(OmpClause, Threadprivate)
+NODE(OmpClause, Threads)
+NODE(OmpClause, To)
+NODE(OmpClause, UnifiedAddress)
+NODE(OmpClause, UnifiedSharedMemory)
+NODE(OmpClause, Uniform)
+NODE(OmpClause, Unknown)
+NODE(OmpClause, Untied)
+NODE(OmpClause, Update)
+NODE(OmpClause, UseDeviceAddr)
+NODE(OmpClause, UseDevicePtr)
+NODE(OmpClause, UsesAllocators)
+NODE(OmpClause, Write)
+
+#endif // GEN_FLANG_DUMP_PARSE_TREE_CLAUSES
+
+#ifdef GEN_FLANG_CLAUSE_UNPARSE
+#undef GEN_FLANG_CLAUSE_UNPARSE
+
+void Before(const OmpClause::AcqRel &) { Word("ACQ_REL"); }
+void Before(const OmpClause::Acquire &) { Word("ACQUIRE"); }
+void Before(const OmpClause::Affinity &) { Word("AFFINITY"); }
+void Unparse(const OmpClause::Aligned &x) {
+ Word("ALIGNED");
+ Put("(");
+ Walk(x.v);
+ Put(")");
+}
+void Unparse(const OmpClause::Allocate &x) {
+ Word("ALLOCATE");
+ Put("(");
+ Walk(x.v);
+ Put(")");
+}
+void Unparse(const OmpClause::Allocator &x) {
+ Word("ALLOCATOR");
+ Put("(");
+ Walk(x.v);
+ Put(")");
+}
+void Before(const OmpClause::AtomicDefaultMemOrder &) { Word("ATOMIC_DEFAULT_MEM_ORDER"); }
+void Before(const OmpClause::Capture &) { Word("CAPTURE"); }
+void Unparse(const OmpClause::Collapse &x) {
+ Word("COLLAPSE");
+ Put("(");
+ Walk(x.v);
+ Put(")");
+}
+void Unparse(const OmpClause::Copyprivate &x) {
+ Word("COPYPRIVATE");
+ Put("(");
+ Walk(x.v);
+ Put(")");
+}
+void Unparse(const OmpClause::Copyin &x) {
+ Word("COPYIN");
+ Put("(");
+ Walk(x.v);
+ Put(")");
+}
+void Unparse(const OmpClause::Default &x) {
+ Word("DEFAULT");
+ Put("(");
+ Walk(x.v);
+ Put(")");
+}
+void Unparse(const OmpClause::Defaultmap &x) {
+ Word("DEFAULTMAP");
+ Put("(");
+ Walk(x.v);
+ Put(")");
+}
+void Unparse(const OmpClause::Depend &x) {
+ Word("DEPEND");
+ Put("(");
+ Walk(x.v);
+ Put(")");
+}
+void Before(const OmpClause::Depobj &) { Word("DEPOBJ"); }
+void Before(const OmpClause::Destroy &) { Word("DESTROY"); }
+void Before(const OmpClause::Detach &) { Word("DETACH"); }
+void Unparse(const OmpClause::Device &x) {
+ Word("DEVICE");
+ Put("(");
+ Walk(x.v);
+ Put(")");
+}
+void Before(const OmpClause::DeviceType &) { Word("DEVICE_TYPE"); }
+void Unparse(const OmpClause::DistSchedule &x) {
+ Word("DIST_SCHEDULE");
+ Walk("(", x.v, ")");
+}
+void Before(const OmpClause::DynamicAllocators &) { Word("DYNAMIC_ALLOCATORS"); }
+void Before(const OmpClause::Exclusive &) { Word("EXCLUSIVE"); }
+void Unparse(const OmpClause::Final &x) {
+ Word("FINAL");
+ Put("(");
+ Walk(x.v);
+ Put(")");
+}
+void Unparse(const OmpClause::Firstprivate &x) {
+ Word("FIRSTPRIVATE");
+ Put("(");
+ Walk(x.v);
+ Put(")");
+}
+void Before(const OmpClause::Flush &) { Word("FLUSH"); }
+void Unparse(const OmpClause::From &x) {
+ Word("FROM");
+ Put("(");
+ Walk(x.v);
+ Put(")");
+}
+void Unparse(const OmpClause::Grainsize &x) {
+ Word("GRAINSIZE");
+ Put("(");
+ Walk(x.v);
+ Put(")");
+}
+void Unparse(const OmpClause::Hint &x) {
+ Word("HINT");
+ Put("(");
+ Walk(x.v);
+ Put(")");
+}
+void Unparse(const OmpClause::If &x) {
+ Word("IF");
+ Put("(");
+ Walk(x.v);
+ Put(")");
+}
+void Before(const OmpClause::InReduction &) { Word("IN_REDUCTION"); }
+void Before(const OmpClause::Inbranch &) { Word("INBRANCH"); }
+void Before(const OmpClause::Inclusive &) { Word("INCLUSIVE"); }
+void Unparse(const OmpClause::IsDevicePtr &x) {
+ Word("IS_DEVICE_PTR");
+ Put("(");
+ Walk(x.v, ",");
+ Put(")");
+}
+void Unparse(const OmpClause::Lastprivate &x) {
+ Word("LASTPRIVATE");
+ Put("(");
+ Walk(x.v);
+ Put(")");
+}
+void Unparse(const OmpClause::Linear &x) {
+ Word("LINEAR");
+ Put("(");
+ Walk(x.v);
+ Put(")");
+}
+void Unparse(const OmpClause::Link &x) {
+ Word("LINK");
+ Put("(");
+ Walk(x.v);
+ Put(")");
+}
+void Unparse(const OmpClause::Map &x) {
+ Word("MAP");
+ Put("(");
+ Walk(x.v);
+ Put(")");
+}
+void Before(const OmpClause::Match &) { Word("MATCH"); }
+void Before(const OmpClause::Mergeable &) { Word("MERGEABLE"); }
+void Before(const OmpClause::Nogroup &) { Word("NOGROUP"); }
+void Before(const OmpClause::Nowait &) { Word("NOWAIT"); }
+void Before(const OmpClause::Nontemporal &) { Word("NONTEMPORAL"); }
+void Before(const OmpClause::Notinbranch &) { Word("NOTINBRANCH"); }
+void Unparse(const OmpClause::NumTasks &x) {
+ Word("NUM_TASKS");
+ Put("(");
+ Walk(x.v);
+ Put(")");
+}
+void Unparse(const OmpClause::NumTeams &x) {
+ Word("NUM_TEAMS");
+ Put("(");
+ Walk(x.v);
+ Put(")");
+}
+void Unparse(const OmpClause::NumThreads &x) {
+ Word("NUM_THREADS");
+ Put("(");
+ Walk(x.v);
+ Put(")");
+}
+void Before(const OmpClause::Order &) { Word("ORDER"); }
+void Unparse(const OmpClause::Ordered &x) {
+ Word("ORDERED");
+ Walk("(", x.v, ")");
+}
+void Unparse(const OmpClause::Priority &x) {
+ Word("PRIORITY");
+ Put("(");
+ Walk(x.v);
+ Put(")");
+}
+void Unparse(const OmpClause::Private &x) {
+ Word("PRIVATE");
+ Put("(");
+ Walk(x.v);
+ Put(")");
+}
+void Unparse(const OmpClause::ProcBind &x) {
+ Word("PROC_BIND");
+ Put("(");
+ Walk(x.v);
+ Put(")");
+}
+void Before(const OmpClause::Read &) { Word("READ"); }
+void Unparse(const OmpClause::Reduction &x) {
+ Word("REDUCTION");
+ Put("(");
+ Walk(x.v);
+ Put(")");
+}
+void Before(const OmpClause::Relaxed &) { Word("RELAXED"); }
+void Before(const OmpClause::Release &) { Word("RELEASE"); }
+void Before(const OmpClause::ReverseOffload &) { Word("REVERSE_OFFLOAD"); }
+void Unparse(const OmpClause::Safelen &x) {
+ Word("SAFELEN");
+ Put("(");
+ Walk(x.v);
+ Put(")");
+}
+void Unparse(const OmpClause::Schedule &x) {
+ Word("SCHEDULE");
+ Put("(");
+ Walk(x.v);
+ Put(")");
+}
+void Before(const OmpClause::SeqCst &) { Word("SEQ_CST"); }
+void Unparse(const OmpClause::Shared &x) {
+ Word("SHARED");
+ Put("(");
+ Walk(x.v);
+ Put(")");
+}
+void Before(const OmpClause::Simd &) { Word("SIMD"); }
+void Unparse(const OmpClause::Simdlen &x) {
+ Word("SIMDLEN");
+ Put("(");
+ Walk(x.v);
+ Put(")");
+}
+void Unparse(const OmpClause::TaskReduction &x) {
+ Word("TASK_REDUCTION");
+ Put("(");
+ Walk(x.v);
+ Put(")");
+}
+void Unparse(const OmpClause::ThreadLimit &x) {
+ Word("THREAD_LIMIT");
+ Put("(");
+ Walk(x.v);
+ Put(")");
+}
+void Before(const OmpClause::Threadprivate &) { Word("THREADPRIVATE"); }
+void Before(const OmpClause::Threads &) { Word("THREADS"); }
+void Unparse(const OmpClause::To &x) {
+ Word("TO");
+ Put("(");
+ Walk(x.v);
+ Put(")");
+}
+void Before(const OmpClause::UnifiedAddress &) { Word("UNIFIED_ADDRESS"); }
+void Before(const OmpClause::UnifiedSharedMemory &) { Word("UNIFIED_SHARED_MEMORY"); }
+void Unparse(const OmpClause::Uniform &x) {
+ Word("UNIFORM");
+ Put("(");
+ Walk(x.v, ",");
+ Put(")");
+}
+void Before(const OmpClause::Unknown &) { Word("UNKNOWN"); }
+void Before(const OmpClause::Untied &) { Word("UNTIED"); }
+void Before(const OmpClause::Update &) { Word("UPDATE"); }
+void Before(const OmpClause::UseDeviceAddr &) { Word("USE_DEVICE_ADDR"); }
+void Unparse(const OmpClause::UseDevicePtr &x) {
+ Word("USE_DEVICE_PTR");
+ Put("(");
+ Walk(x.v, ",");
+ Put(")");
+}
+void Before(const OmpClause::UsesAllocators &) { Word("USES_ALLOCATORS"); }
+void Before(const OmpClause::Write &) { Word("WRITE"); }
+
+#endif // GEN_FLANG_CLAUSE_UNPARSE
+
+#ifdef GEN_CLANG_CLAUSE_CLASS
+#undef GEN_CLANG_CLAUSE_CLASS
+
+#ifndef CLAUSE
+#define CLAUSE(Enum, Str, Implicit)
+#endif
+#ifndef CLAUSE_CLASS
+#define CLAUSE_CLASS(Enum, Str, Class)
+#endif
+#ifndef CLAUSE_NO_CLASS
+#define CLAUSE_NO_CLASS(Enum, Str)
+#endif
+
+#define __CLAUSE(Name, Class) \
+ CLAUSE(OMPC_##Name, #Name, /* Implicit */ false) \
+ CLAUSE_CLASS(OMPC_##Name, #Name, Class)
+#define __CLAUSE_NO_CLASS(Name) \
+ CLAUSE(OMPC_##Name, #Name, /* Implicit */ false) \
+ CLAUSE_NO_CLASS(OMPC_##Name, #Name)
+#define __IMPLICIT_CLAUSE_CLASS(Name, Str, Class) \
+ CLAUSE(OMPC_##Name, Str, /* Implicit */ true) \
+ CLAUSE_CLASS(OMPC_##Name, Str, Class)
+#define __IMPLICIT_CLAUSE_NO_CLASS(Name, Str) \
+ CLAUSE(OMPC_##Name, Str, /* Implicit */ true) \
+ CLAUSE_NO_CLASS(OMPC_##Name, Str)
+
+__CLAUSE(acq_rel, OMPAcqRelClause)
+__CLAUSE(acquire, OMPAcquireClause)
+__CLAUSE(affinity, OMPAffinityClause)
+__CLAUSE(aligned, OMPAlignedClause)
+__CLAUSE(allocate, OMPAllocateClause)
+__CLAUSE(allocator, OMPAllocatorClause)
+__CLAUSE(atomic_default_mem_order, OMPAtomicDefaultMemOrderClause)
+__CLAUSE(capture, OMPCaptureClause)
+__CLAUSE(collapse, OMPCollapseClause)
+__CLAUSE(copyprivate, OMPCopyprivateClause)
+__CLAUSE(copyin, OMPCopyinClause)
+__CLAUSE(default, OMPDefaultClause)
+__CLAUSE(defaultmap, OMPDefaultmapClause)
+__CLAUSE(depend, OMPDependClause)
+__IMPLICIT_CLAUSE_CLASS(depobj, "depobj", OMPDepobjClause)
+__CLAUSE(destroy, OMPDestroyClause)
+__CLAUSE(detach, OMPDetachClause)
+__CLAUSE(device, OMPDeviceClause)
+__CLAUSE_NO_CLASS(device_type)
+__CLAUSE(dist_schedule, OMPDistScheduleClause)
+__CLAUSE(dynamic_allocators, OMPDynamicAllocatorsClause)
+__CLAUSE(exclusive, OMPExclusiveClause)
+__CLAUSE(final, OMPFinalClause)
+__CLAUSE(firstprivate, OMPFirstprivateClause)
+__IMPLICIT_CLAUSE_CLASS(flush, "flush", OMPFlushClause)
+__CLAUSE(from, OMPFromClause)
+__CLAUSE(grainsize, OMPGrainsizeClause)
+__CLAUSE(hint, OMPHintClause)
+__CLAUSE(if, OMPIfClause)
+__CLAUSE(in_reduction, OMPInReductionClause)
+__CLAUSE_NO_CLASS(inbranch)
+__CLAUSE(inclusive, OMPInclusiveClause)
+__CLAUSE(is_device_ptr, OMPIsDevicePtrClause)
+__CLAUSE(lastprivate, OMPLastprivateClause)
+__CLAUSE(linear, OMPLinearClause)
+__CLAUSE_NO_CLASS(link)
+__CLAUSE(map, OMPMapClause)
+__CLAUSE_NO_CLASS(match)
+__CLAUSE(mergeable, OMPMergeableClause)
+__CLAUSE(nogroup, OMPNogroupClause)
+__CLAUSE(nowait, OMPNowaitClause)
+__CLAUSE(nontemporal, OMPNontemporalClause)
+__CLAUSE_NO_CLASS(notinbranch)
+__CLAUSE(num_tasks, OMPNumTasksClause)
+__CLAUSE(num_teams, OMPNumTeamsClause)
+__CLAUSE(num_threads, OMPNumThreadsClause)
+__CLAUSE(order, OMPOrderClause)
+__CLAUSE(ordered, OMPOrderedClause)
+__CLAUSE(priority, OMPPriorityClause)
+__CLAUSE(private, OMPPrivateClause)
+__CLAUSE(proc_bind, OMPProcBindClause)
+__CLAUSE(read, OMPReadClause)
+__CLAUSE(reduction, OMPReductionClause)
+__CLAUSE(relaxed, OMPRelaxedClause)
+__CLAUSE(release, OMPReleaseClause)
+__CLAUSE(reverse_offload, OMPReverseOffloadClause)
+__CLAUSE(safelen, OMPSafelenClause)
+__CLAUSE(schedule, OMPScheduleClause)
+__CLAUSE(seq_cst, OMPSeqCstClause)
+__CLAUSE(shared, OMPSharedClause)
+__CLAUSE(simd, OMPSIMDClause)
+__CLAUSE(simdlen, OMPSimdlenClause)
+__CLAUSE(task_reduction, OMPTaskReductionClause)
+__CLAUSE(thread_limit, OMPThreadLimitClause)
+__IMPLICIT_CLAUSE_NO_CLASS(threadprivate, "threadprivate")
+__CLAUSE(threads, OMPThreadsClause)
+__CLAUSE(to, OMPToClause)
+__CLAUSE(unified_address, OMPUnifiedAddressClause)
+__CLAUSE(unified_shared_memory, OMPUnifiedSharedMemoryClause)
+__CLAUSE_NO_CLASS(uniform)
+__IMPLICIT_CLAUSE_NO_CLASS(unknown, "unknown")
+__CLAUSE(untied, OMPUntiedClause)
+__CLAUSE(update, OMPUpdateClause)
+__CLAUSE(use_device_addr, OMPUseDeviceAddrClause)
+__CLAUSE(use_device_ptr, OMPUseDevicePtrClause)
+__CLAUSE(uses_allocators, OMPUsesAllocatorsClause)
+__CLAUSE(write, OMPWriteClause)
+
+#undef __IMPLICIT_CLAUSE_NO_CLASS
+#undef __IMPLICIT_CLAUSE_CLASS
+#undef __CLAUSE
+#undef CLAUSE_NO_CLASS
+#undef CLAUSE_CLASS
+#undef CLAUSE
+
+#endif // GEN_CLANG_CLAUSE_CLASS
+
diff --git a/contrib/libs/llvm12/include/llvm/Frontend/OpenMP/OMP.td b/contrib/libs/llvm12/include/llvm/Frontend/OpenMP/OMP.td
index 10fa5a37b8..d953e49696 100644
--- a/contrib/libs/llvm12/include/llvm/Frontend/OpenMP/OMP.td
+++ b/contrib/libs/llvm12/include/llvm/Frontend/OpenMP/OMP.td
@@ -21,11 +21,11 @@ def OpenMP : DirectiveLanguage {
let cppNamespace = "omp"; // final namespace will be llvm::omp
let directivePrefix = "OMPD_";
let clausePrefix = "OMPC_";
- let makeEnumAvailableInNamespace = true;
- let enableBitmaskEnumInNamespace = true;
+ let makeEnumAvailableInNamespace = true;
+ let enableBitmaskEnumInNamespace = true;
let includeHeader = "llvm/Frontend/OpenMP/OMP.h.inc";
let clauseEnumSetClass = "OmpClauseSet";
- let flangClauseBaseClass = "OmpClause";
+ let flangClauseBaseClass = "OmpClause";
}
//===----------------------------------------------------------------------===//
@@ -34,120 +34,120 @@ def OpenMP : DirectiveLanguage {
def OMPC_Allocator : Clause<"allocator"> {
let clangClass = "OMPAllocatorClause";
- let flangClass = "ScalarIntExpr";
-}
-def OMPC_If : Clause<"if"> {
- let clangClass = "OMPIfClause";
- let flangClass = "OmpIfClause";
-}
-def OMPC_Final : Clause<"final"> {
- let clangClass = "OMPFinalClause";
- let flangClass = "ScalarLogicalExpr";
-}
+ let flangClass = "ScalarIntExpr";
+}
+def OMPC_If : Clause<"if"> {
+ let clangClass = "OMPIfClause";
+ let flangClass = "OmpIfClause";
+}
+def OMPC_Final : Clause<"final"> {
+ let clangClass = "OMPFinalClause";
+ let flangClass = "ScalarLogicalExpr";
+}
def OMPC_NumThreads : Clause<"num_threads"> {
let clangClass = "OMPNumThreadsClause";
- let flangClass = "ScalarIntExpr";
-}
-def OMPC_SafeLen : Clause<"safelen"> {
- let clangClass = "OMPSafelenClause";
- let flangClass = "ScalarIntConstantExpr";
-}
-def OMPC_SimdLen : Clause<"simdlen"> {
- let clangClass = "OMPSimdlenClause";
- let flangClass = "ScalarIntConstantExpr";
-}
-def OMPC_Collapse : Clause<"collapse"> {
- let clangClass = "OMPCollapseClause";
- let flangClass = "ScalarIntConstantExpr";
-}
-def OMPC_Default : Clause<"default"> {
- let clangClass = "OMPDefaultClause";
- let flangClass = "OmpDefaultClause";
-}
-def OMPC_Private : Clause<"private"> {
- let clangClass = "OMPPrivateClause";
- let flangClass = "OmpObjectList";
-}
+ let flangClass = "ScalarIntExpr";
+}
+def OMPC_SafeLen : Clause<"safelen"> {
+ let clangClass = "OMPSafelenClause";
+ let flangClass = "ScalarIntConstantExpr";
+}
+def OMPC_SimdLen : Clause<"simdlen"> {
+ let clangClass = "OMPSimdlenClause";
+ let flangClass = "ScalarIntConstantExpr";
+}
+def OMPC_Collapse : Clause<"collapse"> {
+ let clangClass = "OMPCollapseClause";
+ let flangClass = "ScalarIntConstantExpr";
+}
+def OMPC_Default : Clause<"default"> {
+ let clangClass = "OMPDefaultClause";
+ let flangClass = "OmpDefaultClause";
+}
+def OMPC_Private : Clause<"private"> {
+ let clangClass = "OMPPrivateClause";
+ let flangClass = "OmpObjectList";
+}
def OMPC_FirstPrivate : Clause<"firstprivate"> {
let clangClass = "OMPFirstprivateClause";
- let flangClass = "OmpObjectList";
+ let flangClass = "OmpObjectList";
}
def OMPC_LastPrivate : Clause<"lastprivate"> {
let clangClass = "OMPLastprivateClause";
- let flangClass = "OmpObjectList";
-}
-def OMPC_Shared : Clause<"shared"> {
- let clangClass = "OMPSharedClause";
- let flangClass = "OmpObjectList";
+ let flangClass = "OmpObjectList";
}
+def OMPC_Shared : Clause<"shared"> {
+ let clangClass = "OMPSharedClause";
+ let flangClass = "OmpObjectList";
+}
def OMPC_Reduction : Clause<"reduction"> {
let clangClass = "OMPReductionClause";
- let flangClass = "OmpReductionClause";
-}
-def OMPC_Linear : Clause<"linear"> {
- let clangClass = "OMPLinearClause";
- let flangClass = "OmpLinearClause";
-}
-def OMPC_Aligned : Clause<"aligned"> {
- let clangClass = "OMPAlignedClause";
- let flangClass = "OmpAlignedClause";
-}
-def OMPC_Copyin : Clause<"copyin"> {
- let clangClass = "OMPCopyinClause";
- let flangClass = "OmpObjectList";
-}
+ let flangClass = "OmpReductionClause";
+}
+def OMPC_Linear : Clause<"linear"> {
+ let clangClass = "OMPLinearClause";
+ let flangClass = "OmpLinearClause";
+}
+def OMPC_Aligned : Clause<"aligned"> {
+ let clangClass = "OMPAlignedClause";
+ let flangClass = "OmpAlignedClause";
+}
+def OMPC_Copyin : Clause<"copyin"> {
+ let clangClass = "OMPCopyinClause";
+ let flangClass = "OmpObjectList";
+}
def OMPC_CopyPrivate : Clause<"copyprivate"> {
let clangClass = "OMPCopyprivateClause";
- let flangClass = "OmpObjectList";
+ let flangClass = "OmpObjectList";
}
-def OMP_PROC_BIND_master : ClauseVal<"master",2,1> {}
-def OMP_PROC_BIND_close : ClauseVal<"close",3,1> {}
-def OMP_PROC_BIND_spread : ClauseVal<"spread",4,1> {}
-def OMP_PROC_BIND_default : ClauseVal<"default",5,0> {}
-def OMP_PROC_BIND_unknown : ClauseVal<"unknown",6,0> { let isDefault = true; }
+def OMP_PROC_BIND_master : ClauseVal<"master",2,1> {}
+def OMP_PROC_BIND_close : ClauseVal<"close",3,1> {}
+def OMP_PROC_BIND_spread : ClauseVal<"spread",4,1> {}
+def OMP_PROC_BIND_default : ClauseVal<"default",5,0> {}
+def OMP_PROC_BIND_unknown : ClauseVal<"unknown",6,0> { let isDefault = true; }
def OMPC_ProcBind : Clause<"proc_bind"> {
let clangClass = "OMPProcBindClause";
- let flangClass = "OmpProcBindClause";
- let enumClauseValue = "ProcBindKind";
- let allowedClauseValues = [
- OMP_PROC_BIND_master,
- OMP_PROC_BIND_close,
- OMP_PROC_BIND_spread,
- OMP_PROC_BIND_default,
- OMP_PROC_BIND_unknown
- ];
-}
-
-// static and auto are C++ keywords so need a capital to disambiguate.
-def OMP_SCHEDULE_Static : ClauseVal<"Static", 2, 1> {}
-def OMP_SCHEDULE_Dynamic : ClauseVal<"Dynamic", 3, 1> {}
-def OMP_SCHEDULE_Guided : ClauseVal<"Guided", 4, 1> {}
-def OMP_SCHEDULE_Auto : ClauseVal<"Auto", 5, 1> {}
-def OMP_SCHEDULE_Runtime : ClauseVal<"Runtime", 6, 1> {}
-def OMP_SCHEDULE_Default : ClauseVal<"Default", 7, 0> { let isDefault = 1; }
-
-def OMPC_Schedule : Clause<"schedule"> {
- let clangClass = "OMPScheduleClause";
- let flangClass = "OmpScheduleClause";
- let enumClauseValue = "ScheduleKind";
- let allowedClauseValues = [
- OMP_SCHEDULE_Static,
- OMP_SCHEDULE_Dynamic,
- OMP_SCHEDULE_Guided,
- OMP_SCHEDULE_Auto,
- OMP_SCHEDULE_Runtime,
- OMP_SCHEDULE_Default
- ];
-}
-
-def OMPC_Ordered : Clause<"ordered"> {
- let clangClass = "OMPOrderedClause";
- let flangClass = "ScalarIntConstantExpr";
- let isValueOptional = true;
-}
-def OMPC_NoWait : Clause<"nowait"> {
- let clangClass = "OMPNowaitClause";
-}
+ let flangClass = "OmpProcBindClause";
+ let enumClauseValue = "ProcBindKind";
+ let allowedClauseValues = [
+ OMP_PROC_BIND_master,
+ OMP_PROC_BIND_close,
+ OMP_PROC_BIND_spread,
+ OMP_PROC_BIND_default,
+ OMP_PROC_BIND_unknown
+ ];
+}
+
+// static and auto are C++ keywords so need a capital to disambiguate.
+def OMP_SCHEDULE_Static : ClauseVal<"Static", 2, 1> {}
+def OMP_SCHEDULE_Dynamic : ClauseVal<"Dynamic", 3, 1> {}
+def OMP_SCHEDULE_Guided : ClauseVal<"Guided", 4, 1> {}
+def OMP_SCHEDULE_Auto : ClauseVal<"Auto", 5, 1> {}
+def OMP_SCHEDULE_Runtime : ClauseVal<"Runtime", 6, 1> {}
+def OMP_SCHEDULE_Default : ClauseVal<"Default", 7, 0> { let isDefault = 1; }
+
+def OMPC_Schedule : Clause<"schedule"> {
+ let clangClass = "OMPScheduleClause";
+ let flangClass = "OmpScheduleClause";
+ let enumClauseValue = "ScheduleKind";
+ let allowedClauseValues = [
+ OMP_SCHEDULE_Static,
+ OMP_SCHEDULE_Dynamic,
+ OMP_SCHEDULE_Guided,
+ OMP_SCHEDULE_Auto,
+ OMP_SCHEDULE_Runtime,
+ OMP_SCHEDULE_Default
+ ];
+}
+
+def OMPC_Ordered : Clause<"ordered"> {
+ let clangClass = "OMPOrderedClause";
+ let flangClass = "ScalarIntConstantExpr";
+ let isValueOptional = true;
+}
+def OMPC_NoWait : Clause<"nowait"> {
+ let clangClass = "OMPNowaitClause";
+}
def OMPC_Untied : Clause<"untied"> { let clangClass = "OMPUntiedClause"; }
def OMPC_Mergeable : Clause<"mergeable"> {
let clangClass = "OMPMergeableClause";
@@ -161,77 +161,77 @@ def OMPC_AcqRel : Clause<"acq_rel"> { let clangClass = "OMPAcqRelClause"; }
def OMPC_Acquire : Clause<"acquire"> { let clangClass = "OMPAcquireClause"; }
def OMPC_Release : Clause<"release"> { let clangClass = "OMPReleaseClause"; }
def OMPC_Relaxed : Clause<"relaxed"> { let clangClass = "OMPRelaxedClause"; }
-def OMPC_Depend : Clause<"depend"> {
- let clangClass = "OMPDependClause";
- let flangClass = "OmpDependClause";
-}
-def OMPC_Device : Clause<"device"> {
- let clangClass = "OMPDeviceClause";
- let flangClass = "ScalarIntExpr";
-}
+def OMPC_Depend : Clause<"depend"> {
+ let clangClass = "OMPDependClause";
+ let flangClass = "OmpDependClause";
+}
+def OMPC_Device : Clause<"device"> {
+ let clangClass = "OMPDeviceClause";
+ let flangClass = "ScalarIntExpr";
+}
def OMPC_Threads : Clause<"threads"> { let clangClass = "OMPThreadsClause"; }
def OMPC_Simd : Clause<"simd"> { let clangClass = "OMPSIMDClause"; }
-def OMPC_Map : Clause<"map"> {
- let clangClass = "OMPMapClause";
- let flangClass = "OmpMapClause";
-}
+def OMPC_Map : Clause<"map"> {
+ let clangClass = "OMPMapClause";
+ let flangClass = "OmpMapClause";
+}
def OMPC_NumTeams : Clause<"num_teams"> {
let clangClass = "OMPNumTeamsClause";
- let flangClass = "ScalarIntExpr";
+ let flangClass = "ScalarIntExpr";
}
def OMPC_ThreadLimit : Clause<"thread_limit"> {
let clangClass = "OMPThreadLimitClause";
- let flangClass = "ScalarIntExpr";
+ let flangClass = "ScalarIntExpr";
}
def OMPC_Priority : Clause<"priority"> {
let clangClass = "OMPPriorityClause";
- let flangClass = "ScalarIntExpr";
+ let flangClass = "ScalarIntExpr";
}
def OMPC_GrainSize : Clause<"grainsize"> {
let clangClass = "OMPGrainsizeClause";
- let flangClass = "ScalarIntExpr";
+ let flangClass = "ScalarIntExpr";
}
def OMPC_NoGroup : Clause<"nogroup"> {
let clangClass = "OMPNogroupClause";
}
def OMPC_NumTasks : Clause<"num_tasks"> {
let clangClass = "OMPNumTasksClause";
- let flangClass = "ScalarIntExpr";
+ let flangClass = "ScalarIntExpr";
}
def OMPC_Hint : Clause<"hint"> {
let clangClass = "OMPHintClause";
- let flangClass = "ConstantExpr";
+ let flangClass = "ConstantExpr";
}
def OMPC_DistSchedule : Clause<"dist_schedule"> {
let clangClass = "OMPDistScheduleClause";
- let flangClass = "ScalarIntExpr";
- let isValueOptional = true;
+ let flangClass = "ScalarIntExpr";
+ let isValueOptional = true;
}
def OMPC_DefaultMap : Clause<"defaultmap"> {
let clangClass = "OMPDefaultmapClause";
- let flangClass = "OmpDefaultmapClause";
+ let flangClass = "OmpDefaultmapClause";
}
def OMPC_To : Clause<"to"> {
let clangClass = "OMPToClause";
- let flangClass = "OmpObjectList";
-}
-def OMPC_From : Clause<"from"> {
- let clangClass = "OMPFromClause";
- let flangClass = "OmpObjectList";
+ let flangClass = "OmpObjectList";
}
+def OMPC_From : Clause<"from"> {
+ let clangClass = "OMPFromClause";
+ let flangClass = "OmpObjectList";
+}
def OMPC_UseDevicePtr : Clause<"use_device_ptr"> {
let clangClass = "OMPUseDevicePtrClause";
- let flangClass = "Name";
- let isValueList = true;
+ let flangClass = "Name";
+ let isValueList = true;
}
def OMPC_IsDevicePtr : Clause<"is_device_ptr"> {
let clangClass = "OMPIsDevicePtrClause";
- let flangClass = "Name";
- let isValueList = true;
+ let flangClass = "Name";
+ let isValueList = true;
}
def OMPC_TaskReduction : Clause<"task_reduction"> {
let clangClass = "OMPTaskReductionClause";
- let flangClass = "OmpReductionClause";
+ let flangClass = "OmpReductionClause";
}
def OMPC_InReduction : Clause<"in_reduction"> {
let clangClass = "OMPInReductionClause";
@@ -253,19 +253,19 @@ def OMPC_AtomicDefaultMemOrder : Clause<"atomic_default_mem_order"> {
}
def OMPC_Allocate : Clause<"allocate"> {
let clangClass = "OMPAllocateClause";
- let flangClass = "OmpAllocateClause";
+ let flangClass = "OmpAllocateClause";
}
def OMPC_NonTemporal : Clause<"nontemporal"> {
let clangClass = "OMPNontemporalClause";
}
-
-def OMP_ORDER_concurrent : ClauseVal<"default",2,0> { let isDefault = 1; }
+
+def OMP_ORDER_concurrent : ClauseVal<"default",2,0> { let isDefault = 1; }
def OMPC_Order : Clause<"order"> {
let clangClass = "OMPOrderClause";
- let enumClauseValue = "OrderKind";
- let allowedClauseValues = [
- OMP_ORDER_concurrent
- ];
+ let enumClauseValue = "OrderKind";
+ let allowedClauseValues = [
+ OMP_ORDER_concurrent
+ ];
}
def OMPC_Destroy : Clause<"destroy"> {
let clangClass = "OMPDestroyClause";
@@ -288,31 +288,31 @@ def OMPC_Affinity : Clause<"affinity"> {
def OMPC_UseDeviceAddr : Clause<"use_device_addr"> {
let clangClass = "OMPUseDeviceAddrClause";
}
-def OMPC_Uniform : Clause<"uniform"> {
- let flangClass = "Name";
- let isValueList = true;
-}
+def OMPC_Uniform : Clause<"uniform"> {
+ let flangClass = "Name";
+ let isValueList = true;
+}
def OMPC_DeviceType : Clause<"device_type"> {}
def OMPC_Match : Clause<"match"> {}
def OMPC_Depobj : Clause<"depobj"> {
let clangClass = "OMPDepobjClause";
- let isImplicit = true;
+ let isImplicit = true;
}
def OMPC_Flush : Clause<"flush"> {
let clangClass = "OMPFlushClause";
- let isImplicit = true;
+ let isImplicit = true;
}
def OMPC_ThreadPrivate : Clause<"threadprivate"> {
let alternativeName = "threadprivate or thread local";
- let isImplicit = true;
+ let isImplicit = true;
}
def OMPC_Unknown : Clause<"unknown"> {
- let isImplicit = true;
- let isDefault = true;
-}
-def OMPC_Link : Clause<"link"> {
- let flangClass = "OmpObjectList";
+ let isImplicit = true;
+ let isDefault = true;
}
+def OMPC_Link : Clause<"link"> {
+ let flangClass = "OmpObjectList";
+}
def OMPC_Inbranch : Clause<"inbranch"> {}
def OMPC_Notinbranch : Clause<"notinbranch"> {}
@@ -331,7 +331,7 @@ def OMP_Parallel : Directive<"parallel"> {
VersionedClause<OMPC_Allocate>
];
let allowedOnceClauses = [
- VersionedClause<OMPC_Default>,
+ VersionedClause<OMPC_Default>,
VersionedClause<OMPC_If>,
VersionedClause<OMPC_NumThreads>,
VersionedClause<OMPC_ProcBind>,
@@ -351,7 +351,7 @@ def OMP_Task : Directive<"task"> {
VersionedClause<OMPC_Affinity, 50>
];
let allowedOnceClauses = [
- VersionedClause<OMPC_Default>,
+ VersionedClause<OMPC_Default>,
VersionedClause<OMPC_If>,
VersionedClause<OMPC_Final>,
VersionedClause<OMPC_Priority>
@@ -433,11 +433,11 @@ def OMP_Critical : Directive<"critical"> {
}
def OMP_TaskYield : Directive<"taskyield"> {}
def OMP_Barrier : Directive<"barrier"> {}
-def OMP_TaskWait : Directive<"taskwait"> {
- let allowedClauses = [
- VersionedClause<OMPC_Depend, 50>
- ];
-}
+def OMP_TaskWait : Directive<"taskwait"> {
+ let allowedClauses = [
+ VersionedClause<OMPC_Depend, 50>
+ ];
+}
def OMP_TaskGroup : Directive<"taskgroup"> {
let allowedClauses = [
VersionedClause<OMPC_TaskReduction>,
@@ -445,7 +445,7 @@ def OMP_TaskGroup : Directive<"taskgroup"> {
];
}
def OMP_Flush : Directive<"flush"> {
- let allowedOnceClauses = [
+ let allowedOnceClauses = [
VersionedClause<OMPC_AcqRel, 50>,
VersionedClause<OMPC_Acquire, 50>,
VersionedClause<OMPC_Release, 50>,
@@ -467,8 +467,8 @@ def OMP_Atomic : Directive<"atomic"> {
VersionedClause<OMPC_Write>,
VersionedClause<OMPC_Update>,
VersionedClause<OMPC_Capture>,
- ];
- let allowedOnceClauses = [
+ ];
+ let allowedOnceClauses = [
VersionedClause<OMPC_SeqCst>,
VersionedClause<OMPC_AcqRel, 50>,
VersionedClause<OMPC_Acquire, 50>,
@@ -538,20 +538,20 @@ def OMP_TargetData : Directive<"target data"> {
}
def OMP_TargetEnterData : Directive<"target enter data"> {
let allowedClauses = [
- VersionedClause<OMPC_Depend>
+ VersionedClause<OMPC_Depend>
];
let allowedOnceClauses = [
VersionedClause<OMPC_If>,
VersionedClause<OMPC_Device>,
VersionedClause<OMPC_NoWait>
];
- let requiredClauses = [
- VersionedClause<OMPC_Map>
- ];
+ let requiredClauses = [
+ VersionedClause<OMPC_Map>
+ ];
}
def OMP_TargetExitData : Directive<"target exit data"> {
let allowedClauses = [
- VersionedClause<OMPC_Depend>
+ VersionedClause<OMPC_Depend>
];
let allowedOnceClauses = [
VersionedClause<OMPC_Device>,
@@ -843,7 +843,7 @@ def OMP_TaskLoop : Directive<"taskloop"> {
VersionedClause<OMPC_Allocate>
];
let allowedOnceClauses = [
- VersionedClause<OMPC_Default>,
+ VersionedClause<OMPC_Default>,
VersionedClause<OMPC_If>,
VersionedClause<OMPC_Collapse>,
VersionedClause<OMPC_Final>,
@@ -897,12 +897,12 @@ def OMP_Distribute : Directive<"distribute"> {
VersionedClause<OMPC_DistSchedule>
];
}
-def OMP_DeclareTarget : Directive<"declare target"> {
- let allowedClauses = [
- VersionedClause<OMPC_To>,
- VersionedClause<OMPC_Link>
- ];
-}
+def OMP_DeclareTarget : Directive<"declare target"> {
+ let allowedClauses = [
+ VersionedClause<OMPC_To>,
+ VersionedClause<OMPC_Link>
+ ];
+}
def OMP_EndDeclareTarget : Directive<"end declare target"> {}
def OMP_DistributeParallelFor : Directive<"distribute parallel for"> {
let allowedClauses = [
@@ -1592,9 +1592,9 @@ def OMP_Scan : Directive<"scan"> {
VersionedClause<OMPC_Exclusive, 50>
];
}
-def OMP_Assumes : Directive<"assumes"> {}
-def OMP_BeginAssumes : Directive<"begin assumes"> {}
-def OMP_EndAssumes : Directive<"end assumes"> {}
+def OMP_Assumes : Directive<"assumes"> {}
+def OMP_BeginAssumes : Directive<"begin assumes"> {}
+def OMP_EndAssumes : Directive<"end assumes"> {}
def OMP_BeginDeclareVariant : Directive<"begin declare variant"> {}
def OMP_EndDeclareVariant : Directive<"end declare variant"> {}
def OMP_ParallelWorkshare : Directive<"parallel workshare"> {
@@ -1616,24 +1616,24 @@ def OMP_ParallelWorkshare : Directive<"parallel workshare"> {
def OMP_Workshare : Directive<"workshare"> {}
def OMP_EndDo : Directive<"end do"> {}
def OMP_EndDoSimd : Directive<"end do simd"> {}
-def OMP_EndSections : Directive<"end sections"> {
- let allowedOnceClauses = [
- VersionedClause<OMPC_NoWait>
- ];
-}
-def OMP_EndSingle : Directive<"end single"> {
- let allowedClauses = [
- VersionedClause<OMPC_CopyPrivate>
- ];
- let allowedOnceClauses = [
- VersionedClause<OMPC_NoWait>
- ];
-}
-def OMP_EndWorkshare : Directive<"end workshare"> {
- let allowedClauses = [
- VersionedClause<OMPC_NoWait>
- ];
-}
+def OMP_EndSections : Directive<"end sections"> {
+ let allowedOnceClauses = [
+ VersionedClause<OMPC_NoWait>
+ ];
+}
+def OMP_EndSingle : Directive<"end single"> {
+ let allowedClauses = [
+ VersionedClause<OMPC_CopyPrivate>
+ ];
+ let allowedOnceClauses = [
+ VersionedClause<OMPC_NoWait>
+ ];
+}
+def OMP_EndWorkshare : Directive<"end workshare"> {
+ let allowedClauses = [
+ VersionedClause<OMPC_NoWait>
+ ];
+}
def OMP_Unknown : Directive<"unknown"> {
- let isDefault = true;
+ let isDefault = true;
}
diff --git a/contrib/libs/llvm12/include/llvm/Frontend/OpenMP/OMPConstants.h b/contrib/libs/llvm12/include/llvm/Frontend/OpenMP/OMPConstants.h
index 953321d47c..197ddf0ed1 100644
--- a/contrib/libs/llvm12/include/llvm/Frontend/OpenMP/OMPConstants.h
+++ b/contrib/libs/llvm12/include/llvm/Frontend/OpenMP/OMPConstants.h
@@ -23,7 +23,7 @@
#include "llvm/ADT/BitmaskEnum.h"
-#include "llvm/ADT/StringRef.h"
+#include "llvm/ADT/StringRef.h"
#include "llvm/Frontend/OpenMP/OMP.h.inc"
namespace llvm {
@@ -49,12 +49,12 @@ enum class InternalControlVar {
#include "llvm/Frontend/OpenMP/OMPKinds.def"
enum class ICVInitValue {
-#define ICV_INIT_VALUE(Enum, Name) Enum,
+#define ICV_INIT_VALUE(Enum, Name) Enum,
#include "llvm/Frontend/OpenMP/OMPKinds.def"
};
-#define ICV_INIT_VALUE(Enum, Name) \
- constexpr auto Enum = omp::ICVInitValue::Enum;
+#define ICV_INIT_VALUE(Enum, Name) \
+ constexpr auto Enum = omp::ICVInitValue::Enum;
#include "llvm/Frontend/OpenMP/OMPKinds.def"
/// IDs for all omp runtime library (RTL) functions.
@@ -87,33 +87,33 @@ enum class IdentFlag {
#define OMP_IDENT_FLAG(Enum, ...) constexpr auto Enum = omp::IdentFlag::Enum;
#include "llvm/Frontend/OpenMP/OMPKinds.def"
-/// Helper to describe assume clauses.
-struct AssumptionClauseMappingInfo {
- /// The identifier describing the (beginning of the) clause.
- llvm::StringLiteral Identifier;
- /// Flag to determine if the identifier is a full name or the start of a name.
- bool StartsWith;
- /// Flag to determine if a directive lists follows.
- bool HasDirectiveList;
- /// Flag to determine if an expression follows.
- bool HasExpression;
-};
-
-/// All known assume clauses.
-static constexpr AssumptionClauseMappingInfo AssumptionClauseMappings[] = {
-#define OMP_ASSUME_CLAUSE(Identifier, StartsWith, HasDirectiveList, \
- HasExpression) \
- {Identifier, StartsWith, HasDirectiveList, HasExpression},
-#include "llvm/Frontend/OpenMP/OMPKinds.def"
-};
-
-inline std::string getAllAssumeClauseOptions() {
- std::string S;
- for (const AssumptionClauseMappingInfo &ACMI : AssumptionClauseMappings)
- S += (S.empty() ? "'" : "', '") + ACMI.Identifier.str();
- return S + "'";
-}
-
+/// Helper to describe assume clauses.
+struct AssumptionClauseMappingInfo {
+ /// The identifier describing the (beginning of the) clause.
+ llvm::StringLiteral Identifier;
+ /// Flag to determine if the identifier is a full name or the start of a name.
+ bool StartsWith;
+ /// Flag to determine if a directive lists follows.
+ bool HasDirectiveList;
+ /// Flag to determine if an expression follows.
+ bool HasExpression;
+};
+
+/// All known assume clauses.
+static constexpr AssumptionClauseMappingInfo AssumptionClauseMappings[] = {
+#define OMP_ASSUME_CLAUSE(Identifier, StartsWith, HasDirectiveList, \
+ HasExpression) \
+ {Identifier, StartsWith, HasDirectiveList, HasExpression},
+#include "llvm/Frontend/OpenMP/OMPKinds.def"
+};
+
+inline std::string getAllAssumeClauseOptions() {
+ std::string S;
+ for (const AssumptionClauseMappingInfo &ACMI : AssumptionClauseMappings)
+ S += (S.empty() ? "'" : "', '") + ACMI.Identifier.str();
+ return S + "'";
+}
+
} // end namespace omp
} // end namespace llvm
diff --git a/contrib/libs/llvm12/include/llvm/Frontend/OpenMP/OMPContext.h b/contrib/libs/llvm12/include/llvm/Frontend/OpenMP/OMPContext.h
index 4031468da9..a707fc7d72 100644
--- a/contrib/libs/llvm12/include/llvm/Frontend/OpenMP/OMPContext.h
+++ b/contrib/libs/llvm12/include/llvm/Frontend/OpenMP/OMPContext.h
@@ -77,20 +77,20 @@ TraitSelector getOpenMPContextTraitSelectorForProperty(TraitProperty Property);
/// Return a textual representation of the trait selector \p Kind.
StringRef getOpenMPContextTraitSelectorName(TraitSelector Kind);
-/// Parse \p Str and return the trait property it matches in the set \p Set and
-/// selector \p Selector or TraitProperty::invalid.
-TraitProperty getOpenMPContextTraitPropertyKind(TraitSet Set,
- TraitSelector Selector,
- StringRef Str);
+/// Parse \p Str and return the trait property it matches in the set \p Set and
+/// selector \p Selector or TraitProperty::invalid.
+TraitProperty getOpenMPContextTraitPropertyKind(TraitSet Set,
+ TraitSelector Selector,
+ StringRef Str);
/// Return the trait property for a singleton selector \p Selector.
TraitProperty getOpenMPContextTraitPropertyForSelector(TraitSelector Selector);
-/// Return a textual representation of the trait property \p Kind, which might
-/// be the raw string we parsed (\p RawString) if we do not translate the
-/// property into a (distinct) enum.
-StringRef getOpenMPContextTraitPropertyName(TraitProperty Kind,
- StringRef RawString);
+/// Return a textual representation of the trait property \p Kind, which might
+/// be the raw string we parsed (\p RawString) if we do not translate the
+/// property into a (distinct) enum.
+StringRef getOpenMPContextTraitPropertyName(TraitProperty Kind,
+ StringRef RawString);
/// Return a textual representation of the trait property \p Kind with selector
/// and set name included.
@@ -124,36 +124,36 @@ bool isValidTraitPropertyForTraitSetAndSelector(TraitProperty Property,
/// scored (via the ScoresMap). In addition, the required consturct nesting is
/// decribed as well.
struct VariantMatchInfo {
- /// Add the trait \p Property to the required trait set. \p RawString is the
- /// string we parsed and derived \p Property from. If \p Score is not null, it
- /// recorded as well. If \p Property is in the `construct` set it is recorded
- /// in-order in the ConstructTraits as well.
- void addTrait(TraitProperty Property, StringRef RawString,
- APInt *Score = nullptr) {
- addTrait(getOpenMPContextTraitSetForProperty(Property), Property, RawString,
- Score);
+ /// Add the trait \p Property to the required trait set. \p RawString is the
+ /// string we parsed and derived \p Property from. If \p Score is not null, it
+ /// recorded as well. If \p Property is in the `construct` set it is recorded
+ /// in-order in the ConstructTraits as well.
+ void addTrait(TraitProperty Property, StringRef RawString,
+ APInt *Score = nullptr) {
+ addTrait(getOpenMPContextTraitSetForProperty(Property), Property, RawString,
+ Score);
}
/// Add the trait \p Property which is in set \p Set to the required trait
- /// set. \p RawString is the string we parsed and derived \p Property from. If
- /// \p Score is not null, it recorded as well. If \p Set is the `construct`
- /// set it is recorded in-order in the ConstructTraits as well.
- void addTrait(TraitSet Set, TraitProperty Property, StringRef RawString,
- APInt *Score = nullptr) {
+ /// set. \p RawString is the string we parsed and derived \p Property from. If
+ /// \p Score is not null, it recorded as well. If \p Set is the `construct`
+ /// set it is recorded in-order in the ConstructTraits as well.
+ void addTrait(TraitSet Set, TraitProperty Property, StringRef RawString,
+ APInt *Score = nullptr) {
if (Score)
ScoreMap[Property] = *Score;
-
- // Special handling for `device={isa(...)}` as we do not match the enum but
- // the raw string.
- if (Property == TraitProperty::device_isa___ANY)
- ISATraits.push_back(RawString);
-
+
+ // Special handling for `device={isa(...)}` as we do not match the enum but
+ // the raw string.
+ if (Property == TraitProperty::device_isa___ANY)
+ ISATraits.push_back(RawString);
+
RequiredTraits.set(unsigned(Property));
if (Set == TraitSet::construct)
ConstructTraits.push_back(Property);
}
BitVector RequiredTraits = BitVector(unsigned(TraitProperty::Last) + 1);
- SmallVector<StringRef, 8> ISATraits;
+ SmallVector<StringRef, 8> ISATraits;
SmallVector<TraitProperty, 8> ConstructTraits;
SmallDenseMap<TraitProperty, APInt> ScoreMap;
};
@@ -163,7 +163,7 @@ struct VariantMatchInfo {
/// in OpenMP constructs at the location.
struct OMPContext {
OMPContext(bool IsDeviceCompilation, Triple TargetTriple);
- virtual ~OMPContext() = default;
+ virtual ~OMPContext() = default;
void addTrait(TraitProperty Property) {
addTrait(getOpenMPContextTraitSetForProperty(Property), Property);
@@ -174,11 +174,11 @@ struct OMPContext {
ConstructTraits.push_back(Property);
}
- /// Hook for users to check if an ISA trait matches. The trait is described as
- /// the string that got parsed and it depends on the target and context if
- /// this matches or not.
- virtual bool matchesISATrait(StringRef) const { return false; }
-
+ /// Hook for users to check if an ISA trait matches. The trait is described as
+ /// the string that got parsed and it depends on the target and context if
+ /// this matches or not.
+ virtual bool matchesISATrait(StringRef) const { return false; }
+
BitVector ActiveTraits = BitVector(unsigned(TraitProperty::Last) + 1);
SmallVector<TraitProperty, 8> ConstructTraits;
};
diff --git a/contrib/libs/llvm12/include/llvm/Frontend/OpenMP/OMPGridValues.h b/contrib/libs/llvm12/include/llvm/Frontend/OpenMP/OMPGridValues.h
index da0c4d1f3f..4662312b4d 100644
--- a/contrib/libs/llvm12/include/llvm/Frontend/OpenMP/OMPGridValues.h
+++ b/contrib/libs/llvm12/include/llvm/Frontend/OpenMP/OMPGridValues.h
@@ -7,9 +7,9 @@
//====--- OMPGridValues.h - Language-specific address spaces --*- C++ -*-====//
//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
///
@@ -35,30 +35,30 @@ namespace omp {
/// use the new array name.
///
/// Example usage in clang:
-/// const unsigned slot_size =
-/// ctx.GetTargetInfo().getGridValue(llvm::omp::GVIDX::GV_Warp_Size);
+/// const unsigned slot_size =
+/// ctx.GetTargetInfo().getGridValue(llvm::omp::GVIDX::GV_Warp_Size);
///
/// Example usage in libomptarget/deviceRTLs:
-/// #include "llvm/Frontend/OpenMP/OMPGridValues.h"
+/// #include "llvm/Frontend/OpenMP/OMPGridValues.h"
/// #ifdef __AMDGPU__
/// #define GRIDVAL AMDGPUGpuGridValues
/// #else
/// #define GRIDVAL NVPTXGpuGridValues
/// #endif
/// ... Then use this reference for GV_Warp_Size in the deviceRTL source.
-/// llvm::omp::GRIDVAL[llvm::omp::GVIDX::GV_Warp_Size]
+/// llvm::omp::GRIDVAL[llvm::omp::GVIDX::GV_Warp_Size]
///
/// Example usage in libomptarget hsa plugin:
-/// #include "llvm/Frontend/OpenMP/OMPGridValues.h"
+/// #include "llvm/Frontend/OpenMP/OMPGridValues.h"
/// #define GRIDVAL AMDGPUGpuGridValues
/// ... Then use this reference to access GV_Warp_Size in the hsa plugin.
-/// llvm::omp::GRIDVAL[llvm::omp::GVIDX::GV_Warp_Size]
+/// llvm::omp::GRIDVAL[llvm::omp::GVIDX::GV_Warp_Size]
///
/// Example usage in libomptarget cuda plugin:
-/// #include "llvm/Frontend/OpenMP/OMPGridValues.h"
+/// #include "llvm/Frontend/OpenMP/OMPGridValues.h"
/// #define GRIDVAL NVPTXGpuGridValues
/// ... Then use this reference to access GV_Warp_Size in the cuda plugin.
-/// llvm::omp::GRIDVAL[llvm::omp::GVIDX::GV_Warp_Size]
+/// llvm::omp::GRIDVAL[llvm::omp::GVIDX::GV_Warp_Size]
///
enum GVIDX {
/// The maximum number of workers in a kernel.
diff --git a/contrib/libs/llvm12/include/llvm/Frontend/OpenMP/OMPIRBuilder.h b/contrib/libs/llvm12/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
index 612e362800..8157864835 100644
--- a/contrib/libs/llvm12/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
+++ b/contrib/libs/llvm12/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
@@ -25,10 +25,10 @@
#include "llvm/IR/DebugLoc.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/Support/Allocator.h"
-#include <forward_list>
+#include <forward_list>
namespace llvm {
-class CanonicalLoopInfo;
+class CanonicalLoopInfo;
/// An interface to create LLVM-IR for OpenMP directives.
///
@@ -45,10 +45,10 @@ public:
void initialize();
/// Finalize the underlying module, e.g., by outlining regions.
- /// \param AllowExtractorSinking Flag to include sinking instructions,
- /// emitted by CodeExtractor, in the
- /// outlined region. Default is false.
- void finalize(bool AllowExtractorSinking = false);
+ /// \param AllowExtractorSinking Flag to include sinking instructions,
+ /// emitted by CodeExtractor, in the
+ /// outlined region. Default is false.
+ void finalize(bool AllowExtractorSinking = false);
/// Add attributes known for \p FnID to \p Fn.
void addAttributes(omp::RuntimeFunction FnID, Function &Fn);
@@ -68,7 +68,7 @@ public:
struct FinalizationInfo {
/// The finalization callback provided by the last in-flight invocation of
- /// createXXXX for the directive of kind DK.
+ /// createXXXX for the directive of kind DK.
FinalizeCallbackTy FiniCB;
/// The directive kind of the innermost directive that has an associated
@@ -108,17 +108,17 @@ public:
function_ref<void(InsertPointTy AllocaIP, InsertPointTy CodeGenIP,
BasicBlock &ContinuationBB)>;
- /// Callback type for loop body code generation.
- ///
- /// \param CodeGenIP is the insertion point where the loop's body code must be
- /// placed. This will be a dedicated BasicBlock with a
- /// conditional branch from the loop condition check and
- /// terminated with an unconditional branch to the loop
- /// latch.
- /// \param IndVar is the induction variable usable at the insertion point.
- using LoopBodyGenCallbackTy =
- function_ref<void(InsertPointTy CodeGenIP, Value *IndVar)>;
-
+ /// Callback type for loop body code generation.
+ ///
+ /// \param CodeGenIP is the insertion point where the loop's body code must be
+ /// placed. This will be a dedicated BasicBlock with a
+ /// conditional branch from the loop condition check and
+ /// terminated with an unconditional branch to the loop
+ /// latch.
+ /// \param IndVar is the induction variable usable at the insertion point.
+ using LoopBodyGenCallbackTy =
+ function_ref<void(InsertPointTy CodeGenIP, Value *IndVar)>;
+
/// Callback type for variable privatization (think copy & default
/// constructor).
///
@@ -126,20 +126,20 @@ public:
/// should be placed.
/// \param CodeGenIP is the insertion point at which the privatization code
/// should be placed.
- /// \param Original The value being copied/created, should not be used in the
- /// generated IR.
- /// \param Inner The equivalent of \p Original that should be used in the
- /// generated IR; this is equal to \p Original if the value is
- /// a pointer and can thus be passed directly, otherwise it is
- /// an equivalent but different value.
+ /// \param Original The value being copied/created, should not be used in the
+ /// generated IR.
+ /// \param Inner The equivalent of \p Original that should be used in the
+ /// generated IR; this is equal to \p Original if the value is
+ /// a pointer and can thus be passed directly, otherwise it is
+ /// an equivalent but different value.
/// \param ReplVal The replacement value, thus a copy or new created version
- /// of \p Inner.
+ /// of \p Inner.
///
/// \returns The new insertion point where code generation continues and
- /// \p ReplVal the replacement value.
+ /// \p ReplVal the replacement value.
using PrivatizeCallbackTy = function_ref<InsertPointTy(
- InsertPointTy AllocaIP, InsertPointTy CodeGenIP, Value &Original,
- Value &Inner, Value *&ReplVal)>;
+ InsertPointTy AllocaIP, InsertPointTy CodeGenIP, Value &Original,
+ Value &Inner, Value *&ReplVal)>;
/// Description of a LLVM-IR insertion point (IP) and a debug/source location
/// (filename, line, column, ...).
@@ -167,7 +167,7 @@ public:
/// should be checked and acted upon.
///
/// \returns The insertion point after the barrier.
- InsertPointTy createBarrier(const LocationDescription &Loc, omp::Directive DK,
+ InsertPointTy createBarrier(const LocationDescription &Loc, omp::Directive DK,
bool ForceSimpleCall = false,
bool CheckCancelFlag = true);
@@ -178,13 +178,13 @@ public:
/// \param CanceledDirective The kind of directive that is cancled.
///
/// \returns The insertion point after the barrier.
- InsertPointTy createCancel(const LocationDescription &Loc, Value *IfCondition,
+ InsertPointTy createCancel(const LocationDescription &Loc, Value *IfCondition,
omp::Directive CanceledDirective);
/// Generator for '#omp parallel'
///
/// \param Loc The insert and source location description.
- /// \param AllocaIP The insertion points to be used for alloca instructions.
+ /// \param AllocaIP The insertion points to be used for alloca instructions.
/// \param BodyGenCB Callback that will generate the region code.
/// \param PrivCB Callback to copy a given variable (think copy constructor).
/// \param FiniCB Callback to finalize variable copies.
@@ -195,179 +195,179 @@ public:
///
/// \returns The insertion position *after* the parallel.
IRBuilder<>::InsertPoint
- createParallel(const LocationDescription &Loc, InsertPointTy AllocaIP,
- BodyGenCallbackTy BodyGenCB, PrivatizeCallbackTy PrivCB,
- FinalizeCallbackTy FiniCB, Value *IfCondition,
- Value *NumThreads, omp::ProcBindKind ProcBind,
- bool IsCancellable);
-
- /// Generator for the control flow structure of an OpenMP canonical loop.
- ///
- /// This generator operates on the logical iteration space of the loop, i.e.
- /// the caller only has to provide a loop trip count of the loop as defined by
- /// base language semantics. The trip count is interpreted as an unsigned
- /// integer. The induction variable passed to \p BodyGenCB will be of the same
- /// type and run from 0 to \p TripCount - 1. It is up to the callback to
- /// convert the logical iteration variable to the loop counter variable in the
- /// loop body.
- ///
- /// \param Loc The insert and source location description. The insert
- /// location can be between two instructions or the end of a
- /// degenerate block (e.g. a BB under construction).
- /// \param BodyGenCB Callback that will generate the loop body code.
- /// \param TripCount Number of iterations the loop body is executed.
- /// \param Name Base name used to derive BB and instruction names.
- ///
- /// \returns An object representing the created control flow structure which
- /// can be used for loop-associated directives.
- CanonicalLoopInfo *createCanonicalLoop(const LocationDescription &Loc,
- LoopBodyGenCallbackTy BodyGenCB,
- Value *TripCount,
- const Twine &Name = "loop");
-
- /// Generator for the control flow structure of an OpenMP canonical loop.
- ///
- /// Instead of a logical iteration space, this allows specifying user-defined
- /// loop counter values using increment, upper- and lower bounds. To
- /// disambiguate the terminology when counting downwards, instead of lower
- /// bounds we use \p Start for the loop counter value in the first body
- /// iteration.
- ///
- /// Consider the following limitations:
- ///
- /// * A loop counter space over all integer values of its bit-width cannot be
- /// represented. E.g using uint8_t, its loop trip count of 256 cannot be
- /// stored into an 8 bit integer):
- ///
- /// DO I = 0, 255, 1
- ///
- /// * Unsigned wrapping is only supported when wrapping only "once"; E.g.
- /// effectively counting downwards:
- ///
- /// for (uint8_t i = 100u; i > 0; i += 127u)
- ///
- ///
- /// TODO: May need to add additional parameters to represent:
- ///
- /// * Allow representing downcounting with unsigned integers.
- ///
- /// * Sign of the step and the comparison operator might disagree:
- ///
- /// for (int i = 0; i < 42; --i)
- ///
- //
- /// \param Loc The insert and source location description.
- /// \param BodyGenCB Callback that will generate the loop body code.
- /// \param Start Value of the loop counter for the first iterations.
- /// \param Stop Loop counter values past this will stop the the
- /// iterations.
- /// \param Step Loop counter increment after each iteration; negative
- /// means counting down. \param IsSigned Whether Start, Stop
- /// and Stop are signed integers.
- /// \param InclusiveStop Whether \p Stop itself is a valid value for the loop
- /// counter.
- /// \param ComputeIP Insertion point for instructions computing the trip
- /// count. Can be used to ensure the trip count is available
- /// at the outermost loop of a loop nest. If not set,
- /// defaults to the preheader of the generated loop.
- /// \param Name Base name used to derive BB and instruction names.
- ///
- /// \returns An object representing the created control flow structure which
- /// can be used for loop-associated directives.
- CanonicalLoopInfo *createCanonicalLoop(const LocationDescription &Loc,
- LoopBodyGenCallbackTy BodyGenCB,
- Value *Start, Value *Stop, Value *Step,
- bool IsSigned, bool InclusiveStop,
- InsertPointTy ComputeIP = {},
- const Twine &Name = "loop");
-
- /// Modifies the canonical loop to be a statically-scheduled workshare loop.
- ///
- /// This takes a \p LoopInfo representing a canonical loop, such as the one
- /// created by \p createCanonicalLoop and emits additional instructions to
- /// turn it into a workshare loop. In particular, it calls to an OpenMP
- /// runtime function in the preheader to obtain the loop bounds to be used in
- /// the current thread, updates the relevant instructions in the canonical
- /// loop and calls to an OpenMP runtime finalization function after the loop.
- ///
- /// \param Loc The source location description, the insertion location
- /// is not used.
- /// \param CLI A descriptor of the canonical loop to workshare.
- /// \param AllocaIP An insertion point for Alloca instructions usable in the
- /// preheader of the loop.
- /// \param NeedsBarrier Indicates whether a barrier must be insterted after
- /// the loop.
- /// \param Chunk The size of loop chunk considered as a unit when
- /// scheduling. If \p nullptr, defaults to 1.
- ///
- /// \returns Updated CanonicalLoopInfo.
- CanonicalLoopInfo *createStaticWorkshareLoop(const LocationDescription &Loc,
- CanonicalLoopInfo *CLI,
- InsertPointTy AllocaIP,
- bool NeedsBarrier,
- Value *Chunk = nullptr);
-
- /// Tile a loop nest.
- ///
- /// Tiles the loops of \p Loops by the tile sizes in \p TileSizes. Loops in
- /// \p/ Loops must be perfectly nested, from outermost to innermost loop
- /// (i.e. Loops.front() is the outermost loop). The trip count llvm::Value
- /// of every loop and every tile sizes must be usable in the outermost
- /// loop's preheader. This implies that the loop nest is rectangular.
- ///
- /// Example:
- /// \code
- /// for (int i = 0; i < 15; ++i) // Canonical loop "i"
- /// for (int j = 0; j < 14; ++j) // Canonical loop "j"
- /// body(i, j);
- /// \endcode
- ///
- /// After tiling with Loops={i,j} and TileSizes={5,7}, the loop is changed to
- /// \code
- /// for (int i1 = 0; i1 < 3; ++i1)
- /// for (int j1 = 0; j1 < 2; ++j1)
- /// for (int i2 = 0; i2 < 5; ++i2)
- /// for (int j2 = 0; j2 < 7; ++j2)
- /// body(i1*3+i2, j1*3+j2);
- /// \endcode
- ///
- /// The returned vector are the loops {i1,j1,i2,j2}. The loops i1 and j1 are
- /// referred to the floor, and the loops i2 and j2 are the tiles. Tiling also
- /// handles non-constant trip counts, non-constant tile sizes and trip counts
- /// that are not multiples of the tile size. In the latter case the tile loop
- /// of the last floor-loop iteration will have fewer iterations than specified
- /// as its tile size.
- ///
- ///
- /// @param DL Debug location for instructions added by tiling, for
- /// instance the floor- and tile trip count computation.
- /// @param Loops Loops to tile. The CanonicalLoopInfo objects are
- /// invalidated by this method, i.e. should not used after
- /// tiling.
- /// @param TileSizes For each loop in \p Loops, the tile size for that
- /// dimensions.
- ///
- /// \returns A list of generated loops. Contains twice as many loops as the
- /// input loop nest; the first half are the floor loops and the
- /// second half are the tile loops.
- std::vector<CanonicalLoopInfo *>
- tileLoops(DebugLoc DL, ArrayRef<CanonicalLoopInfo *> Loops,
- ArrayRef<Value *> TileSizes);
-
+ createParallel(const LocationDescription &Loc, InsertPointTy AllocaIP,
+ BodyGenCallbackTy BodyGenCB, PrivatizeCallbackTy PrivCB,
+ FinalizeCallbackTy FiniCB, Value *IfCondition,
+ Value *NumThreads, omp::ProcBindKind ProcBind,
+ bool IsCancellable);
+
+ /// Generator for the control flow structure of an OpenMP canonical loop.
+ ///
+ /// This generator operates on the logical iteration space of the loop, i.e.
+ /// the caller only has to provide a loop trip count of the loop as defined by
+ /// base language semantics. The trip count is interpreted as an unsigned
+ /// integer. The induction variable passed to \p BodyGenCB will be of the same
+ /// type and run from 0 to \p TripCount - 1. It is up to the callback to
+ /// convert the logical iteration variable to the loop counter variable in the
+ /// loop body.
+ ///
+ /// \param Loc The insert and source location description. The insert
+ /// location can be between two instructions or the end of a
+ /// degenerate block (e.g. a BB under construction).
+ /// \param BodyGenCB Callback that will generate the loop body code.
+ /// \param TripCount Number of iterations the loop body is executed.
+ /// \param Name Base name used to derive BB and instruction names.
+ ///
+ /// \returns An object representing the created control flow structure which
+ /// can be used for loop-associated directives.
+ CanonicalLoopInfo *createCanonicalLoop(const LocationDescription &Loc,
+ LoopBodyGenCallbackTy BodyGenCB,
+ Value *TripCount,
+ const Twine &Name = "loop");
+
+ /// Generator for the control flow structure of an OpenMP canonical loop.
+ ///
+ /// Instead of a logical iteration space, this allows specifying user-defined
+ /// loop counter values using increment, upper- and lower bounds. To
+ /// disambiguate the terminology when counting downwards, instead of lower
+ /// bounds we use \p Start for the loop counter value in the first body
+ /// iteration.
+ ///
+ /// Consider the following limitations:
+ ///
+ /// * A loop counter space over all integer values of its bit-width cannot be
+ /// represented. E.g using uint8_t, its loop trip count of 256 cannot be
+ /// stored into an 8 bit integer):
+ ///
+ /// DO I = 0, 255, 1
+ ///
+ /// * Unsigned wrapping is only supported when wrapping only "once"; E.g.
+ /// effectively counting downwards:
+ ///
+ /// for (uint8_t i = 100u; i > 0; i += 127u)
+ ///
+ ///
+ /// TODO: May need to add additional parameters to represent:
+ ///
+ /// * Allow representing downcounting with unsigned integers.
+ ///
+ /// * Sign of the step and the comparison operator might disagree:
+ ///
+ /// for (int i = 0; i < 42; --i)
+ ///
+ //
+ /// \param Loc The insert and source location description.
+ /// \param BodyGenCB Callback that will generate the loop body code.
+ /// \param Start Value of the loop counter for the first iterations.
+ /// \param Stop Loop counter values past this will stop the the
+ /// iterations.
+ /// \param Step Loop counter increment after each iteration; negative
+ /// means counting down. \param IsSigned Whether Start, Stop
+ /// and Stop are signed integers.
+ /// \param InclusiveStop Whether \p Stop itself is a valid value for the loop
+ /// counter.
+ /// \param ComputeIP Insertion point for instructions computing the trip
+ /// count. Can be used to ensure the trip count is available
+ /// at the outermost loop of a loop nest. If not set,
+ /// defaults to the preheader of the generated loop.
+ /// \param Name Base name used to derive BB and instruction names.
+ ///
+ /// \returns An object representing the created control flow structure which
+ /// can be used for loop-associated directives.
+ CanonicalLoopInfo *createCanonicalLoop(const LocationDescription &Loc,
+ LoopBodyGenCallbackTy BodyGenCB,
+ Value *Start, Value *Stop, Value *Step,
+ bool IsSigned, bool InclusiveStop,
+ InsertPointTy ComputeIP = {},
+ const Twine &Name = "loop");
+
+ /// Modifies the canonical loop to be a statically-scheduled workshare loop.
+ ///
+ /// This takes a \p LoopInfo representing a canonical loop, such as the one
+ /// created by \p createCanonicalLoop and emits additional instructions to
+ /// turn it into a workshare loop. In particular, it calls to an OpenMP
+ /// runtime function in the preheader to obtain the loop bounds to be used in
+ /// the current thread, updates the relevant instructions in the canonical
+ /// loop and calls to an OpenMP runtime finalization function after the loop.
+ ///
+ /// \param Loc The source location description, the insertion location
+ /// is not used.
+ /// \param CLI A descriptor of the canonical loop to workshare.
+ /// \param AllocaIP An insertion point for Alloca instructions usable in the
+ /// preheader of the loop.
+ /// \param NeedsBarrier Indicates whether a barrier must be insterted after
+ /// the loop.
+ /// \param Chunk The size of loop chunk considered as a unit when
+ /// scheduling. If \p nullptr, defaults to 1.
+ ///
+ /// \returns Updated CanonicalLoopInfo.
+ CanonicalLoopInfo *createStaticWorkshareLoop(const LocationDescription &Loc,
+ CanonicalLoopInfo *CLI,
+ InsertPointTy AllocaIP,
+ bool NeedsBarrier,
+ Value *Chunk = nullptr);
+
+ /// Tile a loop nest.
+ ///
+ /// Tiles the loops of \p Loops by the tile sizes in \p TileSizes. Loops in
+ /// \p/ Loops must be perfectly nested, from outermost to innermost loop
+ /// (i.e. Loops.front() is the outermost loop). The trip count llvm::Value
+ /// of every loop and every tile sizes must be usable in the outermost
+ /// loop's preheader. This implies that the loop nest is rectangular.
+ ///
+ /// Example:
+ /// \code
+ /// for (int i = 0; i < 15; ++i) // Canonical loop "i"
+ /// for (int j = 0; j < 14; ++j) // Canonical loop "j"
+ /// body(i, j);
+ /// \endcode
+ ///
+ /// After tiling with Loops={i,j} and TileSizes={5,7}, the loop is changed to
+ /// \code
+ /// for (int i1 = 0; i1 < 3; ++i1)
+ /// for (int j1 = 0; j1 < 2; ++j1)
+ /// for (int i2 = 0; i2 < 5; ++i2)
+ /// for (int j2 = 0; j2 < 7; ++j2)
+ /// body(i1*3+i2, j1*3+j2);
+ /// \endcode
+ ///
+ /// The returned vector are the loops {i1,j1,i2,j2}. The loops i1 and j1 are
+ /// referred to the floor, and the loops i2 and j2 are the tiles. Tiling also
+ /// handles non-constant trip counts, non-constant tile sizes and trip counts
+ /// that are not multiples of the tile size. In the latter case the tile loop
+ /// of the last floor-loop iteration will have fewer iterations than specified
+ /// as its tile size.
+ ///
+ ///
+ /// @param DL Debug location for instructions added by tiling, for
+ /// instance the floor- and tile trip count computation.
+ /// @param Loops Loops to tile. The CanonicalLoopInfo objects are
+ /// invalidated by this method, i.e. should not used after
+ /// tiling.
+ /// @param TileSizes For each loop in \p Loops, the tile size for that
+ /// dimensions.
+ ///
+ /// \returns A list of generated loops. Contains twice as many loops as the
+ /// input loop nest; the first half are the floor loops and the
+ /// second half are the tile loops.
+ std::vector<CanonicalLoopInfo *>
+ tileLoops(DebugLoc DL, ArrayRef<CanonicalLoopInfo *> Loops,
+ ArrayRef<Value *> TileSizes);
+
/// Generator for '#omp flush'
///
/// \param Loc The location where the flush directive was encountered
- void createFlush(const LocationDescription &Loc);
+ void createFlush(const LocationDescription &Loc);
/// Generator for '#omp taskwait'
///
/// \param Loc The location where the taskwait directive was encountered.
- void createTaskwait(const LocationDescription &Loc);
+ void createTaskwait(const LocationDescription &Loc);
/// Generator for '#omp taskyield'
///
/// \param Loc The location where the taskyield directive was encountered.
- void createTaskyield(const LocationDescription &Loc);
+ void createTaskyield(const LocationDescription &Loc);
///}
@@ -407,9 +407,9 @@ public:
omp::IdentFlag Flags = omp::IdentFlag(0),
unsigned Reserve2Flags = 0);
- // Get the type corresponding to __kmpc_impl_lanemask_t from the deviceRTL
- Type *getLanemaskType();
-
+ // Get the type corresponding to __kmpc_impl_lanemask_t from the deviceRTL
+ Type *getLanemaskType();
+
/// Generate control flow and cleanup for cancellation.
///
/// \param CancelFlag Flag indicating if the cancellation is performed.
@@ -491,10 +491,10 @@ public:
/// Collection of regions that need to be outlined during finalization.
SmallVector<OutlineInfo, 16> OutlineInfos;
- /// Collection of owned canonical loop objects that eventually need to be
- /// free'd.
- std::forward_list<CanonicalLoopInfo> LoopInfos;
-
+ /// Collection of owned canonical loop objects that eventually need to be
+ /// free'd.
+ std::forward_list<CanonicalLoopInfo> LoopInfos;
+
/// Add a new region that will be outlined later.
void addOutlineInfo(OutlineInfo &&OI) { OutlineInfos.emplace_back(OI); }
@@ -506,32 +506,32 @@ public:
StringMap<AssertingVH<Constant>, BumpPtrAllocator> InternalVars;
public:
- /// Generator for __kmpc_copyprivate
- ///
- /// \param Loc The source location description.
- /// \param BufSize Number of elements in the buffer.
- /// \param CpyBuf List of pointers to data to be copied.
- /// \param CpyFn function to call for copying data.
- /// \param DidIt flag variable; 1 for 'single' thread, 0 otherwise.
- ///
- /// \return The insertion position *after* the CopyPrivate call.
-
- InsertPointTy createCopyPrivate(const LocationDescription &Loc,
- llvm::Value *BufSize, llvm::Value *CpyBuf,
- llvm::Value *CpyFn, llvm::Value *DidIt);
-
- /// Generator for '#omp single'
- ///
- /// \param Loc The source location description.
- /// \param BodyGenCB Callback that will generate the region code.
- /// \param FiniCB Callback to finalize variable copies.
- /// \param DidIt Local variable used as a flag to indicate 'single' thread
- ///
- /// \returns The insertion position *after* the single call.
- InsertPointTy createSingle(const LocationDescription &Loc,
- BodyGenCallbackTy BodyGenCB,
- FinalizeCallbackTy FiniCB, llvm::Value *DidIt);
-
+ /// Generator for __kmpc_copyprivate
+ ///
+ /// \param Loc The source location description.
+ /// \param BufSize Number of elements in the buffer.
+ /// \param CpyBuf List of pointers to data to be copied.
+ /// \param CpyFn function to call for copying data.
+ /// \param DidIt flag variable; 1 for 'single' thread, 0 otherwise.
+ ///
+ /// \return The insertion position *after* the CopyPrivate call.
+
+ InsertPointTy createCopyPrivate(const LocationDescription &Loc,
+ llvm::Value *BufSize, llvm::Value *CpyBuf,
+ llvm::Value *CpyFn, llvm::Value *DidIt);
+
+ /// Generator for '#omp single'
+ ///
+ /// \param Loc The source location description.
+ /// \param BodyGenCB Callback that will generate the region code.
+ /// \param FiniCB Callback to finalize variable copies.
+ /// \param DidIt Local variable used as a flag to indicate 'single' thread
+ ///
+ /// \returns The insertion position *after* the single call.
+ InsertPointTy createSingle(const LocationDescription &Loc,
+ BodyGenCallbackTy BodyGenCB,
+ FinalizeCallbackTy FiniCB, llvm::Value *DidIt);
+
/// Generator for '#omp master'
///
/// \param Loc The insert and source location description.
@@ -539,7 +539,7 @@ public:
/// \param FiniCB Callback to finalize variable copies.
///
/// \returns The insertion position *after* the master.
- InsertPointTy createMaster(const LocationDescription &Loc,
+ InsertPointTy createMaster(const LocationDescription &Loc,
BodyGenCallbackTy BodyGenCB,
FinalizeCallbackTy FiniCB);
@@ -552,7 +552,7 @@ public:
/// \param HintInst Hint Instruction for hint clause associated with critical
///
/// \returns The insertion position *after* the master.
- InsertPointTy createCritical(const LocationDescription &Loc,
+ InsertPointTy createCritical(const LocationDescription &Loc,
BodyGenCallbackTy BodyGenCB,
FinalizeCallbackTy FiniCB,
StringRef CriticalName, Value *HintInst);
@@ -569,7 +569,7 @@ public:
// and copy.in.end block
///
/// \returns The insertion point where copying operation to be emitted.
- InsertPointTy createCopyinClauseBlocks(InsertPointTy IP, Value *MasterAddr,
+ InsertPointTy createCopyinClauseBlocks(InsertPointTy IP, Value *MasterAddr,
Value *PrivateAddr,
llvm::IntegerType *IntPtrTy,
bool BranchtoEnd = true);
@@ -582,7 +582,7 @@ public:
/// \param Name Name of call Instruction for OMP_alloc
///
/// \returns CallInst to the OMP_Alloc call
- CallInst *createOMPAlloc(const LocationDescription &Loc, Value *Size,
+ CallInst *createOMPAlloc(const LocationDescription &Loc, Value *Size,
Value *Allocator, std::string Name = "");
/// Create a runtime call for kmpc_free
@@ -593,7 +593,7 @@ public:
/// \param Name Name of call Instruction for OMP_Free
///
/// \returns CallInst to the OMP_Free call
- CallInst *createOMPFree(const LocationDescription &Loc, Value *Addr,
+ CallInst *createOMPFree(const LocationDescription &Loc, Value *Addr,
Value *Allocator, std::string Name = "");
/// Create a runtime call for kmpc_threadprivate_cached
@@ -604,7 +604,7 @@ public:
/// \param Name Name of call Instruction for callinst
///
/// \returns CallInst to the thread private cache call.
- CallInst *createCachedThreadPrivate(const LocationDescription &Loc,
+ CallInst *createCachedThreadPrivate(const LocationDescription &Loc,
llvm::Value *Pointer,
llvm::ConstantInt *Size,
const llvm::Twine &Name = Twine(""));
@@ -712,157 +712,157 @@ private:
/// \param CriticalName Name of the critical region.
///
Value *getOMPCriticalRegionLock(StringRef CriticalName);
-
- /// Create the control flow structure of a canonical OpenMP loop.
- ///
- /// The emitted loop will be disconnected, i.e. no edge to the loop's
- /// preheader and no terminator in the AfterBB. The OpenMPIRBuilder's
- /// IRBuilder location is not preserved.
- ///
- /// \param DL DebugLoc used for the instructions in the skeleton.
- /// \param TripCount Value to be used for the trip count.
- /// \param F Function in which to insert the BasicBlocks.
- /// \param PreInsertBefore Where to insert BBs that execute before the body,
- /// typically the body itself.
- /// \param PostInsertBefore Where to insert BBs that execute after the body.
- /// \param Name Base name used to derive BB
- /// and instruction names.
- ///
- /// \returns The CanonicalLoopInfo that represents the emitted loop.
- CanonicalLoopInfo *createLoopSkeleton(DebugLoc DL, Value *TripCount,
- Function *F,
- BasicBlock *PreInsertBefore,
- BasicBlock *PostInsertBefore,
- const Twine &Name = {});
-};
-
-/// Class to represented the control flow structure of an OpenMP canonical loop.
-///
-/// The control-flow structure is standardized for easy consumption by
-/// directives associated with loops. For instance, the worksharing-loop
-/// construct may change this control flow such that each loop iteration is
-/// executed on only one thread.
-///
-/// The control flow can be described as follows:
-///
-/// Preheader
-/// |
-/// /-> Header
-/// | |
-/// | Cond---\
-/// | | |
-/// | Body |
-/// | | | |
-/// | <...> |
-/// | | | |
-/// \--Latch |
-/// |
-/// Exit
-/// |
-/// After
-///
-/// Code in the header, condition block, latch and exit block must not have any
-/// side-effect. The body block is the single entry point into the loop body,
-/// which may contain arbitrary control flow as long as all control paths
-/// eventually branch to the latch block.
-///
-/// Defined outside OpenMPIRBuilder because one cannot forward-declare nested
-/// classes.
-class CanonicalLoopInfo {
- friend class OpenMPIRBuilder;
-
-private:
- /// Whether this object currently represents a loop.
- bool IsValid = false;
-
- BasicBlock *Preheader;
- BasicBlock *Header;
- BasicBlock *Cond;
- BasicBlock *Body;
- BasicBlock *Latch;
- BasicBlock *Exit;
- BasicBlock *After;
-
- /// Add the control blocks of this loop to \p BBs.
- ///
- /// This does not include any block from the body, including the one returned
- /// by getBody().
- void collectControlBlocks(SmallVectorImpl<BasicBlock *> &BBs);
-
-public:
- /// The preheader ensures that there is only a single edge entering the loop.
- /// Code that must be execute before any loop iteration can be emitted here,
- /// such as computing the loop trip count and begin lifetime markers. Code in
- /// the preheader is not considered part of the canonical loop.
- BasicBlock *getPreheader() const { return Preheader; }
-
- /// The header is the entry for each iteration. In the canonical control flow,
- /// it only contains the PHINode for the induction variable.
- BasicBlock *getHeader() const { return Header; }
-
- /// The condition block computes whether there is another loop iteration. If
- /// yes, branches to the body; otherwise to the exit block.
- BasicBlock *getCond() const { return Cond; }
-
- /// The body block is the single entry for a loop iteration and not controlled
- /// by CanonicalLoopInfo. It can contain arbitrary control flow but must
- /// eventually branch to the \p Latch block.
- BasicBlock *getBody() const { return Body; }
-
- /// Reaching the latch indicates the end of the loop body code. In the
- /// canonical control flow, it only contains the increment of the induction
- /// variable.
- BasicBlock *getLatch() const { return Latch; }
-
- /// Reaching the exit indicates no more iterations are being executed.
- BasicBlock *getExit() const { return Exit; }
-
- /// The after block is intended for clean-up code such as lifetime end
- /// markers. It is separate from the exit block to ensure, analogous to the
- /// preheader, it having just a single entry edge and being free from PHI
- /// nodes should there be multiple loop exits (such as from break
- /// statements/cancellations).
- BasicBlock *getAfter() const { return After; }
-
- /// Returns the llvm::Value containing the number of loop iterations. It must
- /// be valid in the preheader and always interpreted as an unsigned integer of
- /// any bit-width.
- Value *getTripCount() const {
- Instruction *CmpI = &Cond->front();
- assert(isa<CmpInst>(CmpI) && "First inst must compare IV with TripCount");
- return CmpI->getOperand(1);
- }
-
- /// Returns the instruction representing the current logical induction
- /// variable. Always unsigned, always starting at 0 with an increment of one.
- Instruction *getIndVar() const {
- Instruction *IndVarPHI = &Header->front();
- assert(isa<PHINode>(IndVarPHI) && "First inst must be the IV PHI");
- return IndVarPHI;
- }
-
- /// Return the type of the induction variable (and the trip count).
- Type *getIndVarType() const { return getIndVar()->getType(); }
-
- /// Return the insertion point for user code before the loop.
- OpenMPIRBuilder::InsertPointTy getPreheaderIP() const {
- return {Preheader, std::prev(Preheader->end())};
- };
-
- /// Return the insertion point for user code in the body.
- OpenMPIRBuilder::InsertPointTy getBodyIP() const {
- return {Body, Body->begin()};
- };
-
- /// Return the insertion point for user code after the loop.
- OpenMPIRBuilder::InsertPointTy getAfterIP() const {
- return {After, After->begin()};
- };
-
- /// Consistency self-check.
- void assertOK() const;
+
+ /// Create the control flow structure of a canonical OpenMP loop.
+ ///
+ /// The emitted loop will be disconnected, i.e. no edge to the loop's
+ /// preheader and no terminator in the AfterBB. The OpenMPIRBuilder's
+ /// IRBuilder location is not preserved.
+ ///
+ /// \param DL DebugLoc used for the instructions in the skeleton.
+ /// \param TripCount Value to be used for the trip count.
+ /// \param F Function in which to insert the BasicBlocks.
+ /// \param PreInsertBefore Where to insert BBs that execute before the body,
+ /// typically the body itself.
+ /// \param PostInsertBefore Where to insert BBs that execute after the body.
+ /// \param Name Base name used to derive BB
+ /// and instruction names.
+ ///
+ /// \returns The CanonicalLoopInfo that represents the emitted loop.
+ CanonicalLoopInfo *createLoopSkeleton(DebugLoc DL, Value *TripCount,
+ Function *F,
+ BasicBlock *PreInsertBefore,
+ BasicBlock *PostInsertBefore,
+ const Twine &Name = {});
};
+/// Class to represented the control flow structure of an OpenMP canonical loop.
+///
+/// The control-flow structure is standardized for easy consumption by
+/// directives associated with loops. For instance, the worksharing-loop
+/// construct may change this control flow such that each loop iteration is
+/// executed on only one thread.
+///
+/// The control flow can be described as follows:
+///
+/// Preheader
+/// |
+/// /-> Header
+/// | |
+/// | Cond---\
+/// | | |
+/// | Body |
+/// | | | |
+/// | <...> |
+/// | | | |
+/// \--Latch |
+/// |
+/// Exit
+/// |
+/// After
+///
+/// Code in the header, condition block, latch and exit block must not have any
+/// side-effect. The body block is the single entry point into the loop body,
+/// which may contain arbitrary control flow as long as all control paths
+/// eventually branch to the latch block.
+///
+/// Defined outside OpenMPIRBuilder because one cannot forward-declare nested
+/// classes.
+class CanonicalLoopInfo {
+ friend class OpenMPIRBuilder;
+
+private:
+ /// Whether this object currently represents a loop.
+ bool IsValid = false;
+
+ BasicBlock *Preheader;
+ BasicBlock *Header;
+ BasicBlock *Cond;
+ BasicBlock *Body;
+ BasicBlock *Latch;
+ BasicBlock *Exit;
+ BasicBlock *After;
+
+ /// Add the control blocks of this loop to \p BBs.
+ ///
+ /// This does not include any block from the body, including the one returned
+ /// by getBody().
+ void collectControlBlocks(SmallVectorImpl<BasicBlock *> &BBs);
+
+public:
+ /// The preheader ensures that there is only a single edge entering the loop.
+ /// Code that must be execute before any loop iteration can be emitted here,
+ /// such as computing the loop trip count and begin lifetime markers. Code in
+ /// the preheader is not considered part of the canonical loop.
+ BasicBlock *getPreheader() const { return Preheader; }
+
+ /// The header is the entry for each iteration. In the canonical control flow,
+ /// it only contains the PHINode for the induction variable.
+ BasicBlock *getHeader() const { return Header; }
+
+ /// The condition block computes whether there is another loop iteration. If
+ /// yes, branches to the body; otherwise to the exit block.
+ BasicBlock *getCond() const { return Cond; }
+
+ /// The body block is the single entry for a loop iteration and not controlled
+ /// by CanonicalLoopInfo. It can contain arbitrary control flow but must
+ /// eventually branch to the \p Latch block.
+ BasicBlock *getBody() const { return Body; }
+
+ /// Reaching the latch indicates the end of the loop body code. In the
+ /// canonical control flow, it only contains the increment of the induction
+ /// variable.
+ BasicBlock *getLatch() const { return Latch; }
+
+ /// Reaching the exit indicates no more iterations are being executed.
+ BasicBlock *getExit() const { return Exit; }
+
+ /// The after block is intended for clean-up code such as lifetime end
+ /// markers. It is separate from the exit block to ensure, analogous to the
+ /// preheader, it having just a single entry edge and being free from PHI
+ /// nodes should there be multiple loop exits (such as from break
+ /// statements/cancellations).
+ BasicBlock *getAfter() const { return After; }
+
+ /// Returns the llvm::Value containing the number of loop iterations. It must
+ /// be valid in the preheader and always interpreted as an unsigned integer of
+ /// any bit-width.
+ Value *getTripCount() const {
+ Instruction *CmpI = &Cond->front();
+ assert(isa<CmpInst>(CmpI) && "First inst must compare IV with TripCount");
+ return CmpI->getOperand(1);
+ }
+
+ /// Returns the instruction representing the current logical induction
+ /// variable. Always unsigned, always starting at 0 with an increment of one.
+ Instruction *getIndVar() const {
+ Instruction *IndVarPHI = &Header->front();
+ assert(isa<PHINode>(IndVarPHI) && "First inst must be the IV PHI");
+ return IndVarPHI;
+ }
+
+ /// Return the type of the induction variable (and the trip count).
+ Type *getIndVarType() const { return getIndVar()->getType(); }
+
+ /// Return the insertion point for user code before the loop.
+ OpenMPIRBuilder::InsertPointTy getPreheaderIP() const {
+ return {Preheader, std::prev(Preheader->end())};
+ };
+
+ /// Return the insertion point for user code in the body.
+ OpenMPIRBuilder::InsertPointTy getBodyIP() const {
+ return {Body, Body->begin()};
+ };
+
+ /// Return the insertion point for user code after the loop.
+ OpenMPIRBuilder::InsertPointTy getAfterIP() const {
+ return {After, After->begin()};
+ };
+
+ /// Consistency self-check.
+ void assertOK() const;
+};
+
} // end namespace llvm
#endif // LLVM_IR_IRBUILDER_H
diff --git a/contrib/libs/llvm12/include/llvm/Frontend/OpenMP/OMPKinds.def b/contrib/libs/llvm12/include/llvm/Frontend/OpenMP/OMPKinds.def
index 75d360bf42..58c23c20fb 100644
--- a/contrib/libs/llvm12/include/llvm/Frontend/OpenMP/OMPKinds.def
+++ b/contrib/libs/llvm12/include/llvm/Frontend/OpenMP/OMPKinds.def
@@ -7,15 +7,15 @@
//===----------------------------------------------------------------------===//
/// \file
///
-/// This file defines the list of supported OpenMP runtime
+/// This file defines the list of supported OpenMP runtime
/// calls, and other things that need to be listed in enums.
///
-/// This file is under transition to OMP.td with TableGen code generation.
-///
+/// This file is under transition to OMP.td with TableGen code generation.
+///
//===----------------------------------------------------------------------===//
-/// OpenMP Directives, combined directives and Clauses
-/// - Moved to OMP.td
+/// OpenMP Directives, combined directives and Clauses
+/// - Moved to OMP.td
/// Types used in runtime structs or runtime functions
///
@@ -30,16 +30,16 @@
__OMP_TYPE(Void)
__OMP_TYPE(Int1)
__OMP_TYPE(Int8)
-__OMP_TYPE(Int16)
+__OMP_TYPE(Int16)
__OMP_TYPE(Int32)
__OMP_TYPE(Int64)
__OMP_TYPE(Int8Ptr)
-__OMP_TYPE(Int16Ptr)
+__OMP_TYPE(Int16Ptr)
__OMP_TYPE(Int32Ptr)
__OMP_TYPE(Int64Ptr)
OMP_TYPE(SizeTy, M.getDataLayout().getIntPtrType(Ctx))
-OMP_TYPE(LanemaskTy, getLanemaskType())
+OMP_TYPE(LanemaskTy, getLanemaskType())
#define __OMP_PTR_TYPE(NAME, BASE) OMP_TYPE(NAME, BASE->getPointerTo())
@@ -87,7 +87,7 @@ __OMP_ARRAY_TYPE(KmpCriticalName, Int32, 8)
OMP_STRUCT_TYPE(VarName, "struct." #Name, __VA_ARGS__)
__OMP_STRUCT_TYPE(Ident, ident_t, Int32, Int32, Int32, Int32, Int8Ptr)
-__OMP_STRUCT_TYPE(AsyncInfo, __tgt_async_info, Int8Ptr)
+__OMP_STRUCT_TYPE(AsyncInfo, __tgt_async_info, Int8Ptr)
#undef __OMP_STRUCT_TYPE
#undef OMP_STRUCT_TYPE
@@ -107,9 +107,9 @@ __OMP_FUNCTION_TYPE(KmpcDtor, false, Void, VoidPtr)
__OMP_FUNCTION_TYPE(KmpcCopyCtor, false, VoidPtr, VoidPtr, VoidPtr)
__OMP_FUNCTION_TYPE(TaskRoutineEntry, false, Int32, Int32,
/* kmp_task_t */ VoidPtr)
-__OMP_FUNCTION_TYPE(ShuffleReduce, false, Void, VoidPtr, Int16, Int16, Int16)
-__OMP_FUNCTION_TYPE(InterWarpCopy, false, Void, VoidPtr, Int32)
-__OMP_FUNCTION_TYPE(GlobalList, false, Void, VoidPtr, Int32, VoidPtr)
+__OMP_FUNCTION_TYPE(ShuffleReduce, false, Void, VoidPtr, Int16, Int16, Int16)
+__OMP_FUNCTION_TYPE(InterWarpCopy, false, Void, VoidPtr, Int32)
+__OMP_FUNCTION_TYPE(GlobalList, false, Void, VoidPtr, Int32, VoidPtr)
#undef __OMP_FUNCTION_TYPE
#undef OMP_FUNCTION_TYPE
@@ -120,20 +120,20 @@ __OMP_FUNCTION_TYPE(GlobalList, false, Void, VoidPtr, Int32, VoidPtr)
///
///{
-#ifndef ICV_INIT_VALUE
-#define ICV_INIT_VALUE(Enum, Name)
-#endif
-
-#define __ICV_INIT_VALUE(Name) ICV_INIT_VALUE(ICV_##Name, #Name)
-
-__ICV_INIT_VALUE(ZERO)
-__ICV_INIT_VALUE(FALSE)
-__ICV_INIT_VALUE(IMPLEMENTATION_DEFINED)
-__ICV_INIT_VALUE(LAST)
-
-#undef __ICV_INIT_VALUE
-#undef ICV_INIT_VALUE
-
+#ifndef ICV_INIT_VALUE
+#define ICV_INIT_VALUE(Enum, Name)
+#endif
+
+#define __ICV_INIT_VALUE(Name) ICV_INIT_VALUE(ICV_##Name, #Name)
+
+__ICV_INIT_VALUE(ZERO)
+__ICV_INIT_VALUE(FALSE)
+__ICV_INIT_VALUE(IMPLEMENTATION_DEFINED)
+__ICV_INIT_VALUE(LAST)
+
+#undef __ICV_INIT_VALUE
+#undef ICV_INIT_VALUE
+
#ifndef ICV_DATA_ENV
#define ICV_DATA_ENV(Enum, Name, EnvVarName, Init)
#endif
@@ -144,7 +144,7 @@ __ICV_INIT_VALUE(LAST)
__ICV_DATA_ENV(nthreads, OMP_NUM_THREADS, ICV_IMPLEMENTATION_DEFINED)
__ICV_DATA_ENV(active_levels, NONE, ICV_ZERO)
__ICV_DATA_ENV(cancel, OMP_CANCELLATION, ICV_FALSE)
-__ICV_DATA_ENV(proc_bind, OMP_PROC_BIND, ICV_IMPLEMENTATION_DEFINED)
+__ICV_DATA_ENV(proc_bind, OMP_PROC_BIND, ICV_IMPLEMENTATION_DEFINED)
__ICV_DATA_ENV(__last, last, ICV_LAST)
#undef __ICV_DATA_ENV
@@ -170,7 +170,7 @@ __ICV_RT_SET(nthreads, omp_set_num_threads)
__ICV_RT_GET(nthreads, omp_get_max_threads)
__ICV_RT_GET(active_levels, omp_get_active_level)
__ICV_RT_GET(cancel, omp_get_cancellation)
-__ICV_RT_GET(proc_bind, omp_get_proc_bind)
+__ICV_RT_GET(proc_bind, omp_get_proc_bind)
#undef __ICV_RT_GET
#undef ICV_RT_GET
@@ -202,8 +202,8 @@ __OMP_RTL(__kmpc_push_num_threads, false, Void, IdentPtr, Int32,
/* Int */ Int32)
__OMP_RTL(__kmpc_push_proc_bind, false, Void, IdentPtr, Int32, /* Int */ Int32)
__OMP_RTL(__kmpc_omp_reg_task_with_affinity, false, Int32, IdentPtr, Int32,
- /* kmp_task_t */ VoidPtr, Int32,
- /* kmp_task_affinity_info_t */ VoidPtr)
+ /* kmp_task_t */ VoidPtr, Int32,
+ /* kmp_task_affinity_info_t */ VoidPtr)
__OMP_RTL(omp_get_thread_num, false, Int32, )
__OMP_RTL(omp_get_num_threads, false, Int32, )
@@ -250,7 +250,7 @@ __OMP_RTL(__kmpc_reduce, false, Int32, IdentPtr, Int32, Int32, SizeTy, VoidPtr,
ReduceFunctionPtr, KmpCriticalNamePtrTy)
__OMP_RTL(__kmpc_reduce_nowait, false, Int32, IdentPtr, Int32, Int32, SizeTy,
VoidPtr, ReduceFunctionPtr, KmpCriticalNamePtrTy)
-__OMP_RTL(__kmpc_end_reduce, false, Void, IdentPtr, Int32, KmpCriticalNamePtrTy)
+__OMP_RTL(__kmpc_end_reduce, false, Void, IdentPtr, Int32, KmpCriticalNamePtrTy)
__OMP_RTL(__kmpc_end_reduce_nowait, false, Void, IdentPtr, Int32,
KmpCriticalNamePtrTy)
@@ -333,10 +333,10 @@ __OMP_RTL(__kmpc_taskloop, false, Void, IdentPtr, /* Int */ Int32, VoidPtr,
/* Int */ Int32, Int64, VoidPtr)
__OMP_RTL(__kmpc_omp_target_task_alloc, false, /* kmp_task_t */ VoidPtr,
IdentPtr, Int32, Int32, SizeTy, SizeTy, TaskRoutineEntryPtr, Int64)
-__OMP_RTL(__kmpc_taskred_modifier_init, false, /* kmp_taskgroup */ VoidPtr,
- IdentPtr, /* Int */ Int32, /* Int */ Int32, /* Int */ Int32, VoidPtr)
-__OMP_RTL(__kmpc_taskred_init, false, /* kmp_taskgroup */ VoidPtr,
- /* Int */ Int32, /* Int */ Int32, VoidPtr)
+__OMP_RTL(__kmpc_taskred_modifier_init, false, /* kmp_taskgroup */ VoidPtr,
+ IdentPtr, /* Int */ Int32, /* Int */ Int32, /* Int */ Int32, VoidPtr)
+__OMP_RTL(__kmpc_taskred_init, false, /* kmp_taskgroup */ VoidPtr,
+ /* Int */ Int32, /* Int */ Int32, VoidPtr)
__OMP_RTL(__kmpc_task_reduction_modifier_fini, false, Void, IdentPtr,
/* Int */ Int32, /* Int */ Int32)
__OMP_RTL(__kmpc_task_reduction_get_th_data, false, VoidPtr, Int32, VoidPtr,
@@ -375,83 +375,83 @@ __OMP_RTL(__kmpc_init_allocator, false, /* omp_allocator_handle_t */ VoidPtr,
__OMP_RTL(__kmpc_destroy_allocator, false, Void, /* Int */ Int32,
/* omp_allocator_handle_t */ VoidPtr)
-__OMP_RTL(__kmpc_push_target_tripcount_mapper, false, Void, IdentPtr, Int64, Int64)
-__OMP_RTL(__tgt_target_mapper, false, Int32, IdentPtr, Int64, VoidPtr, Int32, VoidPtrPtr,
- VoidPtrPtr, Int64Ptr, Int64Ptr, VoidPtrPtr, VoidPtrPtr)
-__OMP_RTL(__tgt_target_nowait_mapper, false, Int32, IdentPtr, Int64, VoidPtr, Int32,
- VoidPtrPtr, VoidPtrPtr, Int64Ptr, Int64Ptr, VoidPtrPtr, VoidPtrPtr)
-__OMP_RTL(__tgt_target_teams_mapper, false, Int32, IdentPtr, Int64, VoidPtr, Int32,
- VoidPtrPtr, VoidPtrPtr, Int64Ptr, Int64Ptr, VoidPtrPtr, VoidPtrPtr, Int32, Int32)
-__OMP_RTL(__tgt_target_teams_nowait_mapper, false, Int32, IdentPtr, Int64, VoidPtr, Int32,
- VoidPtrPtr, VoidPtrPtr, Int64Ptr, Int64Ptr, VoidPtrPtr, VoidPtrPtr, Int32, Int32)
+__OMP_RTL(__kmpc_push_target_tripcount_mapper, false, Void, IdentPtr, Int64, Int64)
+__OMP_RTL(__tgt_target_mapper, false, Int32, IdentPtr, Int64, VoidPtr, Int32, VoidPtrPtr,
+ VoidPtrPtr, Int64Ptr, Int64Ptr, VoidPtrPtr, VoidPtrPtr)
+__OMP_RTL(__tgt_target_nowait_mapper, false, Int32, IdentPtr, Int64, VoidPtr, Int32,
+ VoidPtrPtr, VoidPtrPtr, Int64Ptr, Int64Ptr, VoidPtrPtr, VoidPtrPtr)
+__OMP_RTL(__tgt_target_teams_mapper, false, Int32, IdentPtr, Int64, VoidPtr, Int32,
+ VoidPtrPtr, VoidPtrPtr, Int64Ptr, Int64Ptr, VoidPtrPtr, VoidPtrPtr, Int32, Int32)
+__OMP_RTL(__tgt_target_teams_nowait_mapper, false, Int32, IdentPtr, Int64, VoidPtr, Int32,
+ VoidPtrPtr, VoidPtrPtr, Int64Ptr, Int64Ptr, VoidPtrPtr, VoidPtrPtr, Int32, Int32)
__OMP_RTL(__tgt_register_requires, false, Void, Int64)
-__OMP_RTL(__tgt_target_data_begin_mapper, false, Void, IdentPtr, Int64, Int32, VoidPtrPtr,
- VoidPtrPtr, Int64Ptr, Int64Ptr, VoidPtrPtr, VoidPtrPtr)
-__OMP_RTL(__tgt_target_data_begin_nowait_mapper, false, Void, IdentPtr, Int64, Int32,
- VoidPtrPtr, VoidPtrPtr, Int64Ptr, Int64Ptr, VoidPtrPtr, VoidPtrPtr)
-__OMP_RTL(__tgt_target_data_begin_mapper_issue, false, Void, IdentPtr, Int64, Int32,
- VoidPtrPtr, VoidPtrPtr, Int64Ptr, Int64Ptr, VoidPtrPtr, VoidPtrPtr, AsyncInfoPtr)
-__OMP_RTL(__tgt_target_data_begin_mapper_wait, false, Void, Int64, AsyncInfoPtr)
-__OMP_RTL(__tgt_target_data_end_mapper, false, Void, IdentPtr, Int64, Int32, VoidPtrPtr,
- VoidPtrPtr, Int64Ptr, Int64Ptr, VoidPtrPtr, VoidPtrPtr)
-__OMP_RTL(__tgt_target_data_end_nowait_mapper, false, Void, IdentPtr, Int64, Int32,
- VoidPtrPtr, VoidPtrPtr, Int64Ptr, Int64Ptr, VoidPtrPtr, VoidPtrPtr)
-__OMP_RTL(__tgt_target_data_update_mapper, false, Void, IdentPtr, Int64, Int32,
- VoidPtrPtr, VoidPtrPtr, Int64Ptr, Int64Ptr, VoidPtrPtr, VoidPtrPtr)
-__OMP_RTL(__tgt_target_data_update_nowait_mapper, false, Void, IdentPtr, Int64, Int32,
- VoidPtrPtr, VoidPtrPtr, Int64Ptr, Int64Ptr, VoidPtrPtr, VoidPtrPtr)
+__OMP_RTL(__tgt_target_data_begin_mapper, false, Void, IdentPtr, Int64, Int32, VoidPtrPtr,
+ VoidPtrPtr, Int64Ptr, Int64Ptr, VoidPtrPtr, VoidPtrPtr)
+__OMP_RTL(__tgt_target_data_begin_nowait_mapper, false, Void, IdentPtr, Int64, Int32,
+ VoidPtrPtr, VoidPtrPtr, Int64Ptr, Int64Ptr, VoidPtrPtr, VoidPtrPtr)
+__OMP_RTL(__tgt_target_data_begin_mapper_issue, false, Void, IdentPtr, Int64, Int32,
+ VoidPtrPtr, VoidPtrPtr, Int64Ptr, Int64Ptr, VoidPtrPtr, VoidPtrPtr, AsyncInfoPtr)
+__OMP_RTL(__tgt_target_data_begin_mapper_wait, false, Void, Int64, AsyncInfoPtr)
+__OMP_RTL(__tgt_target_data_end_mapper, false, Void, IdentPtr, Int64, Int32, VoidPtrPtr,
+ VoidPtrPtr, Int64Ptr, Int64Ptr, VoidPtrPtr, VoidPtrPtr)
+__OMP_RTL(__tgt_target_data_end_nowait_mapper, false, Void, IdentPtr, Int64, Int32,
+ VoidPtrPtr, VoidPtrPtr, Int64Ptr, Int64Ptr, VoidPtrPtr, VoidPtrPtr)
+__OMP_RTL(__tgt_target_data_update_mapper, false, Void, IdentPtr, Int64, Int32,
+ VoidPtrPtr, VoidPtrPtr, Int64Ptr, Int64Ptr, VoidPtrPtr, VoidPtrPtr)
+__OMP_RTL(__tgt_target_data_update_nowait_mapper, false, Void, IdentPtr, Int64, Int32,
+ VoidPtrPtr, VoidPtrPtr, Int64Ptr, Int64Ptr, VoidPtrPtr, VoidPtrPtr)
__OMP_RTL(__tgt_mapper_num_components, false, Int64, VoidPtr)
__OMP_RTL(__tgt_push_mapper_component, false, Void, VoidPtr, VoidPtr, VoidPtr,
- Int64, Int64, VoidPtr)
+ Int64, Int64, VoidPtr)
__OMP_RTL(__kmpc_task_allow_completion_event, false, VoidPtr, IdentPtr,
/* Int */ Int32, /* kmp_task_t */ VoidPtr)
-/// OpenMP Device runtime functions
-__OMP_RTL(__kmpc_kernel_init, false, Void, Int32, Int16)
-__OMP_RTL(__kmpc_kernel_deinit, false, Void, Int16)
-__OMP_RTL(__kmpc_spmd_kernel_init, false, Void, Int32, Int16)
-__OMP_RTL(__kmpc_spmd_kernel_deinit_v2, false, Void, Int16)
-__OMP_RTL(__kmpc_kernel_prepare_parallel, false, Void, VoidPtr)
+/// OpenMP Device runtime functions
+__OMP_RTL(__kmpc_kernel_init, false, Void, Int32, Int16)
+__OMP_RTL(__kmpc_kernel_deinit, false, Void, Int16)
+__OMP_RTL(__kmpc_spmd_kernel_init, false, Void, Int32, Int16)
+__OMP_RTL(__kmpc_spmd_kernel_deinit_v2, false, Void, Int16)
+__OMP_RTL(__kmpc_kernel_prepare_parallel, false, Void, VoidPtr)
__OMP_RTL(__kmpc_kernel_parallel, false, Int1, VoidPtrPtr)
-__OMP_RTL(__kmpc_kernel_end_parallel, false, Void, )
-__OMP_RTL(__kmpc_serialized_parallel, false, Void, IdentPtr, Int32)
-__OMP_RTL(__kmpc_end_serialized_parallel, false, Void, IdentPtr, Int32)
-__OMP_RTL(__kmpc_shuffle_int32, false, Int32, Int32, Int16, Int16)
-__OMP_RTL(__kmpc_nvptx_parallel_reduce_nowait_v2, false, Int32, IdentPtr, Int32,
- Int32, SizeTy, VoidPtr, ShuffleReducePtr, InterWarpCopyPtr)
-__OMP_RTL(__kmpc_nvptx_end_reduce_nowait, false, Void, Int32)
-__OMP_RTL(__kmpc_nvptx_teams_reduce_nowait_v2, false, Int32, IdentPtr, Int32,
- VoidPtr, Int32, VoidPtr, ShuffleReducePtr, InterWarpCopyPtr,
- GlobalListPtr, GlobalListPtr, GlobalListPtr, GlobalListPtr)
-
-__OMP_RTL(__kmpc_shuffle_int64, false, Int64, Int64, Int16, Int16)
-__OMP_RTL(__kmpc_data_sharing_init_stack, false, Void, )
-__OMP_RTL(__kmpc_data_sharing_init_stack_spmd, false, Void, )
-
-__OMP_RTL(__kmpc_data_sharing_coalesced_push_stack, false, VoidPtr, SizeTy, Int16)
-__OMP_RTL(__kmpc_data_sharing_push_stack, false, VoidPtr, SizeTy, Int16)
-__OMP_RTL(__kmpc_data_sharing_pop_stack, false, Void, VoidPtr)
-__OMP_RTL(__kmpc_begin_sharing_variables, false, Void, VoidPtrPtrPtr, SizeTy)
-__OMP_RTL(__kmpc_end_sharing_variables, false, Void, )
-__OMP_RTL(__kmpc_get_shared_variables, false, Void, VoidPtrPtrPtr)
-__OMP_RTL(__kmpc_parallel_level, false, Int16, IdentPtr, Int32)
-__OMP_RTL(__kmpc_is_spmd_exec_mode, false, Int8, )
-__OMP_RTL(__kmpc_get_team_static_memory, false, Void, Int16, VoidPtr, SizeTy,
- Int16, VoidPtrPtr)
-__OMP_RTL(__kmpc_restore_team_static_memory, false, Void, Int16, Int16)
-__OMP_RTL(__kmpc_barrier_simple_spmd, false, Void, IdentPtr, Int32)
-
-__OMP_RTL(__kmpc_warp_active_thread_mask, false, LanemaskTy,)
-__OMP_RTL(__kmpc_syncwarp, false, Void, LanemaskTy)
-
+__OMP_RTL(__kmpc_kernel_end_parallel, false, Void, )
+__OMP_RTL(__kmpc_serialized_parallel, false, Void, IdentPtr, Int32)
+__OMP_RTL(__kmpc_end_serialized_parallel, false, Void, IdentPtr, Int32)
+__OMP_RTL(__kmpc_shuffle_int32, false, Int32, Int32, Int16, Int16)
+__OMP_RTL(__kmpc_nvptx_parallel_reduce_nowait_v2, false, Int32, IdentPtr, Int32,
+ Int32, SizeTy, VoidPtr, ShuffleReducePtr, InterWarpCopyPtr)
+__OMP_RTL(__kmpc_nvptx_end_reduce_nowait, false, Void, Int32)
+__OMP_RTL(__kmpc_nvptx_teams_reduce_nowait_v2, false, Int32, IdentPtr, Int32,
+ VoidPtr, Int32, VoidPtr, ShuffleReducePtr, InterWarpCopyPtr,
+ GlobalListPtr, GlobalListPtr, GlobalListPtr, GlobalListPtr)
+
+__OMP_RTL(__kmpc_shuffle_int64, false, Int64, Int64, Int16, Int16)
+__OMP_RTL(__kmpc_data_sharing_init_stack, false, Void, )
+__OMP_RTL(__kmpc_data_sharing_init_stack_spmd, false, Void, )
+
+__OMP_RTL(__kmpc_data_sharing_coalesced_push_stack, false, VoidPtr, SizeTy, Int16)
+__OMP_RTL(__kmpc_data_sharing_push_stack, false, VoidPtr, SizeTy, Int16)
+__OMP_RTL(__kmpc_data_sharing_pop_stack, false, Void, VoidPtr)
+__OMP_RTL(__kmpc_begin_sharing_variables, false, Void, VoidPtrPtrPtr, SizeTy)
+__OMP_RTL(__kmpc_end_sharing_variables, false, Void, )
+__OMP_RTL(__kmpc_get_shared_variables, false, Void, VoidPtrPtrPtr)
+__OMP_RTL(__kmpc_parallel_level, false, Int16, IdentPtr, Int32)
+__OMP_RTL(__kmpc_is_spmd_exec_mode, false, Int8, )
+__OMP_RTL(__kmpc_get_team_static_memory, false, Void, Int16, VoidPtr, SizeTy,
+ Int16, VoidPtrPtr)
+__OMP_RTL(__kmpc_restore_team_static_memory, false, Void, Int16, Int16)
+__OMP_RTL(__kmpc_barrier_simple_spmd, false, Void, IdentPtr, Int32)
+
+__OMP_RTL(__kmpc_warp_active_thread_mask, false, LanemaskTy,)
+__OMP_RTL(__kmpc_syncwarp, false, Void, LanemaskTy)
+
__OMP_RTL(__last, false, Void, )
#undef __OMP_RTL
#undef OMP_RTL
-#define ParamAttrs(...) ArrayRef<AttributeSet>({__VA_ARGS__})
+#define ParamAttrs(...) ArrayRef<AttributeSet>({__VA_ARGS__})
#define EnumAttr(Kind) Attribute::get(Ctx, Attribute::AttrKind::Kind)
-#define EnumAttrInt(Kind, N) Attribute::get(Ctx, Attribute::AttrKind::Kind, N)
+#define EnumAttrInt(Kind, N) Attribute::get(Ctx, Attribute::AttrKind::Kind, N)
#define AttributeSet(...) \
AttributeSet::get(Ctx, ArrayRef<Attribute>({__VA_ARGS__}))
@@ -464,94 +464,94 @@ __OMP_RTL(__last, false, Void, )
__OMP_ATTRS_SET(GetterAttrs,
OptimisticAttributes
? AttributeSet(EnumAttr(NoUnwind), EnumAttr(ReadOnly),
- EnumAttr(NoSync), EnumAttr(NoFree),
- EnumAttr(InaccessibleMemOnly),
- EnumAttr(WillReturn))
+ EnumAttr(NoSync), EnumAttr(NoFree),
+ EnumAttr(InaccessibleMemOnly),
+ EnumAttr(WillReturn))
: AttributeSet(EnumAttr(NoUnwind)))
__OMP_ATTRS_SET(GetterArgWriteAttrs,
OptimisticAttributes
? AttributeSet(EnumAttr(NoUnwind), EnumAttr(NoSync),
- EnumAttr(NoFree),
- EnumAttr(InaccessibleMemOrArgMemOnly),
- EnumAttr(WillReturn))
+ EnumAttr(NoFree),
+ EnumAttr(InaccessibleMemOrArgMemOnly),
+ EnumAttr(WillReturn))
: AttributeSet(EnumAttr(NoUnwind)))
__OMP_ATTRS_SET(SetterAttrs,
OptimisticAttributes
? AttributeSet(EnumAttr(NoUnwind), EnumAttr(WriteOnly),
- EnumAttr(NoSync), EnumAttr(NoFree),
- EnumAttr(InaccessibleMemOnly),
- EnumAttr(WillReturn))
- : AttributeSet(EnumAttr(NoUnwind)))
-
-__OMP_ATTRS_SET(DefaultAttrs,
- OptimisticAttributes
- ? AttributeSet(EnumAttr(NoUnwind), EnumAttr(NoSync),
- EnumAttr(WillReturn), EnumAttr(NoFree))
- : AttributeSet(EnumAttr(NoUnwind)))
-
-__OMP_ATTRS_SET(BarrierAttrs,
- OptimisticAttributes
- ? AttributeSet(EnumAttr(NoUnwind), EnumAttr(Convergent))
- : AttributeSet(EnumAttr(NoUnwind), EnumAttr(Convergent)))
-
-__OMP_ATTRS_SET(InaccessibleArgOnlyAttrs,
- OptimisticAttributes
- ? AttributeSet(EnumAttr(NoUnwind), EnumAttr(NoSync),
- EnumAttr(InaccessibleMemOrArgMemOnly),
- EnumAttr(WillReturn), EnumAttr(NoFree))
- : AttributeSet(EnumAttr(NoUnwind)))
-
-#if 0
-__OMP_ATTRS_SET(InaccessibleOnlyAttrs,
- OptimisticAttributes
- ? AttributeSet(EnumAttr(NoUnwind), EnumAttr(NoSync),
- EnumAttr(InaccessibleMemOnly),
- EnumAttr(WillReturn), EnumAttr(NoFree))
- : AttributeSet(EnumAttr(NoUnwind)))
-#endif
-
-__OMP_ATTRS_SET(AllocAttrs,
- OptimisticAttributes
- ? AttributeSet(EnumAttr(NoUnwind), EnumAttr(NoSync),
- EnumAttr(WillReturn))
+ EnumAttr(NoSync), EnumAttr(NoFree),
+ EnumAttr(InaccessibleMemOnly),
+ EnumAttr(WillReturn))
: AttributeSet(EnumAttr(NoUnwind)))
-__OMP_ATTRS_SET(ForkAttrs, OptimisticAttributes
- ? AttributeSet(EnumAttr(NoUnwind))
- : AttributeSet(EnumAttr(NoUnwind)))
-
-__OMP_ATTRS_SET(ReadOnlyPtrAttrs,
- OptimisticAttributes
- ? AttributeSet(EnumAttr(ReadOnly), EnumAttr(NoFree),
- EnumAttr(NoCapture))
- : AttributeSet())
-
-#if 0
-__OMP_ATTRS_SET(WriteOnlyPtrAttrs,
- OptimisticAttributes
- ? AttributeSet(EnumAttr(WriteOnly), EnumAttr(NoFree),
- EnumAttr(NoCapture))
- : AttributeSet())
-#endif
-
-__OMP_ATTRS_SET(ArgPtrAttrs,
- OptimisticAttributes
- ? AttributeSet(EnumAttr(NoCapture), EnumAttr(NoFree))
- : AttributeSet())
-
-__OMP_ATTRS_SET(ReturnPtrAttrs,
- OptimisticAttributes
- ? AttributeSet(EnumAttr(NoAlias))
- : AttributeSet())
-
-#if 0
-__OMP_ATTRS_SET(ReturnAlignedPtrAttrs,
- OptimisticAttributes
- ? AttributeSet(EnumAttr(NoAlias), EnumAttrInt(Alignment, 8),
- EnumAttrInt(DereferenceableOrNull, 8))
- : AttributeSet())
-#endif
-
+__OMP_ATTRS_SET(DefaultAttrs,
+ OptimisticAttributes
+ ? AttributeSet(EnumAttr(NoUnwind), EnumAttr(NoSync),
+ EnumAttr(WillReturn), EnumAttr(NoFree))
+ : AttributeSet(EnumAttr(NoUnwind)))
+
+__OMP_ATTRS_SET(BarrierAttrs,
+ OptimisticAttributes
+ ? AttributeSet(EnumAttr(NoUnwind), EnumAttr(Convergent))
+ : AttributeSet(EnumAttr(NoUnwind), EnumAttr(Convergent)))
+
+__OMP_ATTRS_SET(InaccessibleArgOnlyAttrs,
+ OptimisticAttributes
+ ? AttributeSet(EnumAttr(NoUnwind), EnumAttr(NoSync),
+ EnumAttr(InaccessibleMemOrArgMemOnly),
+ EnumAttr(WillReturn), EnumAttr(NoFree))
+ : AttributeSet(EnumAttr(NoUnwind)))
+
+#if 0
+__OMP_ATTRS_SET(InaccessibleOnlyAttrs,
+ OptimisticAttributes
+ ? AttributeSet(EnumAttr(NoUnwind), EnumAttr(NoSync),
+ EnumAttr(InaccessibleMemOnly),
+ EnumAttr(WillReturn), EnumAttr(NoFree))
+ : AttributeSet(EnumAttr(NoUnwind)))
+#endif
+
+__OMP_ATTRS_SET(AllocAttrs,
+ OptimisticAttributes
+ ? AttributeSet(EnumAttr(NoUnwind), EnumAttr(NoSync),
+ EnumAttr(WillReturn))
+ : AttributeSet(EnumAttr(NoUnwind)))
+
+__OMP_ATTRS_SET(ForkAttrs, OptimisticAttributes
+ ? AttributeSet(EnumAttr(NoUnwind))
+ : AttributeSet(EnumAttr(NoUnwind)))
+
+__OMP_ATTRS_SET(ReadOnlyPtrAttrs,
+ OptimisticAttributes
+ ? AttributeSet(EnumAttr(ReadOnly), EnumAttr(NoFree),
+ EnumAttr(NoCapture))
+ : AttributeSet())
+
+#if 0
+__OMP_ATTRS_SET(WriteOnlyPtrAttrs,
+ OptimisticAttributes
+ ? AttributeSet(EnumAttr(WriteOnly), EnumAttr(NoFree),
+ EnumAttr(NoCapture))
+ : AttributeSet())
+#endif
+
+__OMP_ATTRS_SET(ArgPtrAttrs,
+ OptimisticAttributes
+ ? AttributeSet(EnumAttr(NoCapture), EnumAttr(NoFree))
+ : AttributeSet())
+
+__OMP_ATTRS_SET(ReturnPtrAttrs,
+ OptimisticAttributes
+ ? AttributeSet(EnumAttr(NoAlias))
+ : AttributeSet())
+
+#if 0
+__OMP_ATTRS_SET(ReturnAlignedPtrAttrs,
+ OptimisticAttributes
+ ? AttributeSet(EnumAttr(NoAlias), EnumAttrInt(Alignment, 8),
+ EnumAttrInt(DereferenceableOrNull, 8))
+ : AttributeSet())
+#endif
+
#undef __OMP_ATTRS_SET
#undef OMP_ATTRS_SET
@@ -562,314 +562,314 @@ __OMP_ATTRS_SET(ReturnAlignedPtrAttrs,
#define __OMP_RTL_ATTRS(Name, FnAttrSet, RetAttrSet, ArgAttrSets) \
OMP_RTL_ATTRS(OMPRTL_##Name, FnAttrSet, RetAttrSet, ArgAttrSets)
-__OMP_RTL_ATTRS(__kmpc_barrier, BarrierAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_barrier_simple_spmd, BarrierAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_warp_active_thread_mask, BarrierAttrs, AttributeSet(),
- ParamAttrs())
-__OMP_RTL_ATTRS(__kmpc_syncwarp, BarrierAttrs, AttributeSet(), ParamAttrs())
-__OMP_RTL_ATTRS(__kmpc_cancel, InaccessibleArgOnlyAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_cancel_barrier, BarrierAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_flush, BarrierAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_global_thread_num, GetterAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_fork_call, ForkAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_omp_taskwait, BarrierAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_omp_taskyield, InaccessibleArgOnlyAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_push_num_threads, InaccessibleArgOnlyAttrs,
- AttributeSet(), ParamAttrs(ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_push_proc_bind, InaccessibleArgOnlyAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_serialized_parallel, InaccessibleArgOnlyAttrs,
- AttributeSet(), ParamAttrs(ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_end_serialized_parallel, InaccessibleArgOnlyAttrs,
- AttributeSet(), ParamAttrs(ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_omp_reg_task_with_affinity, DefaultAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), ReadOnlyPtrAttrs,
- AttributeSet(), ReadOnlyPtrAttrs))
-
-__OMP_RTL_ATTRS(omp_get_thread_num, GetterAttrs, AttributeSet(), ParamAttrs())
-__OMP_RTL_ATTRS(omp_get_num_threads, GetterAttrs, AttributeSet(), ParamAttrs())
-__OMP_RTL_ATTRS(omp_get_max_threads, GetterAttrs, AttributeSet(), ParamAttrs())
-__OMP_RTL_ATTRS(omp_in_parallel, GetterAttrs, AttributeSet(), ParamAttrs())
-__OMP_RTL_ATTRS(omp_get_dynamic, GetterAttrs, AttributeSet(), ParamAttrs())
-__OMP_RTL_ATTRS(omp_get_cancellation, GetterAttrs, AttributeSet(), ParamAttrs())
-__OMP_RTL_ATTRS(omp_get_nested, GetterAttrs, AttributeSet(), ParamAttrs())
-__OMP_RTL_ATTRS(
- omp_get_schedule, GetterArgWriteAttrs, AttributeSet(),
- ParamAttrs(AttributeSet(EnumAttr(NoCapture), EnumAttr(WriteOnly)),
- AttributeSet(EnumAttr(NoCapture), EnumAttr(WriteOnly))))
-__OMP_RTL_ATTRS(omp_get_thread_limit, GetterAttrs, AttributeSet(), ParamAttrs())
+__OMP_RTL_ATTRS(__kmpc_barrier, BarrierAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_barrier_simple_spmd, BarrierAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_warp_active_thread_mask, BarrierAttrs, AttributeSet(),
+ ParamAttrs())
+__OMP_RTL_ATTRS(__kmpc_syncwarp, BarrierAttrs, AttributeSet(), ParamAttrs())
+__OMP_RTL_ATTRS(__kmpc_cancel, InaccessibleArgOnlyAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_cancel_barrier, BarrierAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_flush, BarrierAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_global_thread_num, GetterAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_fork_call, ForkAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_omp_taskwait, BarrierAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_omp_taskyield, InaccessibleArgOnlyAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_push_num_threads, InaccessibleArgOnlyAttrs,
+ AttributeSet(), ParamAttrs(ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_push_proc_bind, InaccessibleArgOnlyAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_serialized_parallel, InaccessibleArgOnlyAttrs,
+ AttributeSet(), ParamAttrs(ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_end_serialized_parallel, InaccessibleArgOnlyAttrs,
+ AttributeSet(), ParamAttrs(ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_omp_reg_task_with_affinity, DefaultAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), ReadOnlyPtrAttrs,
+ AttributeSet(), ReadOnlyPtrAttrs))
+
+__OMP_RTL_ATTRS(omp_get_thread_num, GetterAttrs, AttributeSet(), ParamAttrs())
+__OMP_RTL_ATTRS(omp_get_num_threads, GetterAttrs, AttributeSet(), ParamAttrs())
+__OMP_RTL_ATTRS(omp_get_max_threads, GetterAttrs, AttributeSet(), ParamAttrs())
+__OMP_RTL_ATTRS(omp_in_parallel, GetterAttrs, AttributeSet(), ParamAttrs())
+__OMP_RTL_ATTRS(omp_get_dynamic, GetterAttrs, AttributeSet(), ParamAttrs())
+__OMP_RTL_ATTRS(omp_get_cancellation, GetterAttrs, AttributeSet(), ParamAttrs())
+__OMP_RTL_ATTRS(omp_get_nested, GetterAttrs, AttributeSet(), ParamAttrs())
+__OMP_RTL_ATTRS(
+ omp_get_schedule, GetterArgWriteAttrs, AttributeSet(),
+ ParamAttrs(AttributeSet(EnumAttr(NoCapture), EnumAttr(WriteOnly)),
+ AttributeSet(EnumAttr(NoCapture), EnumAttr(WriteOnly))))
+__OMP_RTL_ATTRS(omp_get_thread_limit, GetterAttrs, AttributeSet(), ParamAttrs())
__OMP_RTL_ATTRS(omp_get_supported_active_levels, GetterAttrs, AttributeSet(),
- ParamAttrs())
-__OMP_RTL_ATTRS(omp_get_max_active_levels, GetterAttrs, AttributeSet(),
- ParamAttrs())
-__OMP_RTL_ATTRS(omp_get_level, GetterAttrs, AttributeSet(), ParamAttrs())
-__OMP_RTL_ATTRS(omp_get_ancestor_thread_num, GetterAttrs, AttributeSet(),
- ParamAttrs())
-__OMP_RTL_ATTRS(omp_get_team_size, GetterAttrs, AttributeSet(), ParamAttrs())
-__OMP_RTL_ATTRS(omp_get_active_level, GetterAttrs, AttributeSet(), ParamAttrs())
-__OMP_RTL_ATTRS(omp_in_final, GetterAttrs, AttributeSet(), ParamAttrs())
-__OMP_RTL_ATTRS(omp_get_proc_bind, GetterAttrs, AttributeSet(), ParamAttrs())
-__OMP_RTL_ATTRS(omp_get_num_places, GetterAttrs, AttributeSet(), ParamAttrs())
-__OMP_RTL_ATTRS(omp_get_num_procs, GetterAttrs, AttributeSet(), ParamAttrs())
+ ParamAttrs())
+__OMP_RTL_ATTRS(omp_get_max_active_levels, GetterAttrs, AttributeSet(),
+ ParamAttrs())
+__OMP_RTL_ATTRS(omp_get_level, GetterAttrs, AttributeSet(), ParamAttrs())
+__OMP_RTL_ATTRS(omp_get_ancestor_thread_num, GetterAttrs, AttributeSet(),
+ ParamAttrs())
+__OMP_RTL_ATTRS(omp_get_team_size, GetterAttrs, AttributeSet(), ParamAttrs())
+__OMP_RTL_ATTRS(omp_get_active_level, GetterAttrs, AttributeSet(), ParamAttrs())
+__OMP_RTL_ATTRS(omp_in_final, GetterAttrs, AttributeSet(), ParamAttrs())
+__OMP_RTL_ATTRS(omp_get_proc_bind, GetterAttrs, AttributeSet(), ParamAttrs())
+__OMP_RTL_ATTRS(omp_get_num_places, GetterAttrs, AttributeSet(), ParamAttrs())
+__OMP_RTL_ATTRS(omp_get_num_procs, GetterAttrs, AttributeSet(), ParamAttrs())
__OMP_RTL_ATTRS(omp_get_place_proc_ids, GetterArgWriteAttrs, AttributeSet(),
- ParamAttrs(AttributeSet(), AttributeSet(EnumAttr(NoCapture),
- EnumAttr(WriteOnly))))
-__OMP_RTL_ATTRS(omp_get_place_num, GetterAttrs, AttributeSet(), ParamAttrs())
-__OMP_RTL_ATTRS(omp_get_partition_num_places, GetterAttrs, AttributeSet(),
- ParamAttrs())
-__OMP_RTL_ATTRS(omp_get_partition_place_nums, GetterAttrs, AttributeSet(),
- ParamAttrs())
-
-__OMP_RTL_ATTRS(omp_set_num_threads, SetterAttrs, AttributeSet(), ParamAttrs())
-__OMP_RTL_ATTRS(omp_set_dynamic, SetterAttrs, AttributeSet(), ParamAttrs())
-__OMP_RTL_ATTRS(omp_set_nested, SetterAttrs, AttributeSet(), ParamAttrs())
-__OMP_RTL_ATTRS(omp_set_schedule, SetterAttrs, AttributeSet(), ParamAttrs())
-__OMP_RTL_ATTRS(omp_set_max_active_levels, SetterAttrs, AttributeSet(),
- ParamAttrs())
-
-__OMP_RTL_ATTRS(__kmpc_master, InaccessibleArgOnlyAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_end_master, InaccessibleArgOnlyAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_critical, BarrierAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet()))
-__OMP_RTL_ATTRS(__kmpc_critical_with_hint, BarrierAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
- AttributeSet()))
-__OMP_RTL_ATTRS(__kmpc_end_critical, BarrierAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet()))
-
-__OMP_RTL_ATTRS(__kmpc_begin, DefaultAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_end, DefaultAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs))
-
-__OMP_RTL_ATTRS(__kmpc_reduce, BarrierAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
- AttributeSet(), ReadOnlyPtrAttrs, AttributeSet()))
-__OMP_RTL_ATTRS(__kmpc_reduce_nowait, BarrierAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
- AttributeSet(), ReadOnlyPtrAttrs, AttributeSet()))
-__OMP_RTL_ATTRS(__kmpc_end_reduce, BarrierAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet()))
-__OMP_RTL_ATTRS(__kmpc_end_reduce_nowait, BarrierAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet()))
-
-__OMP_RTL_ATTRS(__kmpc_ordered, BarrierAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_end_ordered, BarrierAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs))
-
-__OMP_RTL_ATTRS(__kmpc_for_static_init_4, GetterArgWriteAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
- ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs,
- AttributeSet(), AttributeSet()))
-__OMP_RTL_ATTRS(__kmpc_for_static_init_4u, GetterArgWriteAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
- ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs,
- AttributeSet(), AttributeSet()))
-__OMP_RTL_ATTRS(__kmpc_for_static_init_8, GetterArgWriteAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
- ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs,
- AttributeSet(), AttributeSet()))
-__OMP_RTL_ATTRS(__kmpc_for_static_init_8u, GetterArgWriteAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
- ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs,
- AttributeSet(), AttributeSet()))
-__OMP_RTL_ATTRS(__kmpc_for_static_fini, InaccessibleArgOnlyAttrs,
- AttributeSet(), ParamAttrs(ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_dist_dispatch_init_4, GetterArgWriteAttrs,
- AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
- ArgPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_dist_dispatch_init_4u, GetterArgWriteAttrs,
- AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
- ArgPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_dist_dispatch_init_8, GetterArgWriteAttrs,
- AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
- ArgPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_dist_dispatch_init_8u, GetterArgWriteAttrs,
- AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
- ArgPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_dispatch_init_4, GetterArgWriteAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_dispatch_init_4u, GetterArgWriteAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_dispatch_init_8, GetterArgWriteAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_dispatch_init_8u, GetterArgWriteAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_dispatch_next_4, GetterArgWriteAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), ArgPtrAttrs,
- ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_dispatch_next_4u, GetterArgWriteAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), ArgPtrAttrs,
- ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_dispatch_next_8, GetterArgWriteAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), ArgPtrAttrs,
- ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_dispatch_next_8u, GetterArgWriteAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), ArgPtrAttrs,
- ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_dispatch_fini_4, InaccessibleArgOnlyAttrs,
- AttributeSet(), ParamAttrs(ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_dispatch_fini_4u, InaccessibleArgOnlyAttrs,
- AttributeSet(), ParamAttrs(ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_dispatch_fini_8, InaccessibleArgOnlyAttrs,
- AttributeSet(), ParamAttrs(ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_dispatch_fini_8u, InaccessibleArgOnlyAttrs,
- AttributeSet(), ParamAttrs(ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_team_static_init_4, GetterArgWriteAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), ArgPtrAttrs,
- ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_team_static_init_4u, GetterArgWriteAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), ArgPtrAttrs,
- ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_team_static_init_8, GetterArgWriteAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), ArgPtrAttrs,
- ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_team_static_init_8u, GetterArgWriteAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), ArgPtrAttrs,
- ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_dist_for_static_init_4, GetterArgWriteAttrs,
- AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
- ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs,
- ArgPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_dist_for_static_init_4u, GetterArgWriteAttrs,
- AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
- ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs,
- ArgPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_dist_for_static_init_8, GetterArgWriteAttrs,
- AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
- ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs,
- ArgPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_dist_for_static_init_8u, GetterArgWriteAttrs,
- AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
- ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs,
- ArgPtrAttrs))
-
-__OMP_RTL_ATTRS(__kmpc_single, BarrierAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_end_single, BarrierAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs))
-
-__OMP_RTL_ATTRS(__kmpc_omp_task_alloc, DefaultAttrs, ReturnPtrAttrs,
- ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
- AttributeSet(), AttributeSet(), ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_omp_task, DefaultAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet()))
-__OMP_RTL_ATTRS(__kmpc_end_taskgroup, BarrierAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_taskgroup, BarrierAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_omp_task_begin_if0, DefaultAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_omp_task_complete_if0, DefaultAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_omp_task_with_deps, DefaultAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
- AttributeSet(), ReadOnlyPtrAttrs, AttributeSet(),
- ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_taskloop, DefaultAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
- AttributeSet(), ArgPtrAttrs, ArgPtrAttrs,
- AttributeSet(), AttributeSet(), AttributeSet(),
- AttributeSet(), AttributeSet()))
-__OMP_RTL_ATTRS(__kmpc_omp_target_task_alloc, DefaultAttrs, ReturnPtrAttrs,
- ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
- AttributeSet(), AttributeSet(), ReadOnlyPtrAttrs,
- AttributeSet()))
-__OMP_RTL_ATTRS(__kmpc_taskred_modifier_init, DefaultAttrs, ReturnPtrAttrs,
- ParamAttrs(ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_taskred_init, DefaultAttrs, AttributeSet(), ParamAttrs())
-__OMP_RTL_ATTRS(__kmpc_task_reduction_modifier_fini, BarrierAttrs,
- AttributeSet(), ParamAttrs(ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_task_reduction_get_th_data, DefaultAttrs, ReturnPtrAttrs,
- ParamAttrs())
-__OMP_RTL_ATTRS(__kmpc_task_reduction_init, DefaultAttrs, ReturnPtrAttrs,
- ParamAttrs())
-__OMP_RTL_ATTRS(__kmpc_task_reduction_modifier_init, DefaultAttrs,
- ReturnPtrAttrs, ParamAttrs())
-__OMP_RTL_ATTRS(__kmpc_proxy_task_completed_ooo, DefaultAttrs, AttributeSet(),
- ParamAttrs())
-
-__OMP_RTL_ATTRS(__kmpc_omp_wait_deps, BarrierAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
- ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_cancellationpoint, DefaultAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs))
-
-__OMP_RTL_ATTRS(__kmpc_fork_teams, ForkAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_push_num_teams, InaccessibleArgOnlyAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs))
-
-__OMP_RTL_ATTRS(__kmpc_copyprivate, DefaultAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
- ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_threadprivate_cached, DefaultAttrs, ReturnPtrAttrs,
- ParamAttrs(ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_threadprivate_register, DefaultAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), ReadOnlyPtrAttrs,
- ReadOnlyPtrAttrs, ReadOnlyPtrAttrs))
-
-__OMP_RTL_ATTRS(__kmpc_doacross_init, BarrierAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_doacross_post, BarrierAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_doacross_wait, BarrierAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), ReadOnlyPtrAttrs))
-__OMP_RTL_ATTRS(__kmpc_doacross_fini, BarrierAttrs, AttributeSet(),
- ParamAttrs(ReadOnlyPtrAttrs))
-
-__OMP_RTL_ATTRS(__kmpc_alloc, DefaultAttrs, ReturnPtrAttrs, {})
-__OMP_RTL_ATTRS(__kmpc_free, AllocAttrs, AttributeSet(), {})
-
-__OMP_RTL_ATTRS(__kmpc_init_allocator, DefaultAttrs, ReturnPtrAttrs, {})
-__OMP_RTL_ATTRS(__kmpc_destroy_allocator, AllocAttrs, AttributeSet(), {})
-
-__OMP_RTL_ATTRS(__kmpc_push_target_tripcount_mapper, SetterAttrs, AttributeSet(), {})
-__OMP_RTL_ATTRS(__tgt_target_mapper, ForkAttrs, AttributeSet(), {})
-__OMP_RTL_ATTRS(__tgt_target_nowait_mapper, ForkAttrs, AttributeSet(), {})
-__OMP_RTL_ATTRS(__tgt_target_teams_mapper, ForkAttrs, AttributeSet(), {})
-__OMP_RTL_ATTRS(__tgt_target_teams_nowait_mapper, ForkAttrs, AttributeSet(), {})
-__OMP_RTL_ATTRS(__tgt_register_requires, ForkAttrs, AttributeSet(), {})
-__OMP_RTL_ATTRS(__tgt_target_data_begin_mapper, ForkAttrs, AttributeSet(), {})
-__OMP_RTL_ATTRS(__tgt_target_data_begin_nowait_mapper, ForkAttrs,
- AttributeSet(), {})
-__OMP_RTL_ATTRS(__tgt_target_data_end_mapper, ForkAttrs, AttributeSet(), {})
-__OMP_RTL_ATTRS(__tgt_target_data_end_nowait_mapper, ForkAttrs,
- AttributeSet(), {})
-__OMP_RTL_ATTRS(__tgt_target_data_update_mapper, ForkAttrs, AttributeSet(), {})
-__OMP_RTL_ATTRS(__tgt_target_data_update_nowait_mapper, ForkAttrs,
- AttributeSet(), {})
-__OMP_RTL_ATTRS(__tgt_mapper_num_components, ForkAttrs, AttributeSet(), {})
-__OMP_RTL_ATTRS(__tgt_push_mapper_component, ForkAttrs, AttributeSet(), {})
-__OMP_RTL_ATTRS(__kmpc_task_allow_completion_event, DefaultAttrs,
- ReturnPtrAttrs, ParamAttrs(ReadOnlyPtrAttrs))
+ ParamAttrs(AttributeSet(), AttributeSet(EnumAttr(NoCapture),
+ EnumAttr(WriteOnly))))
+__OMP_RTL_ATTRS(omp_get_place_num, GetterAttrs, AttributeSet(), ParamAttrs())
+__OMP_RTL_ATTRS(omp_get_partition_num_places, GetterAttrs, AttributeSet(),
+ ParamAttrs())
+__OMP_RTL_ATTRS(omp_get_partition_place_nums, GetterAttrs, AttributeSet(),
+ ParamAttrs())
+
+__OMP_RTL_ATTRS(omp_set_num_threads, SetterAttrs, AttributeSet(), ParamAttrs())
+__OMP_RTL_ATTRS(omp_set_dynamic, SetterAttrs, AttributeSet(), ParamAttrs())
+__OMP_RTL_ATTRS(omp_set_nested, SetterAttrs, AttributeSet(), ParamAttrs())
+__OMP_RTL_ATTRS(omp_set_schedule, SetterAttrs, AttributeSet(), ParamAttrs())
+__OMP_RTL_ATTRS(omp_set_max_active_levels, SetterAttrs, AttributeSet(),
+ ParamAttrs())
+
+__OMP_RTL_ATTRS(__kmpc_master, InaccessibleArgOnlyAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_end_master, InaccessibleArgOnlyAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_critical, BarrierAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet()))
+__OMP_RTL_ATTRS(__kmpc_critical_with_hint, BarrierAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
+ AttributeSet()))
+__OMP_RTL_ATTRS(__kmpc_end_critical, BarrierAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet()))
+
+__OMP_RTL_ATTRS(__kmpc_begin, DefaultAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_end, DefaultAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs))
+
+__OMP_RTL_ATTRS(__kmpc_reduce, BarrierAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
+ AttributeSet(), ReadOnlyPtrAttrs, AttributeSet()))
+__OMP_RTL_ATTRS(__kmpc_reduce_nowait, BarrierAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
+ AttributeSet(), ReadOnlyPtrAttrs, AttributeSet()))
+__OMP_RTL_ATTRS(__kmpc_end_reduce, BarrierAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet()))
+__OMP_RTL_ATTRS(__kmpc_end_reduce_nowait, BarrierAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet()))
+
+__OMP_RTL_ATTRS(__kmpc_ordered, BarrierAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_end_ordered, BarrierAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs))
+
+__OMP_RTL_ATTRS(__kmpc_for_static_init_4, GetterArgWriteAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
+ ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs,
+ AttributeSet(), AttributeSet()))
+__OMP_RTL_ATTRS(__kmpc_for_static_init_4u, GetterArgWriteAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
+ ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs,
+ AttributeSet(), AttributeSet()))
+__OMP_RTL_ATTRS(__kmpc_for_static_init_8, GetterArgWriteAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
+ ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs,
+ AttributeSet(), AttributeSet()))
+__OMP_RTL_ATTRS(__kmpc_for_static_init_8u, GetterArgWriteAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
+ ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs,
+ AttributeSet(), AttributeSet()))
+__OMP_RTL_ATTRS(__kmpc_for_static_fini, InaccessibleArgOnlyAttrs,
+ AttributeSet(), ParamAttrs(ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_dist_dispatch_init_4, GetterArgWriteAttrs,
+ AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
+ ArgPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_dist_dispatch_init_4u, GetterArgWriteAttrs,
+ AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
+ ArgPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_dist_dispatch_init_8, GetterArgWriteAttrs,
+ AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
+ ArgPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_dist_dispatch_init_8u, GetterArgWriteAttrs,
+ AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
+ ArgPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_dispatch_init_4, GetterArgWriteAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_dispatch_init_4u, GetterArgWriteAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_dispatch_init_8, GetterArgWriteAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_dispatch_init_8u, GetterArgWriteAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_dispatch_next_4, GetterArgWriteAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), ArgPtrAttrs,
+ ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_dispatch_next_4u, GetterArgWriteAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), ArgPtrAttrs,
+ ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_dispatch_next_8, GetterArgWriteAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), ArgPtrAttrs,
+ ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_dispatch_next_8u, GetterArgWriteAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), ArgPtrAttrs,
+ ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_dispatch_fini_4, InaccessibleArgOnlyAttrs,
+ AttributeSet(), ParamAttrs(ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_dispatch_fini_4u, InaccessibleArgOnlyAttrs,
+ AttributeSet(), ParamAttrs(ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_dispatch_fini_8, InaccessibleArgOnlyAttrs,
+ AttributeSet(), ParamAttrs(ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_dispatch_fini_8u, InaccessibleArgOnlyAttrs,
+ AttributeSet(), ParamAttrs(ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_team_static_init_4, GetterArgWriteAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), ArgPtrAttrs,
+ ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_team_static_init_4u, GetterArgWriteAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), ArgPtrAttrs,
+ ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_team_static_init_8, GetterArgWriteAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), ArgPtrAttrs,
+ ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_team_static_init_8u, GetterArgWriteAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), ArgPtrAttrs,
+ ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_dist_for_static_init_4, GetterArgWriteAttrs,
+ AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
+ ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs,
+ ArgPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_dist_for_static_init_4u, GetterArgWriteAttrs,
+ AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
+ ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs,
+ ArgPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_dist_for_static_init_8, GetterArgWriteAttrs,
+ AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
+ ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs,
+ ArgPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_dist_for_static_init_8u, GetterArgWriteAttrs,
+ AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
+ ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs, ArgPtrAttrs,
+ ArgPtrAttrs))
+
+__OMP_RTL_ATTRS(__kmpc_single, BarrierAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_end_single, BarrierAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs))
+
+__OMP_RTL_ATTRS(__kmpc_omp_task_alloc, DefaultAttrs, ReturnPtrAttrs,
+ ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
+ AttributeSet(), AttributeSet(), ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_omp_task, DefaultAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet()))
+__OMP_RTL_ATTRS(__kmpc_end_taskgroup, BarrierAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_taskgroup, BarrierAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_omp_task_begin_if0, DefaultAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_omp_task_complete_if0, DefaultAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_omp_task_with_deps, DefaultAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
+ AttributeSet(), ReadOnlyPtrAttrs, AttributeSet(),
+ ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_taskloop, DefaultAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
+ AttributeSet(), ArgPtrAttrs, ArgPtrAttrs,
+ AttributeSet(), AttributeSet(), AttributeSet(),
+ AttributeSet(), AttributeSet()))
+__OMP_RTL_ATTRS(__kmpc_omp_target_task_alloc, DefaultAttrs, ReturnPtrAttrs,
+ ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
+ AttributeSet(), AttributeSet(), ReadOnlyPtrAttrs,
+ AttributeSet()))
+__OMP_RTL_ATTRS(__kmpc_taskred_modifier_init, DefaultAttrs, ReturnPtrAttrs,
+ ParamAttrs(ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_taskred_init, DefaultAttrs, AttributeSet(), ParamAttrs())
+__OMP_RTL_ATTRS(__kmpc_task_reduction_modifier_fini, BarrierAttrs,
+ AttributeSet(), ParamAttrs(ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_task_reduction_get_th_data, DefaultAttrs, ReturnPtrAttrs,
+ ParamAttrs())
+__OMP_RTL_ATTRS(__kmpc_task_reduction_init, DefaultAttrs, ReturnPtrAttrs,
+ ParamAttrs())
+__OMP_RTL_ATTRS(__kmpc_task_reduction_modifier_init, DefaultAttrs,
+ ReturnPtrAttrs, ParamAttrs())
+__OMP_RTL_ATTRS(__kmpc_proxy_task_completed_ooo, DefaultAttrs, AttributeSet(),
+ ParamAttrs())
+
+__OMP_RTL_ATTRS(__kmpc_omp_wait_deps, BarrierAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
+ ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_cancellationpoint, DefaultAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs))
+
+__OMP_RTL_ATTRS(__kmpc_fork_teams, ForkAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_push_num_teams, InaccessibleArgOnlyAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs))
+
+__OMP_RTL_ATTRS(__kmpc_copyprivate, DefaultAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), AttributeSet(),
+ ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_threadprivate_cached, DefaultAttrs, ReturnPtrAttrs,
+ ParamAttrs(ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_threadprivate_register, DefaultAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), ReadOnlyPtrAttrs,
+ ReadOnlyPtrAttrs, ReadOnlyPtrAttrs))
+
+__OMP_RTL_ATTRS(__kmpc_doacross_init, BarrierAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_doacross_post, BarrierAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_doacross_wait, BarrierAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs, AttributeSet(), ReadOnlyPtrAttrs))
+__OMP_RTL_ATTRS(__kmpc_doacross_fini, BarrierAttrs, AttributeSet(),
+ ParamAttrs(ReadOnlyPtrAttrs))
+
+__OMP_RTL_ATTRS(__kmpc_alloc, DefaultAttrs, ReturnPtrAttrs, {})
+__OMP_RTL_ATTRS(__kmpc_free, AllocAttrs, AttributeSet(), {})
+
+__OMP_RTL_ATTRS(__kmpc_init_allocator, DefaultAttrs, ReturnPtrAttrs, {})
+__OMP_RTL_ATTRS(__kmpc_destroy_allocator, AllocAttrs, AttributeSet(), {})
+
+__OMP_RTL_ATTRS(__kmpc_push_target_tripcount_mapper, SetterAttrs, AttributeSet(), {})
+__OMP_RTL_ATTRS(__tgt_target_mapper, ForkAttrs, AttributeSet(), {})
+__OMP_RTL_ATTRS(__tgt_target_nowait_mapper, ForkAttrs, AttributeSet(), {})
+__OMP_RTL_ATTRS(__tgt_target_teams_mapper, ForkAttrs, AttributeSet(), {})
+__OMP_RTL_ATTRS(__tgt_target_teams_nowait_mapper, ForkAttrs, AttributeSet(), {})
+__OMP_RTL_ATTRS(__tgt_register_requires, ForkAttrs, AttributeSet(), {})
+__OMP_RTL_ATTRS(__tgt_target_data_begin_mapper, ForkAttrs, AttributeSet(), {})
+__OMP_RTL_ATTRS(__tgt_target_data_begin_nowait_mapper, ForkAttrs,
+ AttributeSet(), {})
+__OMP_RTL_ATTRS(__tgt_target_data_end_mapper, ForkAttrs, AttributeSet(), {})
+__OMP_RTL_ATTRS(__tgt_target_data_end_nowait_mapper, ForkAttrs,
+ AttributeSet(), {})
+__OMP_RTL_ATTRS(__tgt_target_data_update_mapper, ForkAttrs, AttributeSet(), {})
+__OMP_RTL_ATTRS(__tgt_target_data_update_nowait_mapper, ForkAttrs,
+ AttributeSet(), {})
+__OMP_RTL_ATTRS(__tgt_mapper_num_components, ForkAttrs, AttributeSet(), {})
+__OMP_RTL_ATTRS(__tgt_push_mapper_component, ForkAttrs, AttributeSet(), {})
+__OMP_RTL_ATTRS(__kmpc_task_allow_completion_event, DefaultAttrs,
+ ReturnPtrAttrs, ParamAttrs(ReadOnlyPtrAttrs))
#undef __OMP_RTL_ATTRS
#undef OMP_RTL_ATTRS
#undef AttributeSet
#undef EnumAttr
-#undef EnumAttrInt
-#undef ParamAttrs
+#undef EnumAttrInt
+#undef ParamAttrs
///}
@@ -1025,7 +1025,7 @@ __OMP_TRAIT_PROPERTY(device, arch, aarch64)
__OMP_TRAIT_PROPERTY(device, arch, aarch64_be)
__OMP_TRAIT_PROPERTY(device, arch, aarch64_32)
__OMP_TRAIT_PROPERTY(device, arch, ppc)
-__OMP_TRAIT_PROPERTY(device, arch, ppcle)
+__OMP_TRAIT_PROPERTY(device, arch, ppcle)
__OMP_TRAIT_PROPERTY(device, arch, ppc64)
__OMP_TRAIT_PROPERTY(device, arch, ppc64le)
__OMP_TRAIT_PROPERTY(device, arch, x86)
@@ -1055,8 +1055,8 @@ __OMP_TRAIT_SELECTOR(implementation, extension, true)
__OMP_TRAIT_PROPERTY(implementation, extension, match_all)
__OMP_TRAIT_PROPERTY(implementation, extension, match_any)
__OMP_TRAIT_PROPERTY(implementation, extension, match_none)
-__OMP_TRAIT_PROPERTY(implementation, extension, disable_implicit_base)
-__OMP_TRAIT_PROPERTY(implementation, extension, allow_templates)
+__OMP_TRAIT_PROPERTY(implementation, extension, disable_implicit_base)
+__OMP_TRAIT_PROPERTY(implementation, extension, allow_templates)
__OMP_TRAIT_SET(user)
@@ -1066,18 +1066,18 @@ __OMP_TRAIT_PROPERTY(user, condition, true)
__OMP_TRAIT_PROPERTY(user, condition, false)
__OMP_TRAIT_PROPERTY(user, condition, unknown)
-
-// Note that we put isa last so that the other conditions are checked first.
-// This allows us to issue warnings wrt. isa only if we match otherwise.
-__OMP_TRAIT_SELECTOR(device, isa, true)
-
-// We use "__ANY" as a placeholder in the isa property to denote the
-// conceptual "any", not the literal `any` used in kind. The string we
-// we use is not important except that it will show up in diagnostics.
-OMP_TRAIT_PROPERTY(device_isa___ANY, device, device_isa,
- "<any, entirely target dependent>")
-
-
+
+// Note that we put isa last so that the other conditions are checked first.
+// This allows us to issue warnings wrt. isa only if we match otherwise.
+__OMP_TRAIT_SELECTOR(device, isa, true)
+
+// We use "__ANY" as a placeholder in the isa property to denote the
+// conceptual "any", not the literal `any` used in kind. The string we
+// we use is not important except that it will show up in diagnostics.
+OMP_TRAIT_PROPERTY(device_isa___ANY, device, device_isa,
+ "<any, entirely target dependent>")
+
+
#undef OMP_TRAIT_SET
#undef __OMP_TRAIT_SET
///}
@@ -1115,27 +1115,27 @@ OMP_LAST_TRAIT_PROPERTY(
#undef __OMP_REQUIRES_TRAIT
#undef OMP_REQUIRES_TRAIT
///}
-
-
-/// Assumption clauses
-///
-///{
-
-#ifdef OMP_ASSUME_CLAUSE
-#define __OMP_ASSUME_CLAUSE(Identifier, StartsWith, HasDirectiveList, HasExpression) \
-OMP_ASSUME_CLAUSE(Identifier, StartsWith, HasDirectiveList, HasExpression)
-#else
-#define __OMP_ASSUME_CLAUSE(...)
-#endif
-
-__OMP_ASSUME_CLAUSE(llvm::StringLiteral("ext_"), true, false, false)
-__OMP_ASSUME_CLAUSE(llvm::StringLiteral("absent"), false, true, false)
-__OMP_ASSUME_CLAUSE(llvm::StringLiteral("contains"), false, true, false)
-__OMP_ASSUME_CLAUSE(llvm::StringLiteral("holds"), false, false, true)
-__OMP_ASSUME_CLAUSE(llvm::StringLiteral("no_openmp"), false, false, false)
-__OMP_ASSUME_CLAUSE(llvm::StringLiteral("no_openmp_routines"), false, false, false)
-__OMP_ASSUME_CLAUSE(llvm::StringLiteral("no_parallelism"), false, false, false)
-
-#undef __OMP_ASSUME_CLAUSE
-#undef OMP_ASSUME_CLAUSE
-///}
+
+
+/// Assumption clauses
+///
+///{
+
+#ifdef OMP_ASSUME_CLAUSE
+#define __OMP_ASSUME_CLAUSE(Identifier, StartsWith, HasDirectiveList, HasExpression) \
+OMP_ASSUME_CLAUSE(Identifier, StartsWith, HasDirectiveList, HasExpression)
+#else
+#define __OMP_ASSUME_CLAUSE(...)
+#endif
+
+__OMP_ASSUME_CLAUSE(llvm::StringLiteral("ext_"), true, false, false)
+__OMP_ASSUME_CLAUSE(llvm::StringLiteral("absent"), false, true, false)
+__OMP_ASSUME_CLAUSE(llvm::StringLiteral("contains"), false, true, false)
+__OMP_ASSUME_CLAUSE(llvm::StringLiteral("holds"), false, false, true)
+__OMP_ASSUME_CLAUSE(llvm::StringLiteral("no_openmp"), false, false, false)
+__OMP_ASSUME_CLAUSE(llvm::StringLiteral("no_openmp_routines"), false, false, false)
+__OMP_ASSUME_CLAUSE(llvm::StringLiteral("no_parallelism"), false, false, false)
+
+#undef __OMP_ASSUME_CLAUSE
+#undef OMP_ASSUME_CLAUSE
+///}