From 47415a68f279c7daa5f842ac62ba0d9541bb35da Mon Sep 17 00:00:00 2001 From: Alexandre Ganea Date: Tue, 28 May 2019 15:04:39 +0000 Subject: [PATCH] Revert r361826, as it still breaks LLDB. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@361837 91177308-0d34-0410-b5e6-96231b3b80d8 --- CMakeLists.txt | 4 ---- cmake/modules/ChooseMSVCCRT.cmake | 26 +------------------------- cmake/modules/HandleLLVMOptions.cmake | 8 -------- 3 files changed, 1 insertion(+), 37 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5862644dff1..895f9ab7189 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -435,10 +435,6 @@ option(LLVM_ENABLE_LLD "Use lld as C and C++ linker." OFF) option(LLVM_ENABLE_PEDANTIC "Compile with pedantic enabled." ON) option(LLVM_ENABLE_WERROR "Fail and stop if a warning is triggered." OFF) -if (MSVC) - option(LLVM_ENABLE_INCREMENTAL_LINK "Link incrementally. Enabling it might produce slower executables." OFF) -endif() - option(LLVM_ENABLE_DUMP "Enable dump functions even when assertions are disabled" OFF) if( NOT uppercase_CMAKE_BUILD_TYPE STREQUAL "DEBUG" ) diff --git a/cmake/modules/ChooseMSVCCRT.cmake b/cmake/modules/ChooseMSVCCRT.cmake index 50bddf83ef5..0e6e1aa5525 100644 --- a/cmake/modules/ChooseMSVCCRT.cmake +++ b/cmake/modules/ChooseMSVCCRT.cmake @@ -50,17 +50,6 @@ macro(set_flag_in_var flagsvar regex flag) set(${flagsvar} "${${flagsvar}}" CACHE STRING "${flagsvar_docs}" FORCE) endmacro(set_flag_in_var) -macro(disable_MT_if_LLDB build message) - if (LLVM_TOOL_LLDB_BUILD) - if ((NOT ${build} STREQUAL "DEBUG") AND (LLVM_USE_CRT_${build} STREQUAL "MT")) - if (LLVM_TOOL_CLANG_BUILD OR LLVM_TOOL_LLD_BUILD) - set(performance " This might impact runtime performance for Clang or LLD. Preferably build them separately.") - endif() - message(WARNING "${message}.${performance}") - set(LLVM_USE_CRT_${build} "MD") - endif() - endif() -endmacro(disable_MT_if_LLDB) macro(choose_msvc_crt MSVC_CRT) if(LLVM_USE_CRT) @@ -77,26 +66,13 @@ variables (LLVM_USE_CRT_DEBUG, etc) instead.") get_current_crt(LLVM_USE_CRT_${build} MSVC_CRT_REGEX CMAKE_CXX_FLAGS_${build}) - - # Make /MT the default in Release builds to make them faster - # and avoid the DLL function thunking. - if ((${build} STREQUAL "MINSIZEREL") OR - (${build} STREQUAL "RELEASE") OR - (${build} STREQUAL "RELWITHDEBINFO")) - set(LLVM_USE_CRT_${build} "MT") - endif() - - disable_MT_if_LLDB(${build} "Using /MD as required by LLDB") - set(LLVM_USE_CRT_${build} "${LLVM_USE_CRT_${build}}" CACHE STRING "Specify VC++ CRT to use for ${build_type} configurations." FORCE) set_property(CACHE LLVM_USE_CRT_${build} PROPERTY STRINGS ;${${MSVC_CRT}}) - else() - disable_MT_if_LLDB(${build} "Disabling /MT as required by LLDB") - endif() + endif(NOT LLVM_USE_CRT_${build}) endforeach(build_type) foreach(build_type ${CMAKE_CONFIGURATION_TYPES} ${CMAKE_BUILD_TYPE}) diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake index 3154c1487fa..cb9a01e1d39 100644 --- a/cmake/modules/HandleLLVMOptions.cmake +++ b/cmake/modules/HandleLLVMOptions.cmake @@ -418,14 +418,6 @@ if( MSVC ) # "Enforce type conversion rules". append("/Zc:rvalueCast" CMAKE_CXX_FLAGS) - if (CMAKE_CXX_COMPILER_ID MATCHES "MSVC" AND NOT LLVM_ENABLE_INCREMENTAL_LINK) - foreach(CONFIG RELEASE RELWITHDEBINFO MINSIZEREL) - foreach(FLAG EXE MODULE SHARED STATIC) - string(REGEX REPLACE "[-/](INCREMENTAL:YES|INCREMENTAL:NO|INCREMENTAL)" "/INCREMENTAL:NO" CMAKE_${FLAG}_LINKER_FLAGS_${CONFIG} "${CMAKE_${FLAG}_LINKER_FLAGS_${CONFIG}}") - endforeach() - endforeach() - endif() - if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND NOT LLVM_ENABLE_LTO) # clang-cl and cl by default produce non-deterministic binaries because # link.exe /incremental requires a timestamp in the .obj file. clang-cl -- 2.50.1