summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoachim Protze <protze@itc.rwth-aachen.de>2018-01-10 12:51:27 +0000
committerJoachim Protze <protze@itc.rwth-aachen.de>2018-01-10 12:51:27 +0000
commit14b512e20c6c67aeff02f737ce73357aca87338a (patch)
treecd3cf796391391613a2091c4735a2fb017eac7a2
parent3ff377a9275adf1ffae29ac09afcd3e86b9e0c94 (diff)
downloadbcm5719-llvm-14b512e20c6c67aeff02f737ce73357aca87338a.tar.gz
bcm5719-llvm-14b512e20c6c67aeff02f737ce73357aca87338a.zip
[OMPT] Fix ompt_task_data handling in implicit barriers
Changes to task_data in barrier-begin were not visible at barrier-end Differential Revision: https://reviews.llvm.org/D41176 llvm-svn: 322178
-rw-r--r--openmp/runtime/src/kmp_barrier.cpp2
-rw-r--r--openmp/runtime/src/kmp_runtime.cpp1
2 files changed, 2 insertions, 1 deletions
diff --git a/openmp/runtime/src/kmp_barrier.cpp b/openmp/runtime/src/kmp_barrier.cpp
index db372b59d01..cc125dc2a66 100644
--- a/openmp/runtime/src/kmp_barrier.cpp
+++ b/openmp/runtime/src/kmp_barrier.cpp
@@ -1623,6 +1623,8 @@ void __kmp_join_barrier(int gtid) {
ompt_sync_region_barrier, ompt_scope_begin, my_parallel_data,
my_task_data, codeptr);
}
+ if (!KMP_MASTER_TID(ds_tid))
+ this_thr->th.ompt_thread_info.task_data = *OMPT_CUR_TASK_DATA(this_thr);
#endif
this_thr->th.ompt_thread_info.state = omp_state_wait_barrier_implicit;
}
diff --git a/openmp/runtime/src/kmp_runtime.cpp b/openmp/runtime/src/kmp_runtime.cpp
index 10f085447e3..8035e077b39 100644
--- a/openmp/runtime/src/kmp_runtime.cpp
+++ b/openmp/runtime/src/kmp_runtime.cpp
@@ -5669,7 +5669,6 @@ void *__kmp_launch_thread(kmp_info_t *this_thr) {
__ompt_get_task_info_object(0)->frame.exit_frame = NULL;
this_thr->th.ompt_thread_info.state = omp_state_overhead;
- this_thr->th.ompt_thread_info.task_data = *OMPT_CUR_TASK_DATA(this_thr);
}
#endif
/* join barrier after parallel region */
OpenPOWER on IntegriCloud