summaryrefslogtreecommitdiffstats
path: root/openmp/runtime/src/include/50/omp_lib.h.var
diff options
context:
space:
mode:
authorJoachim Protze <protze@itc.rwth-aachen.de>2017-11-01 10:08:30 +0000
committerJoachim Protze <protze@itc.rwth-aachen.de>2017-11-01 10:08:30 +0000
commit82e94a593433f36734e2d34898d353a2ecb65b8b (patch)
treed7ac69e35db74384a401862feb3eb31e78ca94ca /openmp/runtime/src/include/50/omp_lib.h.var
parentb93c06331ea77953e80bbd5ffb30167eade466f0 (diff)
downloadbcm5719-llvm-82e94a593433f36734e2d34898d353a2ecb65b8b.tar.gz
bcm5719-llvm-82e94a593433f36734e2d34898d353a2ecb65b8b.zip
Update implementation of OMPT to the specification OpenMP 5.0 Preview 1 (TR4).
The code is tested to work with latest clang, GNU and Intel compiler. The implementation is optimized for low overhead when no tool is attached shifting the cost to execution with tool attached. This patch does not implement OMPT for libomptarget. Patch by Simon Convent and Joachim Protze Differential Revision: https://reviews.llvm.org/D38185 llvm-svn: 317085
Diffstat (limited to 'openmp/runtime/src/include/50/omp_lib.h.var')
-rw-r--r--openmp/runtime/src/include/50/omp_lib.h.var19
1 files changed, 19 insertions, 0 deletions
diff --git a/openmp/runtime/src/include/50/omp_lib.h.var b/openmp/runtime/src/include/50/omp_lib.h.var
index 563325164eb..377c46fbdba 100644
--- a/openmp/runtime/src/include/50/omp_lib.h.var
+++ b/openmp/runtime/src/include/50/omp_lib.h.var
@@ -29,6 +29,8 @@
integer, parameter :: kmp_size_t_kind = int_ptr_kind()
integer, parameter :: kmp_affinity_mask_kind = int_ptr_kind()
integer, parameter :: omp_lock_hint_kind = omp_integer_kind
+ integer, parameter :: omp_control_tool_kind = omp_integer_kind
+ integer, parameter :: omp_control_tool_result_kind = omp_integer_kind
integer (kind=omp_integer_kind), parameter :: openmp_version = @LIBOMP_OMP_YEAR_MONTH@
integer (kind=omp_integer_kind), parameter :: kmp_version_major = @LIBOMP_VERSION_MAJOR@
@@ -57,6 +59,16 @@
integer (kind=omp_lock_hint_kind), parameter :: kmp_lock_hint_rtm = 131072
integer (kind=omp_lock_hint_kind), parameter :: kmp_lock_hint_adaptive = 262144
+ integer (kind=omp_control_tool_kind), parameter :: omp_control_tool_start = 1
+ integer (kind=omp_control_tool_kind), parameter :: omp_control_tool_pause = 2
+ integer (kind=omp_control_tool_kind), parameter :: omp_control_tool_flush = 3
+ integer (kind=omp_control_tool_kind), parameter :: omp_control_tool_end = 4
+
+ integer (kind=omp_control_tool_result_kind), parameter :: omp_control_tool_notool = -2
+ integer (kind=omp_control_tool_result_kind), parameter :: omp_control_tool_nocallback = -1
+ integer (kind=omp_control_tool_result_kind), parameter :: omp_control_tool_success = 0
+ integer (kind=omp_control_tool_result_kind), parameter :: omp_control_tool_ignored = 1
+
interface
! ***
@@ -494,6 +506,13 @@
integer (kind=omp_lock_hint_kind), value :: hint
end subroutine omp_init_nest_lock_with_hint
+ function omp_control_tool(command, modifier) bind(c)
+ import
+ integer (kind=omp_integer_kind) omp_control_tool
+ integer (kind=omp_control_tool_kind), value :: command
+ integer (kind=omp_control_tool_kind), value :: modifier
+ end function omp_control_tool
+
end interface
!DIR$ IF DEFINED (__INTEL_OFFLOAD)
OpenPOWER on IntegriCloud