Update build glue for building libomp.
This commit is contained in:
parent
f57be329fc
commit
dac87cc057
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/projects/clang900-import/; revision=351668
@ -32,7 +32,6 @@ SRCS+= kmp_settings.cpp
|
|||||||
SRCS+= kmp_str.cpp
|
SRCS+= kmp_str.cpp
|
||||||
SRCS+= kmp_taskdeps.cpp
|
SRCS+= kmp_taskdeps.cpp
|
||||||
SRCS+= kmp_tasking.cpp
|
SRCS+= kmp_tasking.cpp
|
||||||
SRCS+= kmp_taskq.cpp
|
|
||||||
SRCS+= kmp_threadprivate.cpp
|
SRCS+= kmp_threadprivate.cpp
|
||||||
SRCS+= kmp_utility.cpp
|
SRCS+= kmp_utility.cpp
|
||||||
SRCS+= kmp_version.cpp
|
SRCS+= kmp_version.cpp
|
||||||
|
@ -4,10 +4,9 @@
|
|||||||
*/
|
*/
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// 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.
|
||||||
// This file is dual licensed under the MIT and the University of Illinois Open
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||||
// Source Licenses. See LICENSE.txt for details.
|
|
||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
#ifndef KMP_CONFIG_H
|
#ifndef KMP_CONFIG_H
|
||||||
@ -66,11 +65,6 @@
|
|||||||
#define KMP_LIBRARY_FILE "libomp.so"
|
#define KMP_LIBRARY_FILE "libomp.so"
|
||||||
#define KMP_VERSION_MAJOR 5
|
#define KMP_VERSION_MAJOR 5
|
||||||
#define KMP_VERSION_MINOR 0
|
#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
|
#define LIBOMP_TSAN_SUPPORT 0
|
||||||
#if LIBOMP_TSAN_SUPPORT
|
#if LIBOMP_TSAN_SUPPORT
|
||||||
#define TSAN_SUPPORT
|
#define TSAN_SUPPORT
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// $FreeBSD$
|
// $FreeBSD$
|
||||||
// Do not edit this file! //
|
// 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 *
|
static char const *
|
||||||
__kmp_i18n_default_meta[] =
|
__kmp_i18n_default_meta[] =
|
||||||
@ -362,6 +362,7 @@ __kmp_i18n_default_messages[] =
|
|||||||
"KMP_HW_SUBSET ignored: too many Procs requested.",
|
"KMP_HW_SUBSET ignored: too many Procs requested.",
|
||||||
"Hierarchy ignored: unsupported level: %1$s.",
|
"Hierarchy ignored: unsupported level: %1$s.",
|
||||||
"OMP: pid %1$s tid %2$s thread %3$s bound to OS proc set {%4$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
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -412,7 +413,7 @@ __kmp_i18n_sections[] =
|
|||||||
{ 5, __kmp_i18n_default_meta },
|
{ 5, __kmp_i18n_default_meta },
|
||||||
{ 55, __kmp_i18n_default_strings },
|
{ 55, __kmp_i18n_default_strings },
|
||||||
{ 6, __kmp_i18n_default_formats },
|
{ 6, __kmp_i18n_default_formats },
|
||||||
{ 269, __kmp_i18n_default_messages },
|
{ 270, __kmp_i18n_default_messages },
|
||||||
{ 27, __kmp_i18n_default_hints },
|
{ 27, __kmp_i18n_default_hints },
|
||||||
{ 0, NULL }
|
{ 0, NULL }
|
||||||
};
|
};
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// $FreeBSD$
|
// $FreeBSD$
|
||||||
// Do not edit this file! //
|
// 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 {
|
enum kmp_i18n_id {
|
||||||
|
|
||||||
@ -356,6 +356,7 @@ enum kmp_i18n_id {
|
|||||||
kmp_i18n_msg_AffHWSubsetManyProcs,
|
kmp_i18n_msg_AffHWSubsetManyProcs,
|
||||||
kmp_i18n_msg_HierSchedInvalid,
|
kmp_i18n_msg_HierSchedInvalid,
|
||||||
kmp_i18n_msg_AffFormatDefault,
|
kmp_i18n_msg_AffFormatDefault,
|
||||||
|
kmp_i18n_msg_APIDeprecated,
|
||||||
kmp_i18n_msg_last,
|
kmp_i18n_msg_last,
|
||||||
|
|
||||||
// Set #5, hints.
|
// Set #5, hints.
|
||||||
|
@ -1,14 +1,13 @@
|
|||||||
// $FreeBSD$
|
// $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.
|
||||||
// This file is dual licensed under the MIT and the University of Illinois Open
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||||
// Source Licenses. See LICENSE.txt for details.
|
|
||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
158
lib/libomp/omp.h
158
lib/libomp/omp.h
@ -1,15 +1,14 @@
|
|||||||
// $FreeBSD$
|
// $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.
|
||||||
// This file is dual licensed under the MIT and the University of Illinois Open
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||||
// Source Licenses. See LICENSE.txt for details.
|
|
||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
@ -17,6 +16,9 @@
|
|||||||
#ifndef __OMP_H
|
#ifndef __OMP_H
|
||||||
# define __OMP_H
|
# define __OMP_H
|
||||||
|
|
||||||
|
# include <stdlib.h>
|
||||||
|
# include <stdint.h>
|
||||||
|
|
||||||
# define KMP_VERSION_MAJOR 5
|
# define KMP_VERSION_MAJOR 5
|
||||||
# define KMP_VERSION_MINOR 0
|
# define KMP_VERSION_MINOR 0
|
||||||
# define KMP_VERSION_BUILD 20140926
|
# define KMP_VERSION_BUILD 20140926
|
||||||
@ -48,7 +50,8 @@
|
|||||||
omp_sched_static = 1,
|
omp_sched_static = 1,
|
||||||
omp_sched_dynamic = 2,
|
omp_sched_dynamic = 2,
|
||||||
omp_sched_guided = 3,
|
omp_sched_guided = 3,
|
||||||
omp_sched_auto = 4
|
omp_sched_auto = 4,
|
||||||
|
omp_sched_monotonic = 0x80000000
|
||||||
} omp_sched_t;
|
} omp_sched_t;
|
||||||
|
|
||||||
/* set API functions */
|
/* set API functions */
|
||||||
@ -135,7 +138,6 @@
|
|||||||
extern int __KAI_KMPC_CONVENTION omp_get_team_num (void);
|
extern int __KAI_KMPC_CONVENTION omp_get_team_num (void);
|
||||||
extern int __KAI_KMPC_CONVENTION omp_get_cancellation (void);
|
extern int __KAI_KMPC_CONVENTION omp_get_cancellation (void);
|
||||||
|
|
||||||
# include <stdlib.h>
|
|
||||||
/* OpenMP 4.5 */
|
/* OpenMP 4.5 */
|
||||||
extern int __KAI_KMPC_CONVENTION omp_get_initial_device (void);
|
extern int __KAI_KMPC_CONVENTION omp_get_initial_device (void);
|
||||||
extern void* __KAI_KMPC_CONVENTION omp_target_alloc(size_t, int);
|
extern void* __KAI_KMPC_CONVENTION omp_target_alloc(size_t, int);
|
||||||
@ -149,6 +151,7 @@
|
|||||||
|
|
||||||
/* OpenMP 5.0 */
|
/* OpenMP 5.0 */
|
||||||
extern int __KAI_KMPC_CONVENTION omp_get_device_num (void);
|
extern int __KAI_KMPC_CONVENTION omp_get_device_num (void);
|
||||||
|
typedef void * omp_depend_t;
|
||||||
|
|
||||||
/* kmp API functions */
|
/* kmp API functions */
|
||||||
extern int __KAI_KMPC_CONVENTION kmp_get_stacksize (void);
|
extern int __KAI_KMPC_CONVENTION kmp_get_stacksize (void);
|
||||||
@ -223,26 +226,109 @@
|
|||||||
extern int __KAI_KMPC_CONVENTION omp_control_tool(int, int, void*);
|
extern int __KAI_KMPC_CONVENTION omp_control_tool(int, int, void*);
|
||||||
|
|
||||||
/* OpenMP 5.0 Memory Management */
|
/* OpenMP 5.0 Memory Management */
|
||||||
typedef void *omp_allocator_t;
|
typedef uintptr_t omp_uintptr_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;
|
|
||||||
|
|
||||||
extern void __KAI_KMPC_CONVENTION omp_set_default_allocator(const omp_allocator_t *);
|
typedef enum {
|
||||||
extern const omp_allocator_t * __KAI_KMPC_CONVENTION omp_get_default_allocator(void);
|
OMP_ATK_THREADMODEL = 1,
|
||||||
#ifdef __cplusplus
|
OMP_ATK_ALIGNMENT = 2,
|
||||||
extern void *__KAI_KMPC_CONVENTION omp_alloc(size_t size, const omp_allocator_t *allocator = OMP_NULL_ALLOCATOR);
|
OMP_ATK_ACCESS = 3,
|
||||||
extern void __KAI_KMPC_CONVENTION omp_free(void * ptr, const omp_allocator_t *allocator = OMP_NULL_ALLOCATOR);
|
OMP_ATK_POOL_SIZE = 4,
|
||||||
#else
|
OMP_ATK_FALLBACK = 5,
|
||||||
extern void *__KAI_KMPC_CONVENTION omp_alloc(size_t size, const omp_allocator_t *allocator);
|
OMP_ATK_FB_DATA = 6,
|
||||||
extern void __KAI_KMPC_CONVENTION omp_free(void *ptr, const omp_allocator_t *allocator);
|
OMP_ATK_PINNED = 7,
|
||||||
#endif
|
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 */
|
/* OpenMP 5.0 Affinity Format */
|
||||||
extern void __KAI_KMPC_CONVENTION omp_set_affinity_format(char const *);
|
extern void __KAI_KMPC_CONVENTION omp_set_affinity_format(char const *);
|
||||||
@ -250,6 +336,26 @@
|
|||||||
extern void __KAI_KMPC_CONVENTION omp_display_affinity(char const *);
|
extern void __KAI_KMPC_CONVENTION omp_display_affinity(char const *);
|
||||||
extern size_t __KAI_KMPC_CONVENTION omp_capture_affinity(char *, size_t, 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 __KAI_KMPC_CONVENTION
|
||||||
# undef __KMP_IMP
|
# undef __KMP_IMP
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user