This revision was automatically updated to reflect the committed changes. Closed by commit rGe67f849001bb: [CMake] Replace clang binary if using clang-bolt target (authored by Amir).
Changed prior to commit: https://reviews.llvm.org/D139454?vs=492638&id=493025#toc Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D139454/new/ https://reviews.llvm.org/D139454 Files: clang/CMakeLists.txt clang/cmake/caches/BOLT-PGO.cmake llvm/docs/AdvancedBuilds.rst Index: llvm/docs/AdvancedBuilds.rst =================================================================== --- llvm/docs/AdvancedBuilds.rst +++ llvm/docs/AdvancedBuilds.rst @@ -224,7 +224,7 @@ .. code-block:: console - $ ninja clang++-bolt + $ ninja clang-bolt If you're seeing errors in the build process, try building with a recent version of Clang/LLVM by setting the CMAKE_C_COMPILER and @@ -243,12 +243,11 @@ -DBOOTSTRAP_BOOTSTRAP_LLVM_ENABLE_LLD=ON \ -DPGO_INSTRUMENT_LTO=Thin -Then, to build the final optimized binary, build the stage2-clang++-bolt -target: +Then, to build the final optimized binary, build the stage2-clang-bolt target: .. code-block:: console - $ ninja stage2-clang++-bolt + $ ninja stage2-clang-bolt 3-Stage Non-Determinism ======================= Index: clang/cmake/caches/BOLT-PGO.cmake =================================================================== --- clang/cmake/caches/BOLT-PGO.cmake +++ clang/cmake/caches/BOLT-PGO.cmake @@ -2,11 +2,9 @@ set(CLANG_BOOTSTRAP_TARGETS stage2-clang-bolt - stage2-clang++-bolt CACHE STRING "") set(BOOTSTRAP_CLANG_BOOTSTRAP_TARGETS clang-bolt - clang++-bolt CACHE STRING "") set(PGO_BUILD_CONFIGURATION ${CMAKE_CURRENT_LIST_DIR}/BOLT.cmake CACHE STRING "") Index: clang/CMakeLists.txt =================================================================== --- clang/CMakeLists.txt +++ clang/CMakeLists.txt @@ -856,8 +856,6 @@ set(CLANGXX_PATH ${CLANG_PATH}++) set(CLANG_INSTRUMENTED ${CLANG_PATH}-bolt.inst) set(CLANGXX_INSTRUMENTED ${CLANGXX_PATH}-bolt.inst) - set(CLANG_OPTIMIZED ${CLANG_PATH}-bolt) - set(CLANGXX_OPTIMIZED ${CLANGXX_PATH}-bolt) # Instrument clang with BOLT add_custom_target(clang-instrumented @@ -935,6 +933,7 @@ ) # Optimize original (pre-bolt) Clang using the collected profile + set(CLANG_OPTIMIZED ${CMAKE_CURRENT_BINARY_DIR}/clang.bolt) add_custom_target(clang-bolt DEPENDS ${CLANG_OPTIMIZED} ) @@ -945,22 +944,10 @@ -data ${CMAKE_CURRENT_BINARY_DIR}/prof.fdata -reorder-blocks=ext-tsp -reorder-functions=hfsort+ -split-functions -split-all-cold -split-eh -dyno-stats -icf=1 -use-gnu-stack + COMMAND ${CMAKE_COMMAND} -E rename ${CLANG_OPTIMIZED} $<TARGET_FILE:clang> COMMENT "Optimizing Clang with BOLT" VERBATIM ) - - # Make a symlink from clang-bolt to clang++-bolt - add_custom_target(clang++-bolt - DEPENDS ${CLANGXX_OPTIMIZED} - ) - add_custom_command(OUTPUT ${CLANGXX_OPTIMIZED} - DEPENDS clang-bolt - COMMAND ${CMAKE_COMMAND} -E create_symlink - ${CLANG_OPTIMIZED} - ${CLANGXX_OPTIMIZED} - COMMENT "Creating symlink from BOLT optimized clang to clang++" - VERBATIM - ) endif() if (LLVM_ADD_NATIVE_VISUALIZERS_TO_SOLUTION)
Index: llvm/docs/AdvancedBuilds.rst =================================================================== --- llvm/docs/AdvancedBuilds.rst +++ llvm/docs/AdvancedBuilds.rst @@ -224,7 +224,7 @@ .. code-block:: console - $ ninja clang++-bolt + $ ninja clang-bolt If you're seeing errors in the build process, try building with a recent version of Clang/LLVM by setting the CMAKE_C_COMPILER and @@ -243,12 +243,11 @@ -DBOOTSTRAP_BOOTSTRAP_LLVM_ENABLE_LLD=ON \ -DPGO_INSTRUMENT_LTO=Thin -Then, to build the final optimized binary, build the stage2-clang++-bolt -target: +Then, to build the final optimized binary, build the stage2-clang-bolt target: .. code-block:: console - $ ninja stage2-clang++-bolt + $ ninja stage2-clang-bolt 3-Stage Non-Determinism ======================= Index: clang/cmake/caches/BOLT-PGO.cmake =================================================================== --- clang/cmake/caches/BOLT-PGO.cmake +++ clang/cmake/caches/BOLT-PGO.cmake @@ -2,11 +2,9 @@ set(CLANG_BOOTSTRAP_TARGETS stage2-clang-bolt - stage2-clang++-bolt CACHE STRING "") set(BOOTSTRAP_CLANG_BOOTSTRAP_TARGETS clang-bolt - clang++-bolt CACHE STRING "") set(PGO_BUILD_CONFIGURATION ${CMAKE_CURRENT_LIST_DIR}/BOLT.cmake CACHE STRING "") Index: clang/CMakeLists.txt =================================================================== --- clang/CMakeLists.txt +++ clang/CMakeLists.txt @@ -856,8 +856,6 @@ set(CLANGXX_PATH ${CLANG_PATH}++) set(CLANG_INSTRUMENTED ${CLANG_PATH}-bolt.inst) set(CLANGXX_INSTRUMENTED ${CLANGXX_PATH}-bolt.inst) - set(CLANG_OPTIMIZED ${CLANG_PATH}-bolt) - set(CLANGXX_OPTIMIZED ${CLANGXX_PATH}-bolt) # Instrument clang with BOLT add_custom_target(clang-instrumented @@ -935,6 +933,7 @@ ) # Optimize original (pre-bolt) Clang using the collected profile + set(CLANG_OPTIMIZED ${CMAKE_CURRENT_BINARY_DIR}/clang.bolt) add_custom_target(clang-bolt DEPENDS ${CLANG_OPTIMIZED} ) @@ -945,22 +944,10 @@ -data ${CMAKE_CURRENT_BINARY_DIR}/prof.fdata -reorder-blocks=ext-tsp -reorder-functions=hfsort+ -split-functions -split-all-cold -split-eh -dyno-stats -icf=1 -use-gnu-stack + COMMAND ${CMAKE_COMMAND} -E rename ${CLANG_OPTIMIZED} $<TARGET_FILE:clang> COMMENT "Optimizing Clang with BOLT" VERBATIM ) - - # Make a symlink from clang-bolt to clang++-bolt - add_custom_target(clang++-bolt - DEPENDS ${CLANGXX_OPTIMIZED} - ) - add_custom_command(OUTPUT ${CLANGXX_OPTIMIZED} - DEPENDS clang-bolt - COMMAND ${CMAKE_COMMAND} -E create_symlink - ${CLANG_OPTIMIZED} - ${CLANGXX_OPTIMIZED} - COMMENT "Creating symlink from BOLT optimized clang to clang++" - VERBATIM - ) endif() if (LLVM_ADD_NATIVE_VISUALIZERS_TO_SOLUTION)
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits