diff --git a/clang/CMakeLists.txt b/clang/CMakeLists.txt --- a/clang/CMakeLists.txt +++ b/clang/CMakeLists.txt @@ -868,7 +868,7 @@ endforeach() endif() -if (CLANG_BOLT_INSTRUMENT) +if (CLANG_BOLT_INSTRUMENT AND NOT LLVM_BUILD_INSTRUMENTED) set(CLANG_PATH ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang) set(CLANGXX_PATH ${CLANG_PATH}++) set(CLANG_INSTRUMENTED ${CLANG_PATH}-bolt.inst) diff --git a/clang/cmake/caches/BOLT-PGO.cmake b/clang/cmake/caches/BOLT-PGO.cmake new file mode 100644 --- /dev/null +++ b/clang/cmake/caches/BOLT-PGO.cmake @@ -0,0 +1,11 @@ +set(LLVM_ENABLE_PROJECTS "bolt;clang;lld" CACHE STRING "") + +set(CLANG_BOOTSTRAP_TARGETS + stage2-clang++-bolt + CACHE STRING "") +set(BOOTSTRAP_CLANG_BOOTSTRAP_TARGETS + clang++-bolt + CACHE STRING "") + +set(PGO_BUILD_CONFIGURATION ${CMAKE_CURRENT_LIST_DIR}/BOLT.cmake CACHE STRING "") +include(${CMAKE_CURRENT_LIST_DIR}/PGO.cmake)