@@ -41,6 +41,11 @@ PGO_ARGS="${BASE_PGO_ARGS} -C ${LCCC}PGO.cmake"
4141BASE_LTO_PGO_ARGS=" -DPGO_INSTRUMENT_LTO=Thin"
4242# LTO+PGO: Two-stage + LTO + PGO
4343LTO_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
4550BOLT_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"
4954BOLT_LTO_ARGS=" $LTO_ARGS $BOLT_PASSTHRU_ARGS "
5055BOLT_PGO_ARGS=" $COMMON_CMAKE_ARGS -C ${LCCC} BOLT-PGO.cmake"
5156BOLT_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
5364build () {
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