diff options
author | Alexey Bataev <a.bataev@hotmail.com> | 2017-11-21 17:08:48 +0000 |
---|---|---|
committer | Alexey Bataev <a.bataev@hotmail.com> | 2017-11-21 17:08:48 +0000 |
commit | f301ed91f8ffc6899d8e6dc0753e77b84a7092e6 (patch) | |
tree | 0bac805b049b511cf9e36f93e1e510bda3095e3a /lib/Basic/OpenMPKinds.cpp | |
parent | 58834f07300dc9eadc56bd012ab76bb9a1079477 (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.cpp | 8 |
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"); |