summaryrefslogtreecommitdiffstats
path: root/lib/Basic/OpenMPKinds.cpp
diff options
context:
space:
mode:
authorAlexey Bataev <a.bataev@hotmail.com>2017-11-21 17:08:48 +0000
committerAlexey Bataev <a.bataev@hotmail.com>2017-11-21 17:08:48 +0000
commitf301ed91f8ffc6899d8e6dc0753e77b84a7092e6 (patch)
tree0bac805b049b511cf9e36f93e1e510bda3095e3a /lib/Basic/OpenMPKinds.cpp
parent58834f07300dc9eadc56bd012ab76bb9a1079477 (diff)
[OPENMP] Initial support for asynchronous data update, NFC.
OpenMP 5.0 introduces asynchronous data update/dependecies clauses on target data directives. Patch adds initial support for outer task regions to use task-based codegen for future async target data directives. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@318781 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Basic/OpenMPKinds.cpp')
-rw-r--r--lib/Basic/OpenMPKinds.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/Basic/OpenMPKinds.cpp b/lib/Basic/OpenMPKinds.cpp
index 3dbcd4cdfb..6cea8f4597 100644
--- a/lib/Basic/OpenMPKinds.cpp
+++ b/lib/Basic/OpenMPKinds.cpp
@@ -935,6 +935,11 @@ void clang::getOpenMPCaptureRegions(
CaptureRegions.push_back(OMPD_target);
CaptureRegions.push_back(OMPD_parallel);
break;
+ case OMPD_target_enter_data:
+ case OMPD_target_exit_data:
+ case OMPD_target_update:
+ CaptureRegions.push_back(OMPD_task);
+ break;
case OMPD_threadprivate:
case OMPD_taskyield:
case OMPD_barrier:
@@ -942,13 +947,10 @@ void clang::getOpenMPCaptureRegions(
case OMPD_cancellation_point:
case OMPD_cancel:
case OMPD_flush:
- case OMPD_target_enter_data:
- case OMPD_target_exit_data:
case OMPD_declare_reduction:
case OMPD_declare_simd:
case OMPD_declare_target:
case OMPD_end_declare_target:
- case OMPD_target_update:
llvm_unreachable("OpenMP Directive is not allowed");
case OMPD_unknown:
llvm_unreachable("Unknown OpenMP directive");