diff --git a/driver.sh b/driver.sh index 6a241d6..1c22e0c 100755 --- a/driver.sh +++ b/driver.sh @@ -41,6 +41,11 @@ PGO_ARGS="${BASE_PGO_ARGS} -C ${LCCC}PGO.cmake" BASE_LTO_PGO_ARGS="-DPGO_INSTRUMENT_LTO=Thin" # LTO+PGO: Two-stage + LTO + PGO LTO_PGO_ARGS="$BASE_LTO_PGO_ARGS $PGO_ARGS" +# CSSPGO: Two-stage + CSSPGO build, trained on LLVM +CSSPGO_ARGS="-DBOOTSTRAP_BOOTSTRAP_CLANG_PGO_TRAINING_DATA_SOURCE_DIR=${LL} + ${BASE_PGO_ARGS} -C ${LCCC}CSSPGO.cmake" +# LTO+CSSPGO +LTO_CSSPGO_ARGS="$BASE_LTO_PGO_ARGS $CSSPGO_ARGS" BOLT_PASSTHRU_ARGS="-DCLANG_BOOTSTRAP_CMAKE_ARGS=-C../../../../${LCCC}BOLT.cmake -DCLANG_BOOTSTRAP_TARGETS=clang-bolt" @@ -49,9 +54,15 @@ BOLT_BASELINE_ARGS="$BASELINE_ARGS $BOLT_PASSTHRU_ARGS" BOLT_LTO_ARGS="$LTO_ARGS $BOLT_PASSTHRU_ARGS" BOLT_PGO_ARGS="$COMMON_CMAKE_ARGS -C ${LCCC}BOLT-PGO.cmake" BOLT_LTO_PGO_ARGS="$BASE_LTO_PGO_ARGS $BOLT_PGO_ARGS" +BOLT_CSSPGO_ARGS="$COMMON_CMAKE_ARGS + -DBOOTSTRAP_CLANG_PGO_TRAINING_DATA_SOURCE_DIR=$PWD/${LL} + -C ${LCCC}BOLT-CSSPGO.cmake" +BOLT_LTO_CSSPGO_ARGS="$BASE_LTO_PGO_ARGS $BOLT_CSSPGO_ARGS" + +CONFIGS=( BASELINE LTO PGO LTO_PGO CSSPGO LTO_CSSPGO ) build () { - for cfg in BASELINE LTO PGO LTO_PGO + for cfg in ${CONFIGS[*]} do bcfg=BOLT_$cfg echo $bcfg @@ -101,7 +112,7 @@ run () { RUNDIR=`mktemp -d` sudo mount -t tmpfs -o size=10g none $RUNDIR - for cfg in BASELINE LTO PGO LTO_PGO + for cfg in ${CONFIGS[*]} do echo $1 bench $cfg $1 $RUNDIR