diff options
author | Jonathan Peyton <jonathan.l.peyton@intel.com> | 2015-11-05 16:54:55 +0000 |
---|---|---|
committer | Jonathan Peyton <jonathan.l.peyton@intel.com> | 2015-11-05 16:54:55 +0000 |
commit | 95246e7def0cf92b061338ca682c1f5e60f61a15 (patch) | |
tree | 39d0c641b81bf063b6b01d6cf3ecf1e330e5db6a /openmp/runtime/src | |
parent | 27149cf32dfbffb3738e96bdfda858712c758125 (diff) | |
download | bcm5719-llvm-95246e7def0cf92b061338ca682c1f5e60f61a15.tar.gz bcm5719-llvm-95246e7def0cf92b061338ca682c1f5e60f61a15.zip |
Improve OMPT initialization code
Use of #ifdef OMPT_DEBUG was causing messages to be generated under normal
operation when the OpenMP library was compiled with KMP_DEBUG enabled.
Elsewhere, KMP_DEBUG evaluates assertions, but never produces messages during
normal operation. To avoid this inconsistency, set OMPT_DEBUG using a cmake
variable LIBOMP_OMPT_DEBUG.
While I was editing the associated ompt-specific.h and ompt-general.c files,
make the spacing and comments consistent.
Patch by John Mellor-Crummey
Differential Revision: http://reviews.llvm.org/D14355
llvm-svn: 252173
Diffstat (limited to 'openmp/runtime/src')
-rw-r--r-- | openmp/runtime/src/kmp_config.h.cmake | 2 | ||||
-rw-r--r-- | openmp/runtime/src/ompt-general.c | 18 | ||||
-rw-r--r-- | openmp/runtime/src/ompt-specific.h | 14 |
3 files changed, 24 insertions, 10 deletions
diff --git a/openmp/runtime/src/kmp_config.h.cmake b/openmp/runtime/src/kmp_config.h.cmake index aa0a1aa9a50..f1d2b9b711a 100644 --- a/openmp/runtime/src/kmp_config.h.cmake +++ b/openmp/runtime/src/kmp_config.h.cmake @@ -35,6 +35,8 @@ #define KMP_STATS_ENABLED LIBOMP_STATS #cmakedefine01 LIBOMP_USE_DEBUGGER #define USE_DEBUGGER LIBOMP_USE_DEBUGGER +#cmakedefine01 LIBOMP_OMPT_DEBUG +#define OMPT_DEBUG LIBOMP_OMPT_DEBUG #cmakedefine01 LIBOMP_OMPT_SUPPORT #define OMPT_SUPPORT LIBOMP_OMPT_SUPPORT #cmakedefine01 LIBOMP_OMPT_BLAME diff --git a/openmp/runtime/src/ompt-general.c b/openmp/runtime/src/ompt-general.c index 9b6ab076ca2..4ff11dbd948 100644 --- a/openmp/runtime/src/ompt-general.c +++ b/openmp/runtime/src/ompt-general.c @@ -134,31 +134,31 @@ ompt_initialize_t ompt_tool_windows() #if OMPT_DEBUG printf("ompt_tool_windows(): looking for ompt_tool\n"); #endif - if( !EnumProcessModules( process, modules, NUM_MODULES * sizeof(HMODULE), - &needed ) ) { + if (!EnumProcessModules( process, modules, NUM_MODULES * sizeof(HMODULE), + &needed)) { // Regardless of the error reason use the stub initialization function free(modules); return NULL; } // Check if NUM_MODULES is enough to list all modules new_size = needed / sizeof(HMODULE); - if( new_size > NUM_MODULES ) { + if (new_size > NUM_MODULES) { #if OMPT_DEBUG printf("ompt_tool_windows(): resize buffer to %d bytes\n", needed); #endif modules = (HMODULE*)realloc( modules, needed ); // If resizing failed use the stub function. - if( !EnumProcessModules( process, modules, needed, &needed ) ) { + if (!EnumProcessModules(process, modules, needed, &needed)) { free(modules); return NULL; } } - for( i = 0; i < new_size; ++i ) { + for (i = 0; i < new_size; ++i) { (FARPROC &)ompt_tool_p = GetProcAddress(modules[i], "ompt_tool"); - if( ompt_tool_p ) { + if (ompt_tool_p) { #if OMPT_DEBUG TCHAR modName[MAX_PATH]; - if( GetModuleFileName(modules[i], modName, MAX_PATH)) + if (GetModuleFileName(modules[i], modName, MAX_PATH)) printf("ompt_tool_windows(): ompt_tool found in module %s\n", modName); #endif @@ -168,7 +168,7 @@ ompt_initialize_t ompt_tool_windows() #if OMPT_DEBUG else { TCHAR modName[MAX_PATH]; - if( GetModuleFileName(modules[i], modName, MAX_PATH) ) + if (GetModuleFileName(modules[i], modName, MAX_PATH)) printf("ompt_tool_windows(): ompt_tool not found in module %s\n", modName); } @@ -228,7 +228,7 @@ void ompt_pre_init() break; } #if OMPT_DEBUG - printf("ompt_pre_init():ompt_enabled = %d\n", ompt_enabled); + printf("ompt_pre_init(): ompt_enabled = %d\n", ompt_enabled); #endif } diff --git a/openmp/runtime/src/ompt-specific.h b/openmp/runtime/src/ompt-specific.h index bcbfdd3cf2d..e8f84a9a585 100644 --- a/openmp/runtime/src/ompt-specific.h +++ b/openmp/runtime/src/ompt-specific.h @@ -3,8 +3,18 @@ #include "kmp.h" +/***************************************************************************** + * types + ****************************************************************************/ + typedef kmp_info_t ompt_thread_t; + + +/***************************************************************************** + * forward declarations + ****************************************************************************/ + void __ompt_team_assign_id(kmp_team_t *team, ompt_parallel_id_t ompt_pid); void __ompt_thread_assign_wait_id(void *variable); @@ -34,15 +44,17 @@ ompt_task_id_t __ompt_get_task_id_internal(int depth); ompt_frame_t *__ompt_get_task_frame_internal(int depth); + /***************************************************************************** * macros ****************************************************************************/ -#define OMPT_DEBUG KMP_DEBUG + #define OMPT_HAVE_WEAK_ATTRIBUTE KMP_HAVE_WEAK_ATTRIBUTE #define OMPT_HAVE_PSAPI KMP_HAVE_PSAPI #define OMPT_STR_MATCH(haystack, needle) __kmp_str_match(haystack, 0, needle) + //****************************************************************************** // inline functions //****************************************************************************** |