Skip to content

Commit 42129de

Browse files
committed
[Clang][CMake] Set up distribution target for Clang-BOLT
Provide a way to install usable BOLT-optimized Clang (clang + resource headers) using `ninja clang-bolt install-distribution` with BOLT.cmake cache file or `ninja stage2-clang-bolt stage2-install-distribution` with BOLT-PGO.cmake cache file. Reviewed By: phosek Differential Revision: https://reviews.llvm.org/D140565
1 parent 985f7ff commit 42129de

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

clang/cmake/caches/BOLT-PGO.cmake

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,16 @@ set(LLVM_ENABLE_PROJECTS "bolt;clang;lld" CACHE STRING "")
22

33
set(CLANG_BOOTSTRAP_TARGETS
44
stage2-clang-bolt
5+
stage2-distribution
6+
stage2-install-distribution
57
CACHE STRING "")
68
set(BOOTSTRAP_CLANG_BOOTSTRAP_TARGETS
79
clang-bolt
10+
distribution
11+
install-distribution
812
CACHE STRING "")
913

10-
set(PGO_BUILD_CONFIGURATION ${CMAKE_CURRENT_LIST_DIR}/BOLT.cmake CACHE STRING "")
14+
set(PGO_BUILD_CONFIGURATION
15+
${CMAKE_CURRENT_LIST_DIR}/BOLT.cmake
16+
CACHE STRING "")
1117
include(${CMAKE_CURRENT_LIST_DIR}/PGO.cmake)

clang/cmake/caches/BOLT.cmake

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,13 @@ set(CLANG_BOLT_INSTRUMENT_EXTRA_CMAKE_FLAGS "" CACHE STRING "")
88
set(LLVM_ENABLE_PROJECTS "bolt;clang" CACHE STRING "")
99
set(LLVM_TARGETS_TO_BUILD Native CACHE STRING "")
1010

11+
# setup toolchain
12+
set(LLVM_INSTALL_TOOLCHAIN_ONLY ON CACHE BOOL "")
13+
set(LLVM_DISTRIBUTION_COMPONENTS
14+
clang
15+
clang-resource-headers
16+
CACHE STRING "")
17+
1118
# Disable function splitting enabled by default in GCC8+
1219
if("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU")
1320
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-reorder-blocks-and-partition")

0 commit comments

Comments
 (0)