[Openmp-commits] [openmp] r284499 - Fix OpenMP 4.0 library build
Jonathan Peyton via Openmp-commits
openmp-commits at lists.llvm.org
Tue Oct 18 10:39:07 PDT 2016
Author: jlpeyton
Date: Tue Oct 18 12:39:06 2016
New Revision: 284499
URL: http://llvm.org/viewvc/llvm-project?rev=284499&view=rev
Log:
Fix OpenMP 4.0 library build
Patch by Andrey Churbanov
Differential Revision: https://reviews.llvm.org/D25505
Modified:
openmp/trunk/runtime/src/kmp.h
openmp/trunk/runtime/src/kmp_tasking.c
Modified: openmp/trunk/runtime/src/kmp.h
URL: http://llvm.org/viewvc/llvm-project/openmp/trunk/runtime/src/kmp.h?rev=284499&r1=284498&r2=284499&view=diff
==============================================================================
--- openmp/trunk/runtime/src/kmp.h (original)
+++ openmp/trunk/runtime/src/kmp.h Tue Oct 18 12:39:06 2016
@@ -1746,8 +1746,13 @@ typedef struct kmp_disp {
kmp_lock_t *th_steal_lock; // lock used for chunk stealing (8-byte variable)
};
#else
+#if KMP_STATIC_STEAL_ENABLED
+ kmp_lock_t *th_steal_lock; // lock used for chunk stealing (8-byte variable)
+ void* dummy_padding[1]; // make it 64 bytes on Intel(R) 64
+#else
void* dummy_padding[2]; // make it 64 bytes on Intel(R) 64
#endif
+#endif
#if KMP_USE_INTERNODE_ALIGNMENT
char more_padding[INTERNODE_CACHE_LINE];
#endif
Modified: openmp/trunk/runtime/src/kmp_tasking.c
URL: http://llvm.org/viewvc/llvm-project/openmp/trunk/runtime/src/kmp_tasking.c?rev=284499&r1=284498&r2=284499&view=diff
==============================================================================
--- openmp/trunk/runtime/src/kmp_tasking.c (original)
+++ openmp/trunk/runtime/src/kmp_tasking.c Tue Oct 18 12:39:06 2016
@@ -576,9 +576,13 @@ __kmp_free_task( kmp_int32 gtid, kmp_tas
static void
__kmp_free_task_and_ancestors( kmp_int32 gtid, kmp_taskdata_t * taskdata, kmp_info_t * thread )
{
+#if OMP_45_ENABLED
// Proxy tasks must always be allowed to free their parents
// because they can be run in background even in serial mode.
kmp_int32 task_serial = taskdata->td_flags.task_serial && !taskdata->td_flags.proxy;
+#else
+ kmp_int32 task_serial = taskdata->td_flags.task_serial;
+#endif
KMP_DEBUG_ASSERT( taskdata -> td_flags.tasktype == TASK_EXPLICIT );
kmp_int32 children = KMP_TEST_THEN_DEC32( (kmp_int32 *)(& taskdata -> td_allocated_child_tasks) ) - 1;
More information about the Openmp-commits
mailing list