[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.

  rOMP OpenMP



More information about the Openmp-commits mailing list