Index: runtime/src/kmp_wait_release.h =================================================================== --- runtime/src/kmp_wait_release.h +++ runtime/src/kmp_wait_release.h @@ -119,10 +119,10 @@ }; #if OMPT_SUPPORT -static inline void __ompt_implicit_task_end(kmp_info_t *this_thr, - omp_state_t omp_state, - ompt_data_t *tId, - ompt_data_t *pId) { +OMPT_NOINLINE +static void __ompt_implicit_task_end(kmp_info_t *this_thr, + omp_state_t omp_state, ompt_data_t *tId, + ompt_data_t *pId) { int ds_tid = this_thr->th.th_info.ds.ds_tid; if (omp_state == omp_state_wait_barrier_implicit) { this_thr->th.ompt_thread_info.state = omp_state_overhead; @@ -251,18 +251,15 @@ ompt_lw_taskteam_t *team = this_thr->th.th_team->t.ompt_serialized_team_info; if (team) { - pId = &(team->ompt_team_info.parallel_data); tId = &(team->ompt_task_info.task_data); } else { - pId = OMPT_CUR_TEAM_DATA(this_thr); tId = OMPT_CUR_TASK_DATA(this_thr); } } else { - pId = NULL; tId = &(this_thr->th.ompt_thread_info.task_data); } - if (final_spin && (__kmp_tasking_mode == tskm_immediate_exec || - this_thr->th.th_task_team == NULL)) { + if (final_spin && (__kmp_tasking_mode == tskm_immediate_exec || + this_thr->th.th_task_team == NULL)) { // implicit task is done. Either no taskqueue, or task-team finished __ompt_implicit_task_end(this_thr, ompt_entry_state, tId, pId); }