@@ -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,13 @@ 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 -C ${LCCC} BOLT-CSSPGO.cmake"
58
+ BOLT_LTO_CSSPGO_ARGS=" $BASE_LTO_PGO_ARGS $BOLT_CSSPGO_ARGS "
59
+
60
+ CONFIGS=( BASELINE LTO PGO LTO_PGO CSSPGO LTO_CSSPGO )
52
61
53
62
build () {
54
- for cfg in BASELINE LTO PGO LTO_PGO
63
+ for cfg in ${CONFIGS[*]}
55
64
do
56
65
bcfg=BOLT_$cfg
57
66
echo $bcfg
@@ -101,7 +110,7 @@ run () {
101
110
RUNDIR=` mktemp -d`
102
111
sudo mount -t tmpfs -o size=10g none $RUNDIR
103
112
104
- for cfg in BASELINE LTO PGO LTO_PGO
113
+ for cfg in ${CONFIGS[*]}
105
114
do
106
115
echo $1
107
116
bench $cfg $1 $RUNDIR
0 commit comments