From: Alexandre Ganea Date: Wed, 19 Dec 2018 18:01:42 +0000 (+0000) Subject: Revert r349517 "[CMake] Default options for faster executables on MSVC" X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a7c670436df7eef86a6a8fc7519f0bedaeed88be;p=llvm Revert r349517 "[CMake] Default options for faster executables on MSVC" git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@349656 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 15f95d2e580..e2e35dcebdb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -370,10 +370,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 cdd7deec4c8..0e6e1aa5525 100644 --- a/cmake/modules/ChooseMSVCCRT.cmake +++ b/cmake/modules/ChooseMSVCCRT.cmake @@ -66,15 +66,6 @@ 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() - set(LLVM_USE_CRT_${build} "${LLVM_USE_CRT_${build}}" CACHE STRING "Specify VC++ CRT to use for ${build_type} configurations." diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake index e8b0e27e000..49db3088bbc 100644 --- a/cmake/modules/HandleLLVMOptions.cmake +++ b/cmake/modules/HandleLLVMOptions.cmake @@ -381,14 +381,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