summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaOpenMP.cpp
diff options
context:
space:
mode:
authorAlexey Bataev <a.bataev@hotmail.com>2018-01-16 15:57:07 +0000
committerAlexey Bataev <a.bataev@hotmail.com>2018-01-16 15:57:07 +0000
commit0c869ef21cc2ddc3197bbbf1d1e24515fd22a77e (patch)
treee4296a92a53dd3a291de4564231153635db817bb /clang/lib/Sema/SemaOpenMP.cpp
parent76d619b5097290662e0fda1c510dfa5f69025385 (diff)
downloadbcm5719-llvm-0c869ef21cc2ddc3197bbbf1d1e24515fd22a77e.tar.gz
bcm5719-llvm-0c869ef21cc2ddc3197bbbf1d1e24515fd22a77e.zip
[OPENMP] Add support for `depend` clauses on `target teams`.
Added codegen for `depend` clause on `#pragma omp target teams` directives. llvm-svn: 322569
Diffstat (limited to 'clang/lib/Sema/SemaOpenMP.cpp')
-rw-r--r--clang/lib/Sema/SemaOpenMP.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaOpenMP.cpp b/clang/lib/Sema/SemaOpenMP.cpp
index d0298540bae..09de688b8d0 100644
--- a/clang/lib/Sema/SemaOpenMP.cpp
+++ b/clang/lib/Sema/SemaOpenMP.cpp
@@ -2137,6 +2137,11 @@ void Sema::ActOnOpenMPRegionStart(OpenMPDirectiveKind DKind, Scope *CurScope) {
};
ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP,
Params);
+ // Mark this captured region as inlined, because we don't use outlined
+ // function directly.
+ getCurCapturedRegion()->TheCapturedDecl->addAttr(
+ AlwaysInlineAttr::CreateImplicit(
+ Context, AlwaysInlineAttr::Keyword_forceinline, SourceRange()));
Sema::CapturedParamNameType ParamsTarget[] = {
std::make_pair(StringRef(), QualType()) // __context with shared vars
};
@@ -8147,9 +8152,9 @@ static OpenMPDirectiveKind getOpenMPCaptureRegionForClause(
case OMPD_target_exit_data:
case OMPD_target:
case OMPD_target_simd:
+ case OMPD_target_teams:
CaptureRegion = OMPD_task;
break;
- case OMPD_target_teams:
case OMPD_target_teams_distribute:
case OMPD_target_teams_distribute_simd:
case OMPD_target_teams_distribute_parallel_for:
OpenPOWER on IntegriCloud