diff options
author | Jonathan Peyton <jonathan.l.peyton@intel.com> | 2015-11-06 20:32:44 +0000 |
---|---|---|
committer | Jonathan Peyton <jonathan.l.peyton@intel.com> | 2015-11-06 20:32:44 +0000 |
commit | 70bda912fb2087a0bfd2cee92e7c8c13e6948833 (patch) | |
tree | 5bcc3d6471d1872248f6fcdbba4d2768075125a9 /openmp/runtime/src | |
parent | b0e3192a485f0db4c543aed262b125bb029ca62d (diff) | |
download | bcm5719-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.cpp | 3 |
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 : |