From 1c7fc3e3aee6f1f71065ce516a85bdeed71d5565 Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Mon, 6 Apr 2015 14:51:01 +0000 Subject: [PATCH] Don't pass -O3 to the linker in debug builds. This takes linking clang in a debug build with gold form 19.518925697 to 16.406388685 seconds. llvm-svn: 234160 --- llvm/cmake/modules/AddLLVM.cmake | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake index 5d906bbc1be2..af51f731ceea 100644 --- a/llvm/cmake/modules/AddLLVM.cmake +++ b/llvm/cmake/modules/AddLLVM.cmake @@ -159,8 +159,10 @@ endif() function(add_link_opts target_name) # Pass -O3 to the linker. This enabled different optimizations on different - # linkers. - if(NOT (${CMAKE_SYSTEM_NAME} MATCHES "Darwin" OR WIN32)) + # linkers. Don't do it in debug builds since it slows down the linker + # in a context where the optimizations are not important. + if(NOT (${CMAKE_SYSTEM_NAME} MATCHES "Darwin" OR WIN32) AND + NOT uppercase_CMAKE_BUILD_TYPE STREQUAL "DEBUG") set_property(TARGET ${target_name} APPEND_STRING PROPERTY LINK_FLAGS " -Wl,-O3") endif()