[PATCH] D43156: Allow disabling PDB generation in Release build

Loo Rong Jie via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 9 23:46:30 PST 2018


rongjiecomputer created this revision.
rongjiecomputer added reviewers: rnk, takuto.ikuta.
Herald added subscribers: llvm-commits, mgorny.

https://reviews.llvm.org/D42632 increases my CI build time from "completed in 53 minutes" to "only finished building [1492 / 1603] (93%) in 1 hour".

Drive-by-fix: add `/OPT:REF` and `/OPT:ICF` after `/DEBUG`.


Repository:
  rL LLVM

https://reviews.llvm.org/D43156

Files:
  cmake/modules/HandleLLVMOptions.cmake


Index: cmake/modules/HandleLLVMOptions.cmake
===================================================================
--- cmake/modules/HandleLLVMOptions.cmake
+++ cmake/modules/HandleLLVMOptions.cmake
@@ -354,9 +354,10 @@
   append("/Zc:inline" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
 
   # Generate PDB even in release for profiling.
-  if (uppercase_CMAKE_BUILD_TYPE STREQUAL "RELEASE")
+  option(LLVM_ENABLE_GEN_PDB ON)
+  if (uppercase_CMAKE_BUILD_TYPE STREQUAL "RELEASE" AND LLVM_ENABLE_GEN_PDB)
     append("/Zi" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
-    append("/DEBUG" CMAKE_EXE_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS)
+    append("/DEBUG /OPT:REF /OPT:ICF" CMAKE_EXE_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS)
   endif (uppercase_CMAKE_BUILD_TYPE STREQUAL "RELEASE")
 
   # /Zc:strictStrings is incompatible with VS12's (Visual Studio 2013's)


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D43156.133742.patch
Type: text/x-patch
Size: 883 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180210/d95c0e7c/attachment.bin>


More information about the llvm-commits mailing list