summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic
diff options
context:
space:
mode:
authorAlexey Bataev <a.bataev@hotmail.com>2019-12-11 11:20:47 -0500
committerAlexey Bataev <a.bataev@hotmail.com>2019-12-11 12:30:18 -0500
commit7b774b7cd48562e3af3405b1e5c54ea58bd142a6 (patch)
tree9ce41b85c08fe169a01d4eaa3a809f309c06f902 /clang/lib/Basic
parentee64dfd953f89a9d3df3c13a28b1bce33f33f4cb (diff)
downloadbcm5719-llvm-7b774b7cd48562e3af3405b1e5c54ea58bd142a6.tar.gz
bcm5719-llvm-7b774b7cd48562e3af3405b1e5c54ea58bd142a6.zip
[OPENMP50]Add if clause in teams distribute simd directive.
According to OpenMP 5.0, if clause can be used in for simd directive. If condition in the if clause if false, the non-vectorized version of the loop must be executed.
Diffstat (limited to 'clang/lib/Basic')
-rw-r--r--clang/lib/Basic/OpenMPKinds.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/Basic/OpenMPKinds.cpp b/clang/lib/Basic/OpenMPKinds.cpp
index 51fe587de99..6dadfce1eb8 100644
--- a/clang/lib/Basic/OpenMPKinds.cpp
+++ b/clang/lib/Basic/OpenMPKinds.cpp
@@ -808,6 +808,8 @@ bool clang::isAllowedClauseForDirective(OpenMPDirectiveKind DKind,
}
break;
case OMPD_teams_distribute_simd:
+ if (OpenMPVersion < 50 && CKind == OMPC_if)
+ return false;
switch (CKind) {
#define OPENMP_TEAMS_DISTRIBUTE_SIMD_CLAUSE(Name) \
case OMPC_##Name: \
OpenPOWER on IntegriCloud