diff options
| author | Jonathan Peyton <jonathan.l.peyton@intel.com> | 2019-04-30 19:20:35 +0000 |
|---|---|---|
| committer | Jonathan Peyton <jonathan.l.peyton@intel.com> | 2019-04-30 19:20:35 +0000 |
| commit | 71abe28e8152239e4e2be443497845eeb523139a (patch) | |
| tree | cead0f14f70561af4ba6f16db04b591bb44a32b4 /openmp/runtime/src/include/50 | |
| parent | 3a7532e645b959f69214578d14dc633baf564df0 (diff) | |
| download | bcm5719-llvm-71abe28e8152239e4e2be443497845eeb523139a.tar.gz bcm5719-llvm-71abe28e8152239e4e2be443497845eeb523139a.zip | |
[OpenMP] Add OpenMP 5.0 nonmonotonic code
This patch adds:
* New omp_sched_monotonic flag to omp_sched_t which is handled within the runtime
* Parsing of monotonic/nonmonotonic in OMP_SCHEDULE
* Tests for the monotonic flag and envirable parsing
* Logic to force monotonic when hierarchical scheduling is used
Differential Revision: https://reviews.llvm.org/D60979
llvm-svn: 359601
Diffstat (limited to 'openmp/runtime/src/include/50')
| -rw-r--r-- | openmp/runtime/src/include/50/omp.h.var | 9 | ||||
| -rw-r--r-- | openmp/runtime/src/include/50/omp_lib.f.var | 1 | ||||
| -rw-r--r-- | openmp/runtime/src/include/50/omp_lib.f90.var | 2 | ||||
| -rw-r--r-- | openmp/runtime/src/include/50/omp_lib.h.var | 2 |
4 files changed, 9 insertions, 5 deletions
diff --git a/openmp/runtime/src/include/50/omp.h.var b/openmp/runtime/src/include/50/omp.h.var index 5f689089a16..05dc26672b2 100644 --- a/openmp/runtime/src/include/50/omp.h.var +++ b/openmp/runtime/src/include/50/omp.h.var @@ -43,10 +43,11 @@ /* schedule kind constants */ typedef enum omp_sched_t { - omp_sched_static = 1, - omp_sched_dynamic = 2, - omp_sched_guided = 3, - omp_sched_auto = 4 + omp_sched_static = 1, + omp_sched_dynamic = 2, + omp_sched_guided = 3, + omp_sched_auto = 4, + omp_sched_monotonic = 0x80000000 } omp_sched_t; /* set API functions */ diff --git a/openmp/runtime/src/include/50/omp_lib.f.var b/openmp/runtime/src/include/50/omp_lib.f.var index 8b7cffe194b..17d0a2a81e9 100644 --- a/openmp/runtime/src/include/50/omp_lib.f.var +++ b/openmp/runtime/src/include/50/omp_lib.f.var @@ -61,6 +61,7 @@ integer(kind=omp_sched_kind), parameter :: omp_sched_dynamic = 2 integer(kind=omp_sched_kind), parameter :: omp_sched_guided = 3 integer(kind=omp_sched_kind), parameter :: omp_sched_auto = 4 + integer(kind=omp_sched_kind), parameter :: omp_sched_monotonic = Z'80000000' integer (kind=omp_proc_bind_kind), parameter :: omp_proc_bind_false = 0 integer (kind=omp_proc_bind_kind), parameter :: omp_proc_bind_true = 1 diff --git a/openmp/runtime/src/include/50/omp_lib.f90.var b/openmp/runtime/src/include/50/omp_lib.f90.var index af12927c899..cef6f332c27 100644 --- a/openmp/runtime/src/include/50/omp_lib.f90.var +++ b/openmp/runtime/src/include/50/omp_lib.f90.var @@ -59,7 +59,7 @@ integer(kind=omp_sched_kind), parameter :: omp_sched_dynamic = 2 integer(kind=omp_sched_kind), parameter :: omp_sched_guided = 3 integer(kind=omp_sched_kind), parameter :: omp_sched_auto = 4 - + integer(kind=omp_sched_kind), parameter :: omp_sched_monotonic = Z'80000000' integer (kind=omp_proc_bind_kind), parameter :: omp_proc_bind_false = 0 integer (kind=omp_proc_bind_kind), parameter :: omp_proc_bind_true = 1 diff --git a/openmp/runtime/src/include/50/omp_lib.h.var b/openmp/runtime/src/include/50/omp_lib.h.var index 94612b0cfc7..cf861834421 100644 --- a/openmp/runtime/src/include/50/omp_lib.h.var +++ b/openmp/runtime/src/include/50/omp_lib.h.var @@ -68,6 +68,8 @@ parameter(omp_sched_guided=3) integer(kind=omp_sched_kind)omp_sched_auto parameter(omp_sched_auto=4) + integer(kind=omp_sched_kind)omp_sched_monotonic + parameter(omp_sched_monotonic=Z'80000000') integer(kind=omp_proc_bind_kind)omp_proc_bind_false parameter(omp_proc_bind_false=0) |

