From: Andreas Beckmann Date: Tue, 15 Mar 2022 10:05:45 +0000 (+0100) Subject: [PATCH 1015/1017] use _LLC_HOST_CPU as internal variable X-Git-Tag: archive/raspbian/3.1-2+rpi1^2~11 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=80199a6309d01f37d0a31bd6c346f8b71fda56a7;p=pocl.git [PATCH 1015/1017] use _LLC_HOST_CPU as internal variable do not set LLC_HOST_CPU to LLC_HOST_CPU_AUTO as it will turn on HOST_CPU_FORCED on a subsequent cmake run Gbp-Pq: Name 1015-use-_LLC_HOST_CPU-as-internal-variable.patch --- diff --git a/CMakeLists.txt b/CMakeLists.txt index c988941..8e7542f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -490,7 +490,7 @@ if(ENABLE_LLVM) if(INTEL_SDE_AVX512) set(HOST_CPU_FORCED 1 CACHE INTERNAL "CPU is forced by user" FORCE) - set(LLC_HOST_CPU "skylake-avx512" CACHE STRING "The Host CPU to use with llc" FORCE) + set(_LLC_HOST_CPU "skylake-avx512" CACHE STRING "The Host CPU to use with llc" FORCE) endif() endif() @@ -1309,7 +1309,7 @@ if(ENABLE_HOST_CPU_DEVICES) # TODO OCL_KERNEL_TARGET -> CPU_TARGET_TRIPLE # TODO OCL_KERNEL_TARGET_CPU -> OCL_KERNEL_TARGET_CPU set(OCL_KERNEL_TARGET "${LLC_TRIPLE}") #The kernel target triplet. - set(OCL_KERNEL_TARGET_CPU "${LLC_HOST_CPU}") #The kernel target CPU variant. + set(OCL_KERNEL_TARGET_CPU "${_LLC_HOST_CPU}") #The kernel target CPU variant. set(BUILD_BASIC 1) set(BUILD_PTHREAD 1) endif() @@ -1989,6 +1989,7 @@ if (ENABLE_LLVM) MESSAGE(STATUS "LLC_TRIPLE: ${LLC_TRIPLE}") MESSAGE(STATUS "LLC_HOST_CPU_AUTO: ${LLC_HOST_CPU_AUTO}") MESSAGE(STATUS "LLC_HOST_CPU: ${LLC_HOST_CPU}") + MESSAGE(STATUS "_LLC_HOST_CPU: ${_LLC_HOST_CPU}") MESSAGE(STATUS "HOST_CPU_FORCED: ${HOST_CPU_FORCED}") endif() endif() diff --git a/cmake/LLVM.cmake b/cmake/LLVM.cmake index 7c455ae..f38e112 100644 --- a/cmake/LLVM.cmake +++ b/cmake/LLVM.cmake @@ -685,9 +685,10 @@ endif() if((DEFINED LLC_HOST_CPU) AND (NOT LLC_HOST_CPU STREQUAL LLC_HOST_CPU_AUTO)) message(STATUS "Autodetected CPU ${LLC_HOST_CPU_AUTO} overriden by user to ${LLC_HOST_CPU}") + set(_LLC_HOST_CPU "${LLC_HOST_CPU}") set(HOST_CPU_FORCED 1 CACHE INTERNAL "CPU is forced by user") else() - set(LLC_HOST_CPU "${LLC_HOST_CPU_AUTO}" CACHE STRING "The Host CPU to use with llc") + set(_LLC_HOST_CPU "${LLC_HOST_CPU_AUTO}") set(HOST_CPU_FORCED 0 CACHE INTERNAL "CPU is forced by user") endif() @@ -695,11 +696,11 @@ endif() # Some architectures have -march and -mcpu reversed if(NOT DEFINED CLANG_MARCH_FLAG) message(STATUS "Checking clang -march vs. -mcpu flag") - custom_try_compile_clang_silent("" "return 0;" RES ${CLANG_TARGET_OPTION}${LLC_TRIPLE} -march=${LLC_HOST_CPU}) + custom_try_compile_clang_silent("" "return 0;" RES ${CLANG_TARGET_OPTION}${LLC_TRIPLE} -march=${_LLC_HOST_CPU}) if(NOT RES) set(CLANG_MARCH_FLAG "-march=") else() - custom_try_compile_clang_silent("" "return 0;" RES ${CLANG_TARGET_OPTION}${LLC_TRIPLE} -mcpu=${LLC_HOST_CPU}) + custom_try_compile_clang_silent("" "return 0;" RES ${CLANG_TARGET_OPTION}${LLC_TRIPLE} -mcpu=${_LLC_HOST_CPU}) if(NOT RES) set(CLANG_MARCH_FLAG "-mcpu=") else() @@ -771,7 +772,7 @@ endif() if(ENABLE_HOST_CPU_DEVICES AND NOT DEFINED ${CL_DISABLE_HALF}) set(CL_DISABLE_HALF 0) message(STATUS "Checking fp16 support") - custom_try_compile_clang_silent("__fp16 callfp16(__fp16 a) { return a * (__fp16)1.8; };" "__fp16 x=callfp16((__fp16)argc);" RESV ${CLANG_TARGET_OPTION}${LLC_TRIPLE} ${CLANG_MARCH_FLAG}${LLC_HOST_CPU}) + custom_try_compile_clang_silent("__fp16 callfp16(__fp16 a) { return a * (__fp16)1.8; };" "__fp16 x=callfp16((__fp16)argc);" RESV ${CLANG_TARGET_OPTION}${LLC_TRIPLE} ${CLANG_MARCH_FLAG}${_LLC_HOST_CPU}) if(RESV) set(CL_DISABLE_HALF 1) endif() diff --git a/lib/kernel/host/CMakeLists.txt b/lib/kernel/host/CMakeLists.txt index 71e6d98..7a14dac 100644 --- a/lib/kernel/host/CMakeLists.txt +++ b/lib/kernel/host/CMakeLists.txt @@ -504,7 +504,7 @@ endfunction() foreach(CPU_VARIANT IN LISTS KERNELLIB_HOST_CPU_VARIANTS) if(CPU_VARIANT MATCHES "native") - set(VARIANT "${LLC_HOST_CPU}") + set(VARIANT "${_LLC_HOST_CPU}") else() set(VARIANT "${CPU_VARIANT}") endif() diff --git a/tests/regression/CMakeLists.txt b/tests/regression/CMakeLists.txt index 2effeba..c81fcf7 100644 --- a/tests/regression/CMakeLists.txt +++ b/tests/regression/CMakeLists.txt @@ -94,7 +94,7 @@ if(LLVM_VERSION_MAJOR GREATER 9 AND LLVM_VERSION_MAJOR LESS 13) # (sporadically?) segfaults on AMD CPUs # in distro builds, we don't know whether we target a failing or a # passing CPU during the tests - if(X86_64 AND (KERNELLIB_HOST_DISTRO_VARIANTS OR LLC_HOST_CPU MATCHES "^znver.*")) + if(X86_64 AND (KERNELLIB_HOST_DISTRO_VARIANTS OR _LLC_HOST_CPU MATCHES "^znver.*")) set_tests_properties("regression/test_llvm_segfault_issue_889" PROPERTIES DISABLED 1) endif() endif()