summaryrefslogtreecommitdiffstats
path: root/openmp/runtime/src
diff options
context:
space:
mode:
authorJonathan Peyton <jonathan.l.peyton@intel.com>2015-11-06 20:32:44 +0000
committerJonathan Peyton <jonathan.l.peyton@intel.com>2015-11-06 20:32:44 +0000
commit70bda912fb2087a0bfd2cee92e7c8c13e6948833 (patch)
tree5bcc3d6471d1872248f6fcdbba4d2768075125a9 /openmp/runtime/src
parentb0e3192a485f0db4c543aed262b125bb029ca62d (diff)
downloadbcm5719-llvm-70bda912fb2087a0bfd2cee92e7c8c13e6948833.tar.gz
bcm5719-llvm-70bda912fb2087a0bfd2cee92e7c8c13e6948833.zip
Fix for zero chunk size
Setting dynamic schedule with chunk size 0 via omp_set_schedule(dynamic,0) and then using "schedule (runtime)" causes infinite loop because for the chunked dynamic schedule we didn't correct zero chunk to the default (1). llvm-svn: 252338
Diffstat (limited to 'openmp/runtime/src')
-rw-r--r--openmp/runtime/src/kmp_dispatch.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/openmp/runtime/src/kmp_dispatch.cpp b/openmp/runtime/src/kmp_dispatch.cpp
index a1d0fc44f2b..b0d472c40ec 100644
--- a/openmp/runtime/src/kmp_dispatch.cpp
+++ b/openmp/runtime/src/kmp_dispatch.cpp
@@ -1060,6 +1060,9 @@ __kmp_dispatch_init(
break;
case kmp_sch_static_chunked :
case kmp_sch_dynamic_chunked :
+ if ( pr->u.p.parm1 <= 0 ) {
+ pr->u.p.parm1 = KMP_DEFAULT_CHUNK;
+ }
KD_TRACE(100,("__kmp_dispatch_init: T#%d kmp_sch_static_chunked/kmp_sch_dynamic_chunked cases\n", gtid));
break;
case kmp_sch_trapezoidal :
OpenPOWER on IntegriCloud