]> granicus.if.org Git - llvm/commitdiff
Don't pass -O3 to the linker in debug builds.
authorRafael Espindola <rafael.espindola@gmail.com>
Mon, 6 Apr 2015 14:51:01 +0000 (14:51 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Mon, 6 Apr 2015 14:51:01 +0000 (14:51 +0000)
This takes linking clang in a debug build with gold form 19.518925697 to
16.406388685 seconds.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@234160 91177308-0d34-0410-b5e6-96231b3b80d8

cmake/modules/AddLLVM.cmake

index 5d906bbc1be265792e15b4c0f2671a4e9654f5e7..af51f731ceea6d7b58e964235f554c989450b8b4 100644 (file)
@@ -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()