mirror of
https://github.com/intel/llvm.git
synced 2026-01-26 12:26:52 +08:00
Fix build error: OMPT_SUPPORT=true was not tested after hinted lock changes
Recent changes to support dynamic locks didn't consider the code compiled when OMPT_SUPPORT=true. As a result, the OMPT support was broken by recent changes to nested locks to support dynamic locks. For OMPT to work with dynamic locks, they need to provide a return code indicating whether a nested lock acquisition was the first or not. This patch moves the OMPT support for nested locks into the #else case when DYNAMIC locks were not used. New support is needed for dynamic locks. This patch fixes the build and leaves a placeholder where the missing OMPT callbacks can be added either the author of the OMPT support for locks, or the dynamic locking support. Patch by John Mellor-Crummey Differential Revision: http://reviews.llvm.org/D15656 llvm-svn: 256314
This commit is contained in:
@@ -2202,6 +2202,12 @@ __kmpc_set_nest_lock( ident_t * loc, kmp_int32 gtid, void ** user_lock ) {
|
||||
__kmp_itt_lock_acquired((kmp_user_lock_p)user_lock);
|
||||
#endif
|
||||
|
||||
#if OMPT_SUPPORT && OMPT_TRACE
|
||||
if (ompt_enabled) {
|
||||
// missing support here: need to know whether acquired first or not
|
||||
}
|
||||
#endif
|
||||
|
||||
#else // KMP_USE_DYNAMIC_LOCK
|
||||
int acquire_status;
|
||||
kmp_user_lock_p lck;
|
||||
@@ -2230,7 +2236,6 @@ __kmpc_set_nest_lock( ident_t * loc, kmp_int32 gtid, void ** user_lock ) {
|
||||
#if USE_ITT_BUILD
|
||||
__kmp_itt_lock_acquired( lck );
|
||||
#endif /* USE_ITT_BUILD */
|
||||
#endif // KMP_USE_DYNAMIC_LOCK
|
||||
|
||||
#if OMPT_SUPPORT && OMPT_TRACE
|
||||
if (ompt_enabled) {
|
||||
@@ -2243,6 +2248,8 @@ __kmpc_set_nest_lock( ident_t * loc, kmp_int32 gtid, void ** user_lock ) {
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // KMP_USE_DYNAMIC_LOCK
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
Reference in New Issue
Block a user