[PATCH] D43156: Allow disabling PDB generation in Release build
Reid Kleckner via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Feb 15 13:29:06 PST 2018
This revision was automatically updated to reflect the committed changes.
Closed by commit rL325296: Don't make PDBs by default in Release mode (authored by rnk, committed by ).
Changed prior to commit:
https://reviews.llvm.org/D43156?vs=133775&id=134500#toc
Repository:
rL LLVM
https://reviews.llvm.org/D43156
Files:
llvm/trunk/cmake/modules/HandleLLVMOptions.cmake
Index: llvm/trunk/cmake/modules/HandleLLVMOptions.cmake
===================================================================
--- llvm/trunk/cmake/modules/HandleLLVMOptions.cmake
+++ llvm/trunk/cmake/modules/HandleLLVMOptions.cmake
@@ -353,11 +353,18 @@
append("/Zc:inline" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
- # Generate PDB even in release for profiling.
- if (uppercase_CMAKE_BUILD_TYPE STREQUAL "RELEASE")
+ # Allow users to request PDBs in release mode. CMake offeres the
+ # RelWithDebInfo configuration, but it uses different optimization settings
+ # (/Ob1 vs /Ob2 or -O2 vs -O3). LLVM provides this flag so that users can get
+ # PDBs without changing codegen.
+ option(LLVM_ENABLE_PDB OFF)
+ if (LLVM_ENABLE_PDB AND uppercase_CMAKE_BUILD_TYPE STREQUAL "RELEASE")
append("/Zi" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
- append("/DEBUG" CMAKE_EXE_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS)
- endif (uppercase_CMAKE_BUILD_TYPE STREQUAL "RELEASE")
+ # /DEBUG disables linker GC and ICF, but we want those in Release mode.
+ append("/DEBUG /OPT:REF /OPT:ICF"
+ CMAKE_EXE_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS
+ CMAKE_SHARED_LINKER_FLAGS)
+ endif()
# /Zc:strictStrings is incompatible with VS12's (Visual Studio 2013's)
# debug mode headers. Instead of only enabling them in VS2013's debug mode,
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D43156.134500.patch
Type: text/x-patch
Size: 1365 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180215/dc5a0549/attachment.bin>
More information about the llvm-commits
mailing list