[PATCH 1014/1017] improve grouping of ENABLE_HOST_CPU_DEVICES specific tests
authorAndreas Beckmann <anbe@debian.org>
Tue, 15 Mar 2022 09:33:22 +0000 (10:33 +0100)
committerAndreas Beckmann <anbe@debian.org>
Wed, 3 Aug 2022 23:54:01 +0000 (00:54 +0100)
Gbp-Pq: Name 1014-improve-grouping-of-ENABLE_HOST_CPU_DEVICES-specific.patch

CMakeLists.txt
cmake/LLVM.cmake

index 4b23a3caf40d8de0d66cceed865e9f3120d3605d..19cde2eb5b3d82023771f27d65a1205d05351bf9 100644 (file)
@@ -1783,8 +1783,6 @@ if (ENABLE_LLVM)
   MESSAGE(STATUS "CLANG_HAS_64B_MATH: ${CLANG_HAS_64B_MATH}")
   MESSAGE(STATUS "CLANG_HAS_128B_MATH: ${CLANG_HAS_128B_MATH}")
   MESSAGE(STATUS "CLANG_NEEDS_RTLIB: ${CLANG_NEEDS_RTLIB}")
-  MESSAGE(STATUS "CLANG_MARCH_FLAG: ${CLANG_MARCH_FLAG}")
-  MESSAGE(STATUS "CLANG_TARGET_OPTION: ${CLANG_TARGET_OPTION}")
   MESSAGE(STATUS "LLVM_VERSION: ${LLVM_VERSION}")
   MESSAGE(STATUS "LLVM_LIB_IS_SHARED: ${LLVM_LIB_IS_SHARED}")
   MESSAGE(STATUS "LLVM_HAS_RTTI: ${LLVM_HAS_RTTI}")
@@ -1802,10 +1800,16 @@ if (ENABLE_LLVM)
   MESSAGE(STATUS "LLVM_INCLUDE_DIRS: ${LLVM_INCLUDE_DIRS}")
   MESSAGE(STATUS "LLVM_ALL_TARGETS: ${LLVM_ALL_TARGETS}")
   MESSAGE(STATUS "LLVM_HOST_TARGET: ${LLVM_HOST_TARGET}")
+  if(ENABLE_HOST_CPU_DEVICES)
+  MESSAGE(STATUS "CLANG_TARGET_OPTION: ${CLANG_TARGET_OPTION}")
+  MESSAGE(STATUS "CLANG_MARCH_FLAG: ${CLANG_MARCH_FLAG}")
   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 "")
+  MESSAGE(STATUS "HOST_CPU_FORCED: ${HOST_CPU_FORCED}")
+  endif()
 endif()
+MESSAGE(STATUS "")
 MESSAGE(STATUS "MAX_EXTENDED_ALIGNMENT: ${MAX_EXTENDED_ALIGNMENT}")
 MESSAGE(STATUS "OCL_KERNEL_TARGET: ${OCL_KERNEL_TARGET}")
 MESSAGE(STATUS "OCL_KERNEL_TARGET_CPU: ${OCL_KERNEL_TARGET_CPU}")
index 73d8b6e2c4bb019f9429eed5ec2c33e66051aa99..e4f61b417d681cd1d6612e426f0c645f2f4bf3f2 100644 (file)
@@ -468,31 +468,6 @@ endmacro()
 ####################################################################
 ####################################################################
 
-# The option for specifying the target changed; try the modern syntax
-# first, and fall back to the old-style syntax if this failed
-
-if(NOT DEFINED CLANG_TARGET_OPTION AND ENABLE_HOST_CPU_DEVICES)
-
-  custom_try_compile_clangxx("" "return 0;" RES "--target=${LLVM_HOST_TARGET}")
-  if(NOT RES)
-    set(CLANG_TGT "--target=")
-  else()
-    #EXECUTE_PROCESS(COMMAND "${CLANG}" "-target ${LLVM_HOST_TARGET}" "-x" "c" "/dev/null" "-S" RESULT_VARIABLE RES)
-    custom_try_compile_clangxx("" "return 0;" RES "-target ${LLVM_HOST_TARGET}")
-    if(NOT RES)
-      set(CLANG_TGT "-target ")
-    else()
-      message(FATAL_ERROR "Cannot determine Clang option to specify the target")
-    endif()
-  endif()
-
-  set(CLANG_TARGET_OPTION ${CLANG_TGT} CACHE INTERNAL "Clang option used to specify the target" )
-
-endif()
-
-####################################################################
-####################################################################
-
 if(NOT DEFINED CLANG_NEEDS_RTLIB)
 
   set(RT128 OFF)
@@ -627,6 +602,31 @@ endif()
 
 ####################################################################
 
+if(ENABLE_HOST_CPU_DEVICES)
+
+# The option for specifying the target changed; try the modern syntax
+# first, and fall back to the old-style syntax if this failed
+
+if(NOT DEFINED CLANG_TARGET_OPTION)
+
+  custom_try_compile_clangxx("" "return 0;" RES "--target=${LLVM_HOST_TARGET}")
+  if(NOT RES)
+    set(CLANG_TGT "--target=")
+  else()
+    #EXECUTE_PROCESS(COMMAND "${CLANG}" "-target ${LLVM_HOST_TARGET}" "-x" "c" "/dev/null" "-S" RESULT_VARIABLE RES)
+    custom_try_compile_clangxx("" "return 0;" RES "-target ${LLVM_HOST_TARGET}")
+    if(NOT RES)
+      set(CLANG_TGT "-target ")
+    else()
+      message(FATAL_ERROR "Cannot determine Clang option to specify the target")
+    endif()
+  endif()
+
+  set(CLANG_TARGET_OPTION ${CLANG_TGT} CACHE INTERNAL "Clang option used to specify the target" )
+
+endif()
+
+
 # TODO: We need to set both target-triple and cpu-type when
 # building, since the ABI depends on both. We can either add flags
 # to all the scripts, or set the respective flags here in
@@ -641,8 +641,7 @@ endif()
 # depending on whether they are generated via clang or directly
 # via llc.
 
-
-if(ENABLE_HOST_CPU_DEVICES AND NOT DEFINED LLC_TRIPLE)
+if(NOT DEFINED LLC_TRIPLE)
   message(STATUS "Find out LLC target triple (for host ${LLVM_HOST_TARGET})")
   set(_EMPTY_C_FILE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/tripletfind.c")
   file(WRITE "${_EMPTY_C_FILE}" "")
@@ -661,7 +660,6 @@ if(ENABLE_HOST_CPU_DEVICES AND NOT DEFINED LLC_TRIPLE)
   string(REPLACE "armv7l-" "armv7-" LLC_TRIPLE "${LLC_TRIPLE}")
 
   set(LLC_TRIPLE "${LLC_TRIPLE}" CACHE INTERNAL "LLC_TRIPLE")
-
 endif()
 
 
@@ -669,7 +667,7 @@ endif()
 # targeted if you pass -mcpu=native to llc, so we could replace this auto-detection
 # with just: set(LLC_HOST_CPU "native"), however, we can't do this at the moment
 # because of the work-around for arm1176jz-s.
-if(ENABLE_HOST_CPU_DEVICES AND NOT DEFINED LLC_HOST_CPU_AUTO)
+if(NOT DEFINED LLC_HOST_CPU_AUTO)
   message(STATUS "Find out LLC host CPU with ${LLVM_LLC}")
   execute_process(COMMAND ${LLVM_LLC} "--version" RESULT_VARIABLE RES_VAR OUTPUT_VARIABLE OUTPUT_VAR)
   if(RES_VAR)
@@ -689,8 +687,6 @@ if(ENABLE_HOST_CPU_DEVICES AND NOT DEFINED LLC_HOST_CPU_AUTO)
   endif()
 endif()
 
-
-
 if((LLC_HOST_CPU_AUTO MATCHES "unknown") AND (NOT LLC_HOST_CPU))
   message(FATAL_ERROR "LLVM could not recognize your CPU model automatically. Please run CMake with -DLLC_HOST_CPU=<cpu> (you can find valid names with: llc -mcpu=help)")
 else()
@@ -706,9 +702,7 @@ else()
 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})
@@ -727,6 +721,8 @@ if(NOT DEFINED CLANG_MARCH_FLAG)
   set(CLANG_MARCH_FLAG ${CLANG_MARCH_FLAG} CACHE INTERNAL "Clang option used to specify the target cpu")
 endif()
 
+endif(ENABLE_HOST_CPU_DEVICES)
+
 ####################################################################
 
 # This tests that we can actually link to the llvm libraries.