diff options
Diffstat (limited to 'clang/lib/Basic/OpenMPKinds.cpp')
| -rw-r--r-- | clang/lib/Basic/OpenMPKinds.cpp | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/clang/lib/Basic/OpenMPKinds.cpp b/clang/lib/Basic/OpenMPKinds.cpp index 5c19d60cbd6e..cfdba09eb1ec 100644 --- a/clang/lib/Basic/OpenMPKinds.cpp +++ b/clang/lib/Basic/OpenMPKinds.cpp @@ -130,6 +130,7 @@ unsigned clang::getOpenMPSimpleClauseType(OpenMPClauseKind Kind, StringRef Str, case OMPC_num_threads: case OMPC_safelen: case OMPC_simdlen: + case OMPC_sizes: case OMPC_allocator: case OMPC_allocate: case OMPC_collapse: @@ -175,6 +176,8 @@ unsigned clang::getOpenMPSimpleClauseType(OpenMPClauseKind Kind, StringRef Str, case OMPC_match: case OMPC_nontemporal: case OMPC_destroy: + case OMPC_novariants: + case OMPC_nocontext: case OMPC_detach: case OMPC_inclusive: case OMPC_exclusive: @@ -370,6 +373,7 @@ const char *clang::getOpenMPSimpleClauseTypeName(OpenMPClauseKind Kind, case OMPC_num_threads: case OMPC_safelen: case OMPC_simdlen: + case OMPC_sizes: case OMPC_allocator: case OMPC_allocate: case OMPC_collapse: @@ -416,6 +420,8 @@ const char *clang::getOpenMPSimpleClauseTypeName(OpenMPClauseKind Kind, case OMPC_nontemporal: case OMPC_destroy: case OMPC_detach: + case OMPC_novariants: + case OMPC_nocontext: case OMPC_inclusive: case OMPC_exclusive: case OMPC_uses_allocators: @@ -446,7 +452,8 @@ bool clang::isOpenMPLoopDirective(OpenMPDirectiveKind DKind) { DKind == OMPD_target_teams_distribute || DKind == OMPD_target_teams_distribute_parallel_for || DKind == OMPD_target_teams_distribute_parallel_for_simd || - DKind == OMPD_target_teams_distribute_simd; + DKind == OMPD_target_teams_distribute_simd || DKind == OMPD_tile || + DKind == OMPD_unroll; } bool clang::isOpenMPWorksharingDirective(OpenMPDirectiveKind DKind) { @@ -573,6 +580,10 @@ bool clang::isOpenMPLoopBoundSharingDirective(OpenMPDirectiveKind Kind) { Kind == OMPD_target_teams_distribute_parallel_for_simd; } +bool clang::isOpenMPLoopTransformationDirective(OpenMPDirectiveKind DKind) { + return DKind == OMPD_tile || DKind == OMPD_unroll; +} + void clang::getOpenMPCaptureRegions( SmallVectorImpl<OpenMPDirectiveKind> &CaptureRegions, OpenMPDirectiveKind DKind) { @@ -654,8 +665,13 @@ void clang::getOpenMPCaptureRegions( case OMPD_atomic: case OMPD_target_data: case OMPD_distribute_simd: + case OMPD_dispatch: CaptureRegions.push_back(OMPD_unknown); break; + case OMPD_tile: + case OMPD_unroll: + // loop transformations do not introduce captures. + break; case OMPD_threadprivate: case OMPD_allocate: case OMPD_taskyield: |
