re-introduce profiling
This commit is contained in:
parent
e5d850cfc8
commit
ef8a143b61
|
@ -24,12 +24,16 @@ ac_add_options --enable-application=browser
|
|||
ac_add_options --with-libclang-path="/usr/lib/llvm-9/lib"
|
||||
ac_add_options --with-clang-path="/usr/bin/clang-9"
|
||||
|
||||
# let's see if this works: make things backwards-compatible as much as possible
|
||||
# TODO: check if this would also work when building on something newer to have it run on
|
||||
# 16.04/xenial later on as well?
|
||||
ac_add_options --enable-stdcxx-compat
|
||||
|
||||
# This supposedly speeds up compilation (We test through dogfooding anyway)
|
||||
ac_add_options --disable-tests
|
||||
ac_add_options --disable-debug
|
||||
|
||||
# might cause issues for appimage/flatpak, so keep it unset
|
||||
# ac_add_options --prefix=/usr
|
||||
ac_add_options --prefix=/usr
|
||||
ac_add_options --enable-release
|
||||
ac_add_options --enable-hardening
|
||||
ac_add_options --enable-rust-simd
|
||||
|
@ -84,6 +88,7 @@ export CXXFLAGS+=" -g0"
|
|||
export RUSTFLAGS="-Cdebuginfo=0"
|
||||
|
||||
# from ALARM
|
||||
# See https://bugzilla.mozilla.org/show_bug.cgi?id=1430094
|
||||
ac_add_options --disable-webrtc
|
||||
|
||||
END
|
||||
|
|
|
@ -53,52 +53,52 @@ cargo install cbindgen
|
|||
rm -f mozconfig
|
||||
|
||||
# Do 3-tier PGO
|
||||
# echo "Building instrumented browser..."
|
||||
echo "Building instrumented browser..."
|
||||
|
||||
# if [[ $CARCH == 'aarch64' ]]; then
|
||||
#
|
||||
# cat >.mozconfig ${CI_PROJECT_DIR}/mozconfig - <<END
|
||||
# ac_add_options --enable-profile-generate
|
||||
# END
|
||||
#
|
||||
# else
|
||||
#
|
||||
# cat >.mozconfig ${CI_PROJECT_DIR}/mozconfig - <<END
|
||||
# # -fno-plt with cross-LTO causes obscure LLVM errors
|
||||
# # LLVM ERROR: Function Import: link error
|
||||
# # CFLAGS="${CFLAGS/-fno-plt/}"
|
||||
# # CXXFLAGS="${CXXFLAGS/-fno-plt/}"
|
||||
#
|
||||
# ac_add_options --enable-profile-generate
|
||||
# END
|
||||
if [[ $CARCH == 'aarch64' ]]; then
|
||||
|
||||
# fi
|
||||
cat >.mozconfig ${CI_PROJECT_DIR}/mozconfig - <<END
|
||||
ac_add_options --enable-profile-generate
|
||||
END
|
||||
|
||||
else
|
||||
|
||||
# -fno-plt with cross-LTO causes obscure LLVM errors
|
||||
# LLVM ERROR: Function Import: link error
|
||||
CFLAGS="${CFLAGS/-fno-plt/}"
|
||||
CXXFLAGS="${CXXFLAGS/-fno-plt/}"
|
||||
|
||||
cat >.mozconfig ${CI_PROJECT_DIR}/mozconfig - <<END
|
||||
ac_add_options --enable-profile-generate=cross
|
||||
END
|
||||
|
||||
fi
|
||||
|
||||
# Executes the actual build
|
||||
# printf "\nBuilding LibreWolf\n";
|
||||
# ./mach build;
|
||||
printf "\nBuilding LibreWolf\n";
|
||||
./mach build;
|
||||
|
||||
# echo "Profiling instrumented browser..."
|
||||
# ./mach package
|
||||
# LLVM_PROFDATA=llvm-profdata \
|
||||
# JARLOG_FILE="$PWD/jarlog" \
|
||||
# xvfb-run -s "-screen 0 1920x1080x24 -nolisten local" \
|
||||
# ./mach python build/pgo/profileserver.py
|
||||
#
|
||||
# if [[ ! -s merged.profdata ]]; then
|
||||
# echo "No profile data produced."
|
||||
# exit 1
|
||||
# fi
|
||||
#
|
||||
# if [[ ! -s jarlog ]]; then
|
||||
# echo "No jar log produced."
|
||||
# exit 1
|
||||
# fi
|
||||
#
|
||||
# echo "Removing instrumented browser..."
|
||||
# ./mach clobber
|
||||
#
|
||||
# echo "Building optimized browser..."
|
||||
echo "Profiling instrumented browser..."
|
||||
./mach package
|
||||
LLVM_PROFDATA=llvm-profdata \
|
||||
JARLOG_FILE="$PWD/jarlog" \
|
||||
xvfb-run -s "-screen 0 1920x1080x24 -nolisten local" \
|
||||
./mach python build/pgo/profileserver.py
|
||||
|
||||
if [[ ! -s merged.profdata ]]; then
|
||||
echo "No profile data produced."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ ! -s jarlog ]]; then
|
||||
echo "No jar log produced."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Removing instrumented browser..."
|
||||
./mach clobber
|
||||
|
||||
echo "Building optimized browser..."
|
||||
|
||||
if [[ $CARCH == 'aarch64' ]]; then
|
||||
|
||||
|
@ -114,6 +114,10 @@ END
|
|||
else
|
||||
|
||||
cat >.mozconfig ${CI_PROJECT_DIR}/mozconfig - <<END
|
||||
ac_add_options --enable-lto=cross
|
||||
ac_add_options --enable-profile-use=cross
|
||||
ac_add_options --with-pgo-profile-path=${PWD@Q}/merged.profdata
|
||||
ac_add_options --with-pgo-jarlog=${PWD@Q}/jarlog
|
||||
ac_add_options --enable-linker=gold
|
||||
END
|
||||
|
||||
|
|
Loading…
Reference in a new issue