From b6b682ba375298990484d6dbd647732e569f0dd7 Mon Sep 17 00:00:00 2001 From: LLVM Packaging Team Date: Tue, 9 Jul 2019 20:04:39 +0100 Subject: [PATCH] kfreebsd-openmp =================================================================== Gbp-Pq: Topic kfreebsd Gbp-Pq: Name kfreebsd-openmp.diff --- openmp/runtime/src/kmp.h | 4 ++++ openmp/runtime/src/kmp_ftn_entry.h | 2 +- openmp/runtime/src/kmp_platform.h | 10 ++++++++-- openmp/runtime/src/kmp_runtime.cpp | 4 ++-- openmp/runtime/src/z_Linux_util.cpp | 8 ++++---- 5 files changed, 19 insertions(+), 9 deletions(-) diff --git a/openmp/runtime/src/kmp.h b/openmp/runtime/src/kmp.h index 4fa5d2102..f438b383a 100644 --- a/openmp/runtime/src/kmp.h +++ b/openmp/runtime/src/kmp.h @@ -1052,6 +1052,10 @@ extern kmp_uint64 __kmp_now_nsec(); /* TODO: tune for KMP_OS_HURD */ #define KMP_INIT_WAIT 1024U /* initial number of spin-tests */ #define KMP_NEXT_WAIT 512U /* susequent number of spin-tests */ +#elif KMP_OS_KFREEBSD +/* TODO: tune for KMP_OS_KFREEBSD */ +#define KMP_INIT_WAIT 1024U /* initial number of spin-tests */ +#define KMP_NEXT_WAIT 512U /* susequent number of spin-tests */ #endif #if KMP_ARCH_X86 || KMP_ARCH_X86_64 diff --git a/openmp/runtime/src/kmp_ftn_entry.h b/openmp/runtime/src/kmp_ftn_entry.h index 4486a8d7c..1edb23bbd 100644 --- a/openmp/runtime/src/kmp_ftn_entry.h +++ b/openmp/runtime/src/kmp_ftn_entry.h @@ -369,7 +369,7 @@ int FTN_STDCALL KMP_EXPAND_NAME(FTN_GET_THREAD_NUM)(void) { #else int gtid; -#if KMP_OS_DARWIN || KMP_OS_FREEBSD || KMP_OS_NETBSD || KMP_OS_HURD +#if KMP_OS_DARWIN || KMP_OS_FREEBSD || KMP_OS_NETBSD || KMP_OS_HURD || KMP_OS_KFREEBSD gtid = __kmp_entry_gtid(); #elif KMP_OS_WINDOWS if (!__kmp_init_parallel || diff --git a/openmp/runtime/src/kmp_platform.h b/openmp/runtime/src/kmp_platform.h index 761048413..b98191082 100644 --- a/openmp/runtime/src/kmp_platform.h +++ b/openmp/runtime/src/kmp_platform.h @@ -18,6 +18,7 @@ #define KMP_OS_LINUX 0 #define KMP_OS_FREEBSD 0 +#define KMP_OS_KFREEBSD 0 #define KMP_OS_NETBSD 0 #define KMP_OS_DARWIN 0 #define KMP_OS_WINDOWS 0 @@ -50,6 +51,11 @@ #define KMP_OS_FREEBSD 1 #endif +#if (defined __FreeBSD_kernel__) +#undef KMP_OS_KFREEBSD +#define KMP_OS_KFREEBSD 1 +#endif + #if (defined __NetBSD__) #undef KMP_OS_NETBSD #define KMP_OS_NETBSD 1 @@ -67,11 +73,11 @@ #if (1 != \ KMP_OS_LINUX + KMP_OS_FREEBSD + KMP_OS_NETBSD + KMP_OS_DARWIN + \ - KMP_OS_WINDOWS + KMP_OS_HURD) + KMP_OS_WINDOWS + KMP_OS_HURD + KMP_OS_KFREEBSD) #error Unknown OS #endif -#if KMP_OS_LINUX || KMP_OS_FREEBSD || KMP_OS_NETBSD || KMP_OS_DARWIN || KMP_OS_HURD +#if KMP_OS_LINUX || KMP_OS_FREEBSD || KMP_OS_KFREEBSD || KMP_OS_NETBSD || KMP_OS_DARWIN || KMP_OS_HURD #undef KMP_OS_UNIX #define KMP_OS_UNIX 1 #endif diff --git a/openmp/runtime/src/kmp_runtime.cpp b/openmp/runtime/src/kmp_runtime.cpp index e9de18c15..b350cb0c7 100644 --- a/openmp/runtime/src/kmp_runtime.cpp +++ b/openmp/runtime/src/kmp_runtime.cpp @@ -7643,7 +7643,7 @@ __kmp_determine_reduction_method( #if KMP_ARCH_X86_64 || KMP_ARCH_PPC64 || KMP_ARCH_AARCH64 || KMP_ARCH_MIPS64 #if KMP_OS_LINUX || KMP_OS_FREEBSD || KMP_OS_NETBSD || KMP_OS_WINDOWS || \ - KMP_OS_DARWIN || KMP_OS_HURD + KMP_OS_DARWIN || KMP_OS_HURD || KMP_OS_KFREEBSD int teamsize_cutoff = 4; @@ -7670,7 +7670,7 @@ __kmp_determine_reduction_method( #elif KMP_ARCH_X86 || KMP_ARCH_ARM || KMP_ARCH_AARCH || KMP_ARCH_MIPS -#if KMP_OS_LINUX || KMP_OS_WINDOWS || KMP_OS_HURD +#if KMP_OS_LINUX || KMP_OS_WINDOWS || KMP_OS_HURD || KMP_OS_KFREEBSD // basic tuning diff --git a/openmp/runtime/src/z_Linux_util.cpp b/openmp/runtime/src/z_Linux_util.cpp index 27a107123..f0e8516bb 100644 --- a/openmp/runtime/src/z_Linux_util.cpp +++ b/openmp/runtime/src/z_Linux_util.cpp @@ -444,7 +444,7 @@ void __kmp_terminate_thread(int gtid) { determined exactly, FALSE if incremental refinement is necessary. */ static kmp_int32 __kmp_set_stack_info(int gtid, kmp_info_t *th) { int stack_data; -#if KMP_OS_LINUX || KMP_OS_FREEBSD || KMP_OS_NETBSD || KMP_OS_HURD +#if KMP_OS_LINUX || KMP_OS_FREEBSD || KMP_OS_NETBSD || KMP_OS_HURD || KMP_OS_KFREEBSD pthread_attr_t attr; int status; size_t size = 0; @@ -496,7 +496,7 @@ static void *__kmp_launch_worker(void *thr) { sigset_t new_set, old_set; #endif /* KMP_BLOCK_SIGNALS */ void *exit_val; -#if KMP_OS_LINUX || KMP_OS_FREEBSD || KMP_OS_NETBSD || KMP_OS_HURD +#if KMP_OS_LINUX || KMP_OS_FREEBSD || KMP_OS_NETBSD || KMP_OS_HURD || KMP_OS_KFREEBSD void *volatile padding = 0; #endif int gtid; @@ -1764,7 +1764,7 @@ static int __kmp_get_xproc(void) { int r = 0; -#if KMP_OS_LINUX || KMP_OS_FREEBSD || KMP_OS_NETBSD || KMP_OS_HURD +#if KMP_OS_LINUX || KMP_OS_FREEBSD || KMP_OS_NETBSD || KMP_OS_HURD || KMP_OS_KFREEBSD r = sysconf(_SC_NPROCESSORS_ONLN); @@ -1952,7 +1952,7 @@ int __kmp_is_address_mapped(void *addr) { int found = 0; int rc; -#if KMP_OS_LINUX || KMP_OS_FREEBSD || KMP_OS_HURD +#if KMP_OS_LINUX || KMP_OS_FREEBSD || KMP_OS_HURD || KMP_OS_KFREEBSD /* On GNUish OSes, read the /proc//maps pseudo-file to get all the address ranges mapped into the address space. */ -- 2.30.2