diff options
author | Kelvin Li <kkwli0@gmail.com> | 2016-10-25 12:50:55 +0000 |
---|---|---|
committer | Kelvin Li <kkwli0@gmail.com> | 2016-10-25 12:50:55 +0000 |
commit | 4e325f77a9ad640206c9fb80c2bbf704f330f4d5 (patch) | |
tree | c507a6310157165912002607492b5f2773b19d5f /clang/lib/Basic/OpenMPKinds.cpp | |
parent | 7dc585763ee2a6d196760a5530c70b6db96351fe (diff) | |
download | bcm5719-llvm-4e325f77a9ad640206c9fb80c2bbf704f330f4d5.tar.gz bcm5719-llvm-4e325f77a9ad640206c9fb80c2bbf704f330f4d5.zip |
Re-apply patch r279045.
llvm-svn: 285066
Diffstat (limited to 'clang/lib/Basic/OpenMPKinds.cpp')
-rw-r--r-- | clang/lib/Basic/OpenMPKinds.cpp | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/clang/lib/Basic/OpenMPKinds.cpp b/clang/lib/Basic/OpenMPKinds.cpp index 4b41ab186d4..fa4b75cce47 100644 --- a/clang/lib/Basic/OpenMPKinds.cpp +++ b/clang/lib/Basic/OpenMPKinds.cpp @@ -630,6 +630,16 @@ bool clang::isAllowedClauseForDirective(OpenMPDirectiveKind DKind, break; } break; + case OMPD_teams_distribute_simd: + switch (CKind) { +#define OPENMP_TEAMS_DISTRIBUTE_SIMD_CLAUSE(Name) \ + case OMPC_##Name: \ + return true; +#include "clang/Basic/OpenMPKinds.def" + default: + break; + } + break; case OMPD_declare_target: case OMPD_end_declare_target: case OMPD_unknown: @@ -656,7 +666,7 @@ bool clang::isOpenMPLoopDirective(OpenMPDirectiveKind DKind) { DKind == OMPD_distribute_parallel_for_simd || DKind == OMPD_distribute_simd || DKind == OMPD_target_parallel_for_simd || DKind == OMPD_target_simd || - DKind == OMPD_teams_distribute; + DKind == OMPD_teams_distribute || DKind == OMPD_teams_distribute_simd; // TODO add next directives. } @@ -699,7 +709,8 @@ bool clang::isOpenMPTargetDataManagementDirective(OpenMPDirectiveKind DKind) { } bool clang::isOpenMPTeamsDirective(OpenMPDirectiveKind DKind) { - return DKind == OMPD_teams || DKind == OMPD_teams_distribute; + return DKind == OMPD_teams || DKind == OMPD_teams_distribute || + DKind == OMPD_teams_distribute_simd; // TODO add next directives. } @@ -707,7 +718,8 @@ bool clang::isOpenMPSimdDirective(OpenMPDirectiveKind DKind) { return DKind == OMPD_simd || DKind == OMPD_for_simd || DKind == OMPD_parallel_for_simd || DKind == OMPD_taskloop_simd || DKind == OMPD_distribute_parallel_for_simd || - DKind == OMPD_distribute_simd || DKind == OMPD_target_simd; + DKind == OMPD_distribute_simd || DKind == OMPD_target_simd || + DKind == OMPD_teams_distribute_simd; // TODO add next directives. } @@ -720,7 +732,7 @@ bool clang::isOpenMPNestingDistributeDirective(OpenMPDirectiveKind Kind) { bool clang::isOpenMPDistributeDirective(OpenMPDirectiveKind Kind) { return isOpenMPNestingDistributeDirective(Kind) || - Kind == OMPD_teams_distribute; + Kind == OMPD_teams_distribute || Kind == OMPD_teams_distribute_simd; // TODO add next directives. } @@ -741,5 +753,6 @@ bool clang::isOpenMPTaskingDirective(OpenMPDirectiveKind Kind) { bool clang::isOpenMPLoopBoundSharingDirective(OpenMPDirectiveKind Kind) { return Kind == OMPD_distribute_parallel_for || Kind == OMPD_distribute_parallel_for_simd || - Kind == OMPD_distribute_simd || Kind == OMPD_teams_distribute; + Kind == OMPD_distribute_simd || Kind == OMPD_teams_distribute || + Kind == OMPD_teams_distribute_simd; } |