Fix some bugs in OMPT support
authorJonathan Peyton <jonathan.l.peyton@intel.com>
Mon, 13 Jul 2015 18:55:45 +0000 (18:55 +0000)
committerJonathan Peyton <jonathan.l.peyton@intel.com>
Mon, 13 Jul 2015 18:55:45 +0000 (18:55 +0000)
commit122dd76f1fe432740c2cf8286c114dd30aa3efe5
treeba15c917c8252a5f847aa1909053d54009793983
parent0ccb1f2ee43e03bb4aadf2ea1fb9869f25a368d2
Fix some bugs in OMPT support

1.) in kmp_csupport.c, move computation of parameters only needed for OMPT tracing
inside a conditional to reduce overhead if not receiving ompt_event_master_begin
callbacks.
2.) in kmp_gsupport.c, remove spurious reset of OMPT reenter_runtime_frame (which
is set in its caller, GOMP_parallel_start correct placement of #if OMP_TRACE so
that state is maintained even if tracing support not included.
3.) in z_Linux_util.c, add architecture independent support for OMPT by setting
and resetting OMPT's exit_frame_ptr before and after invoking a microtask.
4.) On the Intel MIC, the loader refuses to retain static symbols in the
libomp.so shared library, even though tools need them. The loader could not be
bullied into doing so. To accommodate this, I changed the visibility of OMPT
placeholder functions to public. This required additions in exports.so.txt,
adding extern "C" scoping in ompt-general.c so that the public placeholder
symbols won't be mangled.

Patch by John Mellor-Crummey

Differential Revision: http://reviews.llvm.org/D11062

llvm-svn: 242052
openmp/runtime/src/exports_so.txt
openmp/runtime/src/include/30/ompt.h.var
openmp/runtime/src/include/40/ompt.h.var
openmp/runtime/src/include/41/ompt.h.var
openmp/runtime/src/kmp_csupport.c
openmp/runtime/src/kmp_gsupport.c
openmp/runtime/src/ompt-general.c
openmp/runtime/src/z_Linux_util.c