svn commit: r351668 - projects/clang900-import/lib/libomp
Dimitry Andric
dim at FreeBSD.org
Sun Sep 1 18:25:47 UTC 2019
Author: dim
Date: Sun Sep 1 18:25:45 2019
New Revision: 351668
URL: https://svnweb.freebsd.org/changeset/base/351668
Log:
Update build glue for building libomp.
Modified:
projects/clang900-import/lib/libomp/Makefile
projects/clang900-import/lib/libomp/kmp_config.h
projects/clang900-import/lib/libomp/kmp_i18n_default.inc
projects/clang900-import/lib/libomp/kmp_i18n_id.inc
projects/clang900-import/lib/libomp/omp-tools.h
projects/clang900-import/lib/libomp/omp.h
Modified: projects/clang900-import/lib/libomp/Makefile
==============================================================================
--- projects/clang900-import/lib/libomp/Makefile Sun Sep 1 18:21:06 2019 (r351667)
+++ projects/clang900-import/lib/libomp/Makefile Sun Sep 1 18:25:45 2019 (r351668)
@@ -32,7 +32,6 @@ SRCS+= kmp_settings.cpp
SRCS+= kmp_str.cpp
SRCS+= kmp_taskdeps.cpp
SRCS+= kmp_tasking.cpp
-SRCS+= kmp_taskq.cpp
SRCS+= kmp_threadprivate.cpp
SRCS+= kmp_utility.cpp
SRCS+= kmp_version.cpp
Modified: projects/clang900-import/lib/libomp/kmp_config.h
==============================================================================
--- projects/clang900-import/lib/libomp/kmp_config.h Sun Sep 1 18:21:06 2019 (r351667)
+++ projects/clang900-import/lib/libomp/kmp_config.h Sun Sep 1 18:25:45 2019 (r351668)
@@ -4,11 +4,10 @@
*/
//===----------------------------------------------------------------------===//
//
-// The LLVM Compiler Infrastructure
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.txt for details.
-//
//===----------------------------------------------------------------------===//
#ifndef KMP_CONFIG_H
#define KMP_CONFIG_H
@@ -66,11 +65,6 @@
#define KMP_LIBRARY_FILE "libomp.so"
#define KMP_VERSION_MAJOR 5
#define KMP_VERSION_MINOR 0
-#define LIBOMP_OMP_VERSION 50
-#define OMP_50_ENABLED (LIBOMP_OMP_VERSION >= 50)
-#define OMP_45_ENABLED (LIBOMP_OMP_VERSION >= 45)
-#define OMP_40_ENABLED (LIBOMP_OMP_VERSION >= 40)
-#define OMP_30_ENABLED (LIBOMP_OMP_VERSION >= 30)
#define LIBOMP_TSAN_SUPPORT 0
#if LIBOMP_TSAN_SUPPORT
#define TSAN_SUPPORT
Modified: projects/clang900-import/lib/libomp/kmp_i18n_default.inc
==============================================================================
--- projects/clang900-import/lib/libomp/kmp_i18n_default.inc Sun Sep 1 18:21:06 2019 (r351667)
+++ projects/clang900-import/lib/libomp/kmp_i18n_default.inc Sun Sep 1 18:25:45 2019 (r351668)
@@ -1,6 +1,6 @@
// $FreeBSD$
// Do not edit this file! //
-// The file was generated from en_US.txt by message-converter.pl on Thu Mar 14 22:26:24 2019. //
+// The file was generated from en_US.txt by message-converter.pl on Fri Aug 23 08:40:57 2019. //
static char const *
__kmp_i18n_default_meta[] =
@@ -362,6 +362,7 @@ __kmp_i18n_default_messages[] =
"KMP_HW_SUBSET ignored: too many Procs requested.",
"Hierarchy ignored: unsupported level: %1$s.",
"OMP: pid %1$s tid %2$s thread %3$s bound to OS proc set {%4$s}",
+ "%1$s routine deprecated, please use %2$s instead.",
NULL
};
@@ -412,7 +413,7 @@ __kmp_i18n_sections[] =
{ 5, __kmp_i18n_default_meta },
{ 55, __kmp_i18n_default_strings },
{ 6, __kmp_i18n_default_formats },
- { 269, __kmp_i18n_default_messages },
+ { 270, __kmp_i18n_default_messages },
{ 27, __kmp_i18n_default_hints },
{ 0, NULL }
};
Modified: projects/clang900-import/lib/libomp/kmp_i18n_id.inc
==============================================================================
--- projects/clang900-import/lib/libomp/kmp_i18n_id.inc Sun Sep 1 18:21:06 2019 (r351667)
+++ projects/clang900-import/lib/libomp/kmp_i18n_id.inc Sun Sep 1 18:25:45 2019 (r351668)
@@ -1,6 +1,6 @@
// $FreeBSD$
// Do not edit this file! //
-// The file was generated from en_US.txt by message-converter.pl on Thu Mar 14 22:26:24 2019. //
+// The file was generated from en_US.txt by message-converter.pl on Fri Aug 23 08:40:57 2019. //
enum kmp_i18n_id {
@@ -356,6 +356,7 @@ enum kmp_i18n_id {
kmp_i18n_msg_AffHWSubsetManyProcs,
kmp_i18n_msg_HierSchedInvalid,
kmp_i18n_msg_AffFormatDefault,
+ kmp_i18n_msg_APIDeprecated,
kmp_i18n_msg_last,
// Set #5, hints.
Modified: projects/clang900-import/lib/libomp/omp-tools.h
==============================================================================
--- projects/clang900-import/lib/libomp/omp-tools.h Sun Sep 1 18:21:06 2019 (r351667)
+++ projects/clang900-import/lib/libomp/omp-tools.h Sun Sep 1 18:25:45 2019 (r351668)
@@ -1,15 +1,14 @@
// $FreeBSD$
/*
- * include/50/omp-tools.h.var
+ * include/omp-tools.h.var
*/
//===----------------------------------------------------------------------===//
//
-// The LLVM Compiler Infrastructure
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.txt for details.
-//
//===----------------------------------------------------------------------===//
#ifndef __OMPT__
@@ -373,7 +372,7 @@ typedef enum ompt_frame_flag_t {
ompt_frame_cfa = 0x10,
ompt_frame_framepointer = 0x20,
ompt_frame_stackaddress = 0x30
-} ompt_frame_flag_t;
+} ompt_frame_flag_t;
typedef enum ompt_state_t {
ompt_state_work_serial = 0x000,
@@ -722,14 +721,14 @@ typedef void (*ompt_callback_dispatch_t) (
ompt_data_t *parallel_data,
ompt_data_t *task_data,
ompt_dispatch_t kind,
- ompt_data_t instance
+ ompt_data_t instance
);
typedef struct ompt_record_dispatch_t {
ompt_id_t parallel_id;
ompt_id_t task_id;
ompt_dispatch_t kind;
- ompt_data_t instance;
+ ompt_data_t instance;
} ompt_record_dispatch_t;
typedef void (*ompt_callback_task_create_t) (
Modified: projects/clang900-import/lib/libomp/omp.h
==============================================================================
--- projects/clang900-import/lib/libomp/omp.h Sun Sep 1 18:21:06 2019 (r351667)
+++ projects/clang900-import/lib/libomp/omp.h Sun Sep 1 18:25:45 2019 (r351668)
@@ -1,22 +1,24 @@
// $FreeBSD$
/*
- * include/50/omp.h.var
+ * include/omp.h.var
*/
//===----------------------------------------------------------------------===//
//
-// The LLVM Compiler Infrastructure
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.txt for details.
-//
//===----------------------------------------------------------------------===//
#ifndef __OMP_H
# define __OMP_H
+# include <stdlib.h>
+# include <stdint.h>
+
# define KMP_VERSION_MAJOR 5
# define KMP_VERSION_MINOR 0
# define KMP_VERSION_BUILD 20140926
@@ -45,10 +47,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 */
@@ -135,7 +138,6 @@
extern int __KAI_KMPC_CONVENTION omp_get_team_num (void);
extern int __KAI_KMPC_CONVENTION omp_get_cancellation (void);
-# include <stdlib.h>
/* OpenMP 4.5 */
extern int __KAI_KMPC_CONVENTION omp_get_initial_device (void);
extern void* __KAI_KMPC_CONVENTION omp_target_alloc(size_t, int);
@@ -149,6 +151,7 @@
/* OpenMP 5.0 */
extern int __KAI_KMPC_CONVENTION omp_get_device_num (void);
+ typedef void * omp_depend_t;
/* kmp API functions */
extern int __KAI_KMPC_CONVENTION kmp_get_stacksize (void);
@@ -219,36 +222,139 @@
omp_control_tool_flush = 3,
omp_control_tool_end = 4
} omp_control_tool_t;
-
+
extern int __KAI_KMPC_CONVENTION omp_control_tool(int, int, void*);
/* OpenMP 5.0 Memory Management */
- typedef void *omp_allocator_t;
- extern __KMP_IMP const omp_allocator_t *OMP_NULL_ALLOCATOR;
- extern __KMP_IMP const omp_allocator_t *omp_default_mem_alloc;
- extern __KMP_IMP const omp_allocator_t *omp_large_cap_mem_alloc;
- extern __KMP_IMP const omp_allocator_t *omp_const_mem_alloc;
- extern __KMP_IMP const omp_allocator_t *omp_high_bw_mem_alloc;
- extern __KMP_IMP const omp_allocator_t *omp_low_lat_mem_alloc;
- extern __KMP_IMP const omp_allocator_t *omp_cgroup_mem_alloc;
- extern __KMP_IMP const omp_allocator_t *omp_pteam_mem_alloc;
- extern __KMP_IMP const omp_allocator_t *omp_thread_mem_alloc;
+ typedef uintptr_t omp_uintptr_t;
- extern void __KAI_KMPC_CONVENTION omp_set_default_allocator(const omp_allocator_t *);
- extern const omp_allocator_t * __KAI_KMPC_CONVENTION omp_get_default_allocator(void);
-#ifdef __cplusplus
- extern void *__KAI_KMPC_CONVENTION omp_alloc(size_t size, const omp_allocator_t *allocator = OMP_NULL_ALLOCATOR);
- extern void __KAI_KMPC_CONVENTION omp_free(void * ptr, const omp_allocator_t *allocator = OMP_NULL_ALLOCATOR);
-#else
- extern void *__KAI_KMPC_CONVENTION omp_alloc(size_t size, const omp_allocator_t *allocator);
- extern void __KAI_KMPC_CONVENTION omp_free(void *ptr, const omp_allocator_t *allocator);
-#endif
+ typedef enum {
+ OMP_ATK_THREADMODEL = 1,
+ OMP_ATK_ALIGNMENT = 2,
+ OMP_ATK_ACCESS = 3,
+ OMP_ATK_POOL_SIZE = 4,
+ OMP_ATK_FALLBACK = 5,
+ OMP_ATK_FB_DATA = 6,
+ OMP_ATK_PINNED = 7,
+ OMP_ATK_PARTITION = 8
+ } omp_alloctrait_key_t;
+ typedef enum {
+ OMP_ATV_FALSE = 0,
+ OMP_ATV_TRUE = 1,
+ OMP_ATV_DEFAULT = 2,
+ OMP_ATV_CONTENDED = 3,
+ OMP_ATV_UNCONTENDED = 4,
+ OMP_ATV_SEQUENTIAL = 5,
+ OMP_ATV_PRIVATE = 6,
+ OMP_ATV_ALL = 7,
+ OMP_ATV_THREAD = 8,
+ OMP_ATV_PTEAM = 9,
+ OMP_ATV_CGROUP = 10,
+ OMP_ATV_DEFAULT_MEM_FB = 11,
+ OMP_ATV_NULL_FB = 12,
+ OMP_ATV_ABORT_FB = 13,
+ OMP_ATV_ALLOCATOR_FB = 14,
+ OMP_ATV_ENVIRONMENT = 15,
+ OMP_ATV_NEAREST = 16,
+ OMP_ATV_BLOCKED = 17,
+ OMP_ATV_INTERLEAVED = 18
+ } omp_alloctrait_value_t;
+
+ typedef struct {
+ omp_alloctrait_key_t key;
+ omp_uintptr_t value;
+ } omp_alloctrait_t;
+
+# if defined(_WIN32)
+ // On Windows cl and icl do not support 64-bit enum, let's use integer then.
+ typedef omp_uintptr_t omp_allocator_handle_t;
+ extern __KMP_IMP omp_allocator_handle_t const omp_null_allocator;
+ extern __KMP_IMP omp_allocator_handle_t const omp_default_mem_alloc;
+ extern __KMP_IMP omp_allocator_handle_t const omp_large_cap_mem_alloc;
+ extern __KMP_IMP omp_allocator_handle_t const omp_const_mem_alloc;
+ extern __KMP_IMP omp_allocator_handle_t const omp_high_bw_mem_alloc;
+ extern __KMP_IMP omp_allocator_handle_t const omp_low_lat_mem_alloc;
+ extern __KMP_IMP omp_allocator_handle_t const omp_cgroup_mem_alloc;
+ extern __KMP_IMP omp_allocator_handle_t const omp_pteam_mem_alloc;
+ extern __KMP_IMP omp_allocator_handle_t const omp_thread_mem_alloc;
+ typedef omp_uintptr_t omp_memspace_handle_t;
+ extern __KMP_IMP omp_memspace_handle_t const omp_default_mem_space;
+ extern __KMP_IMP omp_memspace_handle_t const omp_large_cap_mem_space;
+ extern __KMP_IMP omp_memspace_handle_t const omp_const_mem_space;
+ extern __KMP_IMP omp_memspace_handle_t const omp_high_bw_mem_space;
+ extern __KMP_IMP omp_memspace_handle_t const omp_low_lat_mem_space;
+# else
+# if __cplusplus >= 201103
+ typedef enum omp_allocator_handle_t : omp_uintptr_t
+# else
+ typedef enum omp_allocator_handle_t
+# endif
+ {
+ omp_null_allocator = 0,
+ omp_default_mem_alloc = 1,
+ omp_large_cap_mem_alloc = 2,
+ omp_const_mem_alloc = 3,
+ omp_high_bw_mem_alloc = 4,
+ omp_low_lat_mem_alloc = 5,
+ omp_cgroup_mem_alloc = 6,
+ omp_pteam_mem_alloc = 7,
+ omp_thread_mem_alloc = 8,
+ KMP_ALLOCATOR_MAX_HANDLE = UINTPTR_MAX
+ } omp_allocator_handle_t;
+# if __cplusplus >= 201103
+ typedef enum omp_memspace_handle_t : omp_uintptr_t
+# else
+ typedef enum omp_memspace_handle_t
+# endif
+ {
+ omp_default_mem_space = 0,
+ omp_large_cap_mem_space = 1,
+ omp_const_mem_space = 2,
+ omp_high_bw_mem_space = 3,
+ omp_low_lat_mem_space = 4,
+ KMP_MEMSPACE_MAX_HANDLE = UINTPTR_MAX
+ } omp_memspace_handle_t;
+# endif
+ extern omp_allocator_handle_t __KAI_KMPC_CONVENTION omp_init_allocator(omp_memspace_handle_t m,
+ int ntraits, omp_alloctrait_t traits[]);
+ extern void __KAI_KMPC_CONVENTION omp_destroy_allocator(omp_allocator_handle_t allocator);
+
+ extern void __KAI_KMPC_CONVENTION omp_set_default_allocator(omp_allocator_handle_t a);
+ extern omp_allocator_handle_t __KAI_KMPC_CONVENTION omp_get_default_allocator(void);
+# ifdef __cplusplus
+ extern void *__KAI_KMPC_CONVENTION omp_alloc(size_t size, omp_allocator_handle_t a = omp_null_allocator);
+ extern void __KAI_KMPC_CONVENTION omp_free(void * ptr, omp_allocator_handle_t a = omp_null_allocator);
+# else
+ extern void *__KAI_KMPC_CONVENTION omp_alloc(size_t size, omp_allocator_handle_t a);
+ extern void __KAI_KMPC_CONVENTION omp_free(void *ptr, omp_allocator_handle_t a);
+# endif
+
/* OpenMP 5.0 Affinity Format */
extern void __KAI_KMPC_CONVENTION omp_set_affinity_format(char const *);
extern size_t __KAI_KMPC_CONVENTION omp_get_affinity_format(char *, size_t);
extern void __KAI_KMPC_CONVENTION omp_display_affinity(char const *);
extern size_t __KAI_KMPC_CONVENTION omp_capture_affinity(char *, size_t, char const *);
+
+ /* OpenMP 5.0 events */
+# if defined(_WIN32)
+ // On Windows cl and icl do not support 64-bit enum, let's use integer then.
+ typedef omp_uintptr_t omp_event_handle_t;
+# else
+ typedef enum omp_event_handle_t { KMP_EVENT_MAX_HANDLE = UINTPTR_MAX } omp_event_handle_t;
+# endif
+ extern void __KAI_KMPC_CONVENTION omp_fulfill_event ( omp_event_handle_t event );
+
+ /* OpenMP 5.0 Pause Resources */
+ typedef enum omp_pause_resource_t {
+ omp_pause_resume = 0,
+ omp_pause_soft = 1,
+ omp_pause_hard = 2
+ } omp_pause_resource_t;
+ extern int __KAI_KMPC_CONVENTION omp_pause_resource(omp_pause_resource_t, int);
+ extern int __KAI_KMPC_CONVENTION omp_pause_resource_all(omp_pause_resource_t);
+
+ extern int __KAI_KMPC_CONVENTION omp_get_supported_active_levels(void);
# undef __KAI_KMPC_CONVENTION
# undef __KMP_IMP
More information about the svn-src-projects
mailing list