[Openmp-commits] [PATCH] D57469: Set exit_frame in master task before calling a user's outlined function for a parallel loop construct

Joachim Protze via Phabricator via Openmp-commits openmp-commits at lists.llvm.org
Thu Feb 7 04:03:28 PST 2019


protze.joachim requested changes to this revision.
protze.joachim added a comment.
This revision now requires changes to proceed.

Please provide test cases, so that we can understand the impact of this change.



================
Comment at: runtime/src/kmp_gsupport.cpp:1094
+  if (ompt_enabled.enabled) {                                                  \
+     ompt_frame_t *inner_frame;                                                \
+    __ompt_get_task_info_internal(0, NULL, NULL, &inner_frame, NULL, NULL);    \
----------------
`inner_frame` resolves to the same address as `parent_frame` in line 1087, so you could just use this variable.

The task executing the loop body is still the same task as the task executing the parallel region.


================
Comment at: runtime/src/kmp_gsupport.cpp:1096
+    __ompt_get_task_info_internal(0, NULL, NULL, &inner_frame, NULL, NULL);    \
+    inner_frame->exit_frame.ptr = OMPT_GET_FRAME_ADDRESS(0);                   \
+  }
----------------
This will overwrite the value written, when the parallel region begins.


Repository:
  rOMP OpenMP

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D57469/new/

https://reviews.llvm.org/D57469





More information about the Openmp-commits mailing list