From 7b03a55ce2cb5f8e3a499aac03ce64c94d78fe83 Mon Sep 17 00:00:00 2001 From: Petr Hosek Date: Thu, 14 Sep 2023 23:44:13 -0700 Subject: [PATCH] [CMake] Remove SetTargetTriple (#66464) This module is only used in two places and its logic can be inlined and simplified. --- llvm/CMakeLists.txt | 11 +++++++---- llvm/cmake/config-ix.cmake | 1 + llvm/cmake/modules/SetTargetTriple.cmake | 13 ------------- runtimes/CMakeLists.txt | 12 ++++++++---- 4 files changed, 16 insertions(+), 21 deletions(-) delete mode 100644 llvm/cmake/modules/SetTargetTriple.cmake diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt index 1103172d8bc6..fa39c7554de1 100644 --- a/llvm/CMakeLists.txt +++ b/llvm/CMakeLists.txt @@ -875,16 +875,19 @@ include(config-ix) # invocation time. Except on 64-bit AIX, where the system toolchain # expect 32-bit objects by default. if("${LLVM_HOST_TRIPLE}" MATCHES "^powerpc64-ibm-aix") - string(REGEX REPLACE "^powerpc64" "powerpc" LLVM_DEFAULT_TARGET_TRIPLE_default "${LLVM_HOST_TRIPLE}") + string(REGEX REPLACE "^powerpc64" "powerpc" LLVM_DEFAULT_TARGET_TRIPLE_DEFAULT "${LLVM_HOST_TRIPLE}") else() # Only set default triple when native target is enabled. if (LLVM_NATIVE_TARGET) - set(LLVM_DEFAULT_TARGET_TRIPLE_default "${LLVM_HOST_TRIPLE}") + set(LLVM_DEFAULT_TARGET_TRIPLE_DEFAULT "${LLVM_HOST_TRIPLE}") endif() endif() -include(SetTargetTriple) -set_llvm_target_triple() +set(LLVM_DEFAULT_TARGET_TRIPLE "${LLVM_DEFAULT_TARGET_TRIPLE_DEFAULT}" CACHE STRING + "Default target for which LLVM will generate code." ) +message(STATUS "LLVM default target triple: ${LLVM_DEFAULT_TARGET_TRIPLE}") + +set(LLVM_TARGET_TRIPLE "${LLVM_DEFAULT_TARGET_TRIPLE}") if(WIN32 OR CYGWIN) if(BUILD_SHARED_LIBS OR LLVM_BUILD_LLVM_DYLIB) diff --git a/llvm/cmake/config-ix.cmake b/llvm/cmake/config-ix.cmake index f63c3f1a351f..a01e17de8677 100644 --- a/llvm/cmake/config-ix.cmake +++ b/llvm/cmake/config-ix.cmake @@ -461,6 +461,7 @@ get_host_triple(LLVM_INFERRED_HOST_TRIPLE) set(LLVM_HOST_TRIPLE "${LLVM_INFERRED_HOST_TRIPLE}" CACHE STRING "Host on which LLVM binaries will run") +message(STATUS "LLVM host triple: ${LLVM_HOST_TRIPLE}") # Determine the native architecture. string(TOLOWER "${LLVM_TARGET_ARCH}" LLVM_NATIVE_ARCH) diff --git a/llvm/cmake/modules/SetTargetTriple.cmake b/llvm/cmake/modules/SetTargetTriple.cmake deleted file mode 100644 index ed0a53ca3ec9..000000000000 --- a/llvm/cmake/modules/SetTargetTriple.cmake +++ /dev/null @@ -1,13 +0,0 @@ -macro(set_llvm_target_triple) - set(LLVM_DEFAULT_TARGET_TRIPLE "${LLVM_DEFAULT_TARGET_TRIPLE_default}" CACHE STRING - "Default target for which LLVM will generate code." ) - if (TARGET_TRIPLE) - message(WARNING "TARGET_TRIPLE is deprecated and will be removed in a future release. " - "Please use LLVM_DEFAULT_TARGET_TRIPLE instead.") - set(LLVM_TARGET_TRIPLE "${TARGET_TRIPLE}") - else() - set(LLVM_TARGET_TRIPLE "${LLVM_DEFAULT_TARGET_TRIPLE}") - endif() - message(STATUS "LLVM host triple: ${LLVM_HOST_TRIPLE}") - message(STATUS "LLVM default target triple: ${LLVM_DEFAULT_TARGET_TRIPLE}") -endmacro() diff --git a/runtimes/CMakeLists.txt b/runtimes/CMakeLists.txt index 599529852688..58af4c8b131b 100644 --- a/runtimes/CMakeLists.txt +++ b/runtimes/CMakeLists.txt @@ -160,8 +160,15 @@ find_package(Python3 REQUIRED COMPONENTS Interpreter) # Host triple is used by tests to check if they are running natively. include(GetHostTriple) get_host_triple(LLVM_HOST_TRIPLE) +message(STATUS "LLVM host triple: ${LLVM_HOST_TRIPLE}") + +# TODO: We shouldn't be using LLVM_DEFAULT_TARGET_TRIPLE for runtimes since we +# aren't generating code, LLVM_TARGET_TRIPLE is a better fit. set(LLVM_DEFAULT_TARGET_TRIPLE "${LLVM_HOST_TRIPLE}" CACHE STRING - "Default target for which the runtimes will be built.") + "Default target for which the runtimes will be built.") +message(STATUS "LLVM default target triple: ${LLVM_DEFAULT_TARGET_TRIPLE}") + +set(LLVM_TARGET_TRIPLE "${LLVM_DEFAULT_TARGET_TRIPLE}") option(LLVM_INCLUDE_TESTS "Generate build targets for the runtimes unit tests." ON) option(LLVM_INCLUDE_DOCS "Generate build targets for the runtimes documentation." ON) @@ -175,9 +182,6 @@ endif() # This can be used to detect whether we're in the runtimes build. set(LLVM_RUNTIMES_BUILD ON) -include(SetTargetTriple) -set_llvm_target_triple() - foreach(entry ${runtimes}) get_filename_component(projName ${entry} NAME)