@@ -41,6 +41,11 @@ PGO_ARGS="${BASE_PGO_ARGS} -C ${LCCC}PGO.cmake"
41
41
BASE_LTO_PGO_ARGS=" -DPGO_INSTRUMENT_LTO=Thin"
42
42
# LTO+PGO: Two-stage + LTO + PGO
43
43
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 "
44
49
45
50
BOLT_PASSTHRU_ARGS=" -DCLANG_BOOTSTRAP_CMAKE_ARGS=-C../../../../${LCCC} BOLT.cmake
46
51
-DCLANG_BOOTSTRAP_TARGETS=clang-bolt"
@@ -49,9 +54,15 @@ BOLT_BASELINE_ARGS="$BASELINE_ARGS $BOLT_PASSTHRU_ARGS"
49
54
BOLT_LTO_ARGS=" $LTO_ARGS $BOLT_PASSTHRU_ARGS "
50
55
BOLT_PGO_ARGS=" $COMMON_CMAKE_ARGS -C ${LCCC} BOLT-PGO.cmake"
51
56
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 )
52
63
53
64
build () {
54
- for cfg in BASELINE LTO PGO LTO_PGO
65
+ for cfg in ${CONFIGS[*]}
55
66
do
56
67
bcfg=BOLT_$cfg
57
68
echo $bcfg
@@ -101,7 +112,7 @@ run () {
101
112
RUNDIR=` mktemp -d`
102
113
sudo mount -t tmpfs -o size=10g none $RUNDIR
103
114
104
- for cfg in BASELINE LTO PGO LTO_PGO
115
+ for cfg in ${CONFIGS[*]}
105
116
do
106
117
echo $1
107
118
bench $cfg $1 $RUNDIR
0 commit comments