Introduce GOMP_taskloop API
authorJonathan Peyton <jonathan.l.peyton@intel.com>
Wed, 18 Apr 2018 19:23:54 +0000 (19:23 +0000)
committerJonathan Peyton <jonathan.l.peyton@intel.com>
Wed, 18 Apr 2018 19:23:54 +0000 (19:23 +0000)
commit27a677fc95c77d9cc31762bb1dd11da3173de8a1
treef291ceb4d78c814c17a7de4d4af3545d26b4448c
parent099c720426b2e54fc17c8fddc270ea9a8ca2e356
Introduce GOMP_taskloop API

This patch introduces GOMP_taskloop to our API. It adds GOMP_4.5 to our
version symbols. Being a wrapper around __kmpc_taskloop, the function
creates a task with the loop bounds properly nested in the shareds so that
the GOMP task thunk will work properly. Also, the firstprivate copy constructors
are properly handled using the __kmp_gomp_task_dup() auxiliary function.

Currently, only linear spawning of tasks is supported
for the GOMP_taskloop interface.

Differential Revision: https://reviews.llvm.org/D45327

llvm-svn: 330282
openmp/runtime/src/exports_so.txt
openmp/runtime/src/kmp.h
openmp/runtime/src/kmp_ftn_os.h
openmp/runtime/src/kmp_gsupport.cpp
openmp/runtime/src/kmp_os.h
openmp/runtime/src/kmp_sched.cpp
openmp/runtime/src/kmp_tasking.cpp
openmp/runtime/test/tasking/omp_taskloop_grainsize.c
openmp/runtime/test/tasking/omp_taskloop_num_tasks.c