Skip to content

Commit 7f612f5

Browse files
committed
Streamline CMake args
1 parent 4f54ba9 commit 7f612f5

File tree

1 file changed

+16
-12
lines changed

1 file changed

+16
-12
lines changed

driver.sh

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,13 @@ echo $TMPDIR
1717

1818
git clone --no-local "$LLVM_SRC"
1919

20+
LL="llvm-project/llvm"
21+
LCCC="llvm-project/clang/cmake/caches/"
22+
2023
# Cmake configuration for benchmarking
21-
CMAKE_ARGS="-S llvm-project/llvm -GNinja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS=clang -DLLVM_TARGETS_TO_BUILD=Native"
24+
CMAKE_ARGS="-S ${LL} -GNinja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS=clang -DLLVM_TARGETS_TO_BUILD=Native"
2225
# Build different versions of Clang: baseline, +LTO, +PGO, +BOLT
23-
COMMON_CMAKE_ARGS="-S llvm-project/llvm -GNinja -DCMAKE_BUILD_TYPE=Release
26+
COMMON_CMAKE_ARGS="-S ${LL} -GNinja -DCMAKE_BUILD_TYPE=Release
2427
-DLLVM_ENABLE_PROJECTS=bolt;clang;lld -DLLVM_TARGETS_TO_BUILD=Native
2528
-DBOOTSTRAP_LLVM_ENABLE_LLD=ON -DBOOTSTRAP_BOOTSTRAP_LLVM_ENABLE_LLD=ON
2629
-DLLVM_CCACHE_BUILD=ON"
@@ -29,22 +32,23 @@ BASELINE_ARGS="$COMMON_CMAKE_ARGS -DCLANG_ENABLE_BOOTSTRAP=On
2932
-DCLANG_BOOTSTRAP_TARGETS=clang"
3033
# ThinLTO: Two-stage + LTO Clang build
3134
LTO_ARGS="$BASELINE_ARGS -DBOOTSTRAP_LLVM_ENABLE_LTO=Thin"
32-
# Instrumentation PGO: Two-stage + PGO build
33-
PGO_ARGS="$BASELINE_ARGS -DBOOTSTRAP_CLANG_BOOTSTRAP_TARGETS=clang
34-
-DCLANG_BOOTSTRAP_TARGETS=stage2-clang
35-
-C llvm-project/clang/cmake/caches/PGO.cmake"
35+
# Base PGO flags
36+
BASE_PGO_ARGS="$BASELINE_ARGS -DBOOTSTRAP_CLANG_BOOTSTRAP_TARGETS=clang
37+
-DCLANG_BOOTSTRAP_TARGETS=stage2-clang"
38+
# Instrumentation PGO: Two-stage + PGO build, trained on hello-world
39+
PGO_ARGS="${BASE_PGO_ARGS} -C ${LCCC}PGO.cmake"
40+
# PGO with ThinLTO flag
41+
BASE_LTO_PGO_ARGS="-DPGO_INSTRUMENT_LTO=Thin"
3642
# LTO+PGO: Two-stage + LTO + PGO
37-
LTO_PGO_ARGS="-DPGO_INSTRUMENT_LTO=Thin $PGO_ARGS"
43+
LTO_PGO_ARGS="$BASE_LTO_PGO_ARGS $PGO_ARGS"
3844

39-
BOLT_CMAKE="llvm-project/clang/cmake/caches/BOLT.cmake"
40-
BOLT_PGO_CMAKE="llvm-project/clang/cmake/caches/BOLT-PGO.cmake"
41-
BOLT_PASSTHRU_ARGS="-DCLANG_BOOTSTRAP_CMAKE_ARGS=-C../../../../$BOLT_CMAKE
45+
BOLT_PASSTHRU_ARGS="-DCLANG_BOOTSTRAP_CMAKE_ARGS=-C../../../../${LCCC}BOLT.cmake
4246
-DCLANG_BOOTSTRAP_TARGETS=clang-bolt"
4347

4448
BOLT_BASELINE_ARGS="$BASELINE_ARGS $BOLT_PASSTHRU_ARGS"
4549
BOLT_LTO_ARGS="$LTO_ARGS $BOLT_PASSTHRU_ARGS"
46-
BOLT_PGO_ARGS="$COMMON_CMAKE_ARGS -C $BOLT_PGO_CMAKE"
47-
BOLT_LTO_PGO_ARGS="-DBOOTSTRAP_LLVM_ENABLE_LLD=ON -DPGO_INSTRUMENT_LTO=Thin $BOLT_PGO_ARGS"
50+
BOLT_PGO_ARGS="$COMMON_CMAKE_ARGS -C ${LCCC}BOLT-PGO.cmake"
51+
BOLT_LTO_PGO_ARGS="$BASE_LTO_PGO_ARGS $BOLT_PGO_ARGS"
4852

4953
build () {
5054
for cfg in BASELINE LTO PGO LTO_PGO

0 commit comments

Comments
 (0)