This enables multi-stage PGO build optimized by BOLT using BOLT.cmake cache.
The issue is that -DPGO_BUILD_CONFIGURATION cache file is passed to both
stage2-instrumented and stage2-optimized builds (for them to be identical),
but in case of BOLT.cmake, it doesn't make sense to BOLT-instrument the
instrumented binary (it's not going to be optimized). Hence turn off
CLANG_BOLT_INSTRUMENT code if LLVM_BUILD_INSTRUMENTED is enabled.
The final workflow that enables multi-stage InstrPGO+ThinLTO+BOLT Clang build:
cmake <llvm-project>/llvm -GNinja -DLLVM_ENABLE_LLD=ON \ -DBOOTSTRAP_LLVM_ENABLE_LLD=ON -DBOOTSTRAP_BOOTSTRAP_LLVM_ENABLE_LLD=ON \ -DPGO_INSTRUMENT_LTO=Thin -C llvm-project/clang/cmake/caches/BOLT-PGO.cmake ninja stage2-clang++-bolt