diff options
author | Alexey Bataev <a.bataev@hotmail.com> | 2017-11-28 21:11:44 +0000 |
---|---|---|
committer | Alexey Bataev <a.bataev@hotmail.com> | 2017-11-28 21:11:44 +0000 |
commit | 2ba67045e337702b09ae3f97d6bd0c5f77a049a6 (patch) | |
tree | dc86bf197d848309f3d6ca21df5a5233e7966760 /clang/lib/Basic | |
parent | 4e0b04300933c40c1d16ac97d9dacd705d2867be (diff) | |
download | bcm5719-llvm-2ba67045e337702b09ae3f97d6bd0c5f77a049a6.tar.gz bcm5719-llvm-2ba67045e337702b09ae3f97d6bd0c5f77a049a6.zip |
[OPENMP] Generalize capturing of clauses expressions.
The handling and capturing of the non-constant expressions of some of
the capturable clauses in combined directives is generalized.
llvm-svn: 319227
Diffstat (limited to 'clang/lib/Basic')
-rw-r--r-- | clang/lib/Basic/OpenMPKinds.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/clang/lib/Basic/OpenMPKinds.cpp b/clang/lib/Basic/OpenMPKinds.cpp index 41978625ff0..65ac797ab4b 100644 --- a/clang/lib/Basic/OpenMPKinds.cpp +++ b/clang/lib/Basic/OpenMPKinds.cpp @@ -892,9 +892,12 @@ void clang::getOpenMPCaptureRegions( CaptureRegions.push_back(OMPD_target); CaptureRegions.push_back(OMPD_teams); break; + case OMPD_teams: case OMPD_teams_distribute: + case OMPD_teams_distribute_simd: CaptureRegions.push_back(OMPD_teams); break; + case OMPD_target: case OMPD_target_simd: CaptureRegions.push_back(OMPD_target); break; @@ -908,12 +911,16 @@ void clang::getOpenMPCaptureRegions( CaptureRegions.push_back(OMPD_target); CaptureRegions.push_back(OMPD_parallel); break; + case OMPD_task: case OMPD_target_enter_data: case OMPD_target_exit_data: case OMPD_target_update: CaptureRegions.push_back(OMPD_task); break; - case OMPD_teams: + case OMPD_taskloop: + case OMPD_taskloop_simd: + CaptureRegions.push_back(OMPD_taskloop); + break; case OMPD_simd: case OMPD_for: case OMPD_for_simd: @@ -927,18 +934,13 @@ void clang::getOpenMPCaptureRegions( case OMPD_ordered: case OMPD_atomic: case OMPD_target_data: - case OMPD_target: - case OMPD_task: - case OMPD_taskloop: - case OMPD_taskloop_simd: case OMPD_distribute_simd: - case OMPD_teams_distribute_simd: case OMPD_teams_distribute_parallel_for_simd: case OMPD_target_teams_distribute: case OMPD_target_teams_distribute_parallel_for: case OMPD_target_teams_distribute_parallel_for_simd: case OMPD_target_teams_distribute_simd: - CaptureRegions.push_back(DKind); + CaptureRegions.push_back(OMPD_unknown); break; case OMPD_threadprivate: case OMPD_taskyield: |