summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic
diff options
context:
space:
mode:
authorAlexey Bataev <a.bataev@hotmail.com>2017-11-28 21:11:44 +0000
committerAlexey Bataev <a.bataev@hotmail.com>2017-11-28 21:11:44 +0000
commit2ba67045e337702b09ae3f97d6bd0c5f77a049a6 (patch)
treedc86bf197d848309f3d6ca21df5a5233e7966760 /clang/lib/Basic
parent4e0b04300933c40c1d16ac97d9dacd705d2867be (diff)
downloadbcm5719-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.cpp16
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:
OpenPOWER on IntegriCloud