[PATCH 1015/1017] use _LLC_HOST_CPU as internal variable
authorAndreas Beckmann <anbe@debian.org>
Tue, 15 Mar 2022 10:05:45 +0000 (11:05 +0100)
committerAndreas Beckmann <anbe@debian.org>
Sun, 2 Apr 2023 23:08:50 +0000 (00:08 +0100)
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

CMakeLists.txt
cmake/LLVM.cmake
lib/kernel/host/CMakeLists.txt
tests/regression/CMakeLists.txt

index c988941a21ab0f1ff9141618580379ef7907d8f7..8e7542ff7943d252387b9cc37cc0493d012796e7 100644 (file)
@@ -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()
index 7c455ae1996bdc208c966ba4a7a158e7266279f8..f38e11291988c73332413a218cf6e78094495934 100644 (file)
@@ -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()
index 71e6d9821406d1ddb135d28d1cb81556d34efc26..7a14dac26d4db0dbf8398264f74039f33886d28a 100644 (file)
@@ -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()
index 2effebac2618e55555dbe3a1e8c75066d047773d..c81fcf73bf30352ffce47394757809c5f8b19064 100644 (file)
@@ -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()