Skip to content

Commit 6cf745e

Browse files
committed
CI-unixish.yml: added callgrind runs with -O3 and LTO
1 parent ea9d3cb commit 6cf745e

File tree

1 file changed

+21
-2
lines changed

1 file changed

+21
-2
lines changed

.github/workflows/CI-unixish.yml

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -159,10 +159,27 @@ jobs:
159159
tar xvf 1.5.1.tar.gz
160160
rm -f 1.5.1.tar.gz
161161
162+
# O2 - start
162163
make clean
163164
make -j$(nproc) CXXOPTS="-O2 -g3" simplecpp
164-
VALGRIND_TOOL=callgrind SIMPLECPP_PATH=simplecpp-1.5.1 ./selfcheck.sh >callgrind.log || (cat callgrind.log && false)
165-
cat callgrind.log
165+
VALGRIND_TOOL=callgrind SIMPLECPP_PATH=simplecpp-1.5.1 ./selfcheck.sh >callgrind_o2.log || (cat callgrind_o2.log && false)
166+
cat callgrind_o2.log
167+
# O2 - end
168+
169+
# O3 - start
170+
make clean
171+
make -j$(nproc) CXXOPTS="-O3 -g3" simplecpp
172+
VALGRIND_TOOL=callgrind SIMPLECPP_PATH=simplecpp-1.5.1 ./selfcheck.sh >callgrind_o3.log || (cat callgrind_o3.log && false)
173+
cat callgrind_o3.log
174+
# O3 - end
175+
176+
# O2+LTO - start
177+
make clean
178+
# TODO: we could also use -O3 but that causes a performance regression with GCC
179+
make -j$(nproc) CXXOPTS="-O2 -g3 -flto" LDOPTS="-flto" simplecpp
180+
VALGRIND_TOOL=callgrind SIMPLECPP_PATH=simplecpp-1.5.1 ./selfcheck.sh >callgrind_o2_lto.log || (cat callgrind_o2_lto.log && false)
181+
cat callgrind_o2_lto.log
182+
# O2+LTO - end
166183
167184
# PGO - start
168185
make clean
@@ -179,6 +196,8 @@ jobs:
179196
cat callgrind_pgo.log
180197
# PGO - end
181198
199+
# TODO: PGO+LTO
200+
182201
for f in callgrind.out.*;
183202
do
184203
callgrind_annotate --auto=no $f > $f.annotated.log

0 commit comments

Comments
 (0)