[llvm] r234160 - Don't pass -O3 to the linker in debug builds.

Rafael Espindola rafael.espindola at gmail.com
Mon Apr 6 07:51:01 PDT 2015


Author: rafael
Date: Mon Apr  6 09:51:01 2015
New Revision: 234160

URL: http://llvm.org/viewvc/llvm-project?rev=234160&view=rev
Log:
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.

Modified:
    llvm/trunk/cmake/modules/AddLLVM.cmake

Modified: llvm/trunk/cmake/modules/AddLLVM.cmake
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/cmake/modules/AddLLVM.cmake?rev=234160&r1=234159&r2=234160&view=diff
==============================================================================
--- llvm/trunk/cmake/modules/AddLLVM.cmake (original)
+++ llvm/trunk/cmake/modules/AddLLVM.cmake Mon Apr  6 09:51:01 2015
@@ -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()





More information about the llvm-commits mailing list