Skip to content

Commit 9f2b46f

Browse files
committed
Add CSSPGO configuration
Can be used with llvm/llvm-project#79942
1 parent 7f612f5 commit 9f2b46f

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

driver.sh

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,11 @@ PGO_ARGS="${BASE_PGO_ARGS} -C ${LCCC}PGO.cmake"
4141
BASE_LTO_PGO_ARGS="-DPGO_INSTRUMENT_LTO=Thin"
4242
# LTO+PGO: Two-stage + LTO + PGO
4343
LTO_PGO_ARGS="$BASE_LTO_PGO_ARGS $PGO_ARGS"
44+
# CSSPGO: Two-stage + CSSPGO build, trained on LLVM
45+
CSSPGO_ARGS="-DBOOTSTRAP_BOOTSTRAP_CLANG_PGO_TRAINING_DATA_SOURCE_DIR=${LL}
46+
${BASE_PGO_ARGS} -C ${LCCC}CSSPGO.cmake"
47+
# LTO+CSSPGO
48+
LTO_CSSPGO_ARGS="$BASE_LTO_PGO_ARGS $CSSPGO_ARGS"
4449

4550
BOLT_PASSTHRU_ARGS="-DCLANG_BOOTSTRAP_CMAKE_ARGS=-C../../../../${LCCC}BOLT.cmake
4651
-DCLANG_BOOTSTRAP_TARGETS=clang-bolt"
@@ -49,9 +54,15 @@ BOLT_BASELINE_ARGS="$BASELINE_ARGS $BOLT_PASSTHRU_ARGS"
4954
BOLT_LTO_ARGS="$LTO_ARGS $BOLT_PASSTHRU_ARGS"
5055
BOLT_PGO_ARGS="$COMMON_CMAKE_ARGS -C ${LCCC}BOLT-PGO.cmake"
5156
BOLT_LTO_PGO_ARGS="$BASE_LTO_PGO_ARGS $BOLT_PGO_ARGS"
57+
BOLT_CSSPGO_ARGS="$COMMON_CMAKE_ARGS
58+
-DBOOTSTRAP_CLANG_PGO_TRAINING_DATA_SOURCE_DIR=$PWD/${LL}
59+
-C ${LCCC}BOLT-CSSPGO.cmake"
60+
BOLT_LTO_CSSPGO_ARGS="$BASE_LTO_PGO_ARGS $BOLT_CSSPGO_ARGS"
61+
62+
CONFIGS=( BASELINE LTO PGO LTO_PGO CSSPGO LTO_CSSPGO )
5263

5364
build () {
54-
for cfg in BASELINE LTO PGO LTO_PGO
65+
for cfg in ${CONFIGS[*]}
5566
do
5667
bcfg=BOLT_$cfg
5768
echo $bcfg
@@ -101,7 +112,7 @@ run () {
101112
RUNDIR=`mktemp -d`
102113
sudo mount -t tmpfs -o size=10g none $RUNDIR
103114

104-
for cfg in BASELINE LTO PGO LTO_PGO
115+
for cfg in ${CONFIGS[*]}
105116
do
106117
echo $1
107118
bench $cfg $1 $RUNDIR

0 commit comments

Comments
 (0)