Add new OpenMP 4.5 taskloop construct feature
authorJonathan Peyton <jonathan.l.peyton@intel.com>
Wed, 2 Mar 2016 22:47:51 +0000 (22:47 +0000)
committerJonathan Peyton <jonathan.l.peyton@intel.com>
Wed, 2 Mar 2016 22:47:51 +0000 (22:47 +0000)
commit283a215c7a8e185ebdd247ff13d3b79db31070f1
tree72348da3d09a3837311164613be76bff5e755705
parentabd1f574535fd57d2099daff486afb0ded29138a
Add new OpenMP 4.5 taskloop construct feature

From the standard: The taskloop construct specifies that the iterations of one
or more associated loops will be executed in parallel using OpenMP tasks. The
iterations are distributed across tasks created by the construct and scheduled
to be executed.

This initial implementation uses a simple linear tasks distribution algorithm.
Later we can add other algorithms to speedup generation of huge number of tasks
(i.e., tree-like tasks generation should be faster).

This needs to be put into the OpenMP runtime library in order for the
compiler team to develop the compiler side of the implementation.

Differential Revision: http://reviews.llvm.org/D17404

llvm-svn: 262535
openmp/runtime/src/dllexports
openmp/runtime/src/kmp.h
openmp/runtime/src/kmp_tasking.c
openmp/runtime/test/tasking/kmp_taskloop.c [new file with mode: 0644]