ci: enable IPO/LTO only for nightly builds
1. nightly takes a long, the extra few minutes for linking don't matter 2. nightly will run faster, since where it's CPU dependent it's at least +5% perf 3. it may reveal some painful areas of common code or driver. 4. for some jobs (not enabled yet, it generates ugly errors, disable there Signed-off-by: David Heidelberg <david.heidelberg@collabora.com> Signed-off-by: David Heidelberg <david@ixit.cz> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28684>
This commit is contained in:

committed by
Marge Bot

parent
2630e3e47a
commit
afab416be4
@@ -340,7 +340,6 @@ fedora-release:
|
||||
-D glvnd=enabled
|
||||
-D platforms=x11,wayland
|
||||
EXTRA_OPTION: >
|
||||
-D b_lto=true
|
||||
-D osmesa=true
|
||||
-D selinux=true
|
||||
-D tools=drm-shim,etnaviv,freedreno,glsl,intel,nir,nouveau,lima,panfrost,imagination
|
||||
|
@@ -98,6 +98,31 @@ case $CI_JOB_NAME in
|
||||
;;
|
||||
esac
|
||||
|
||||
# LTO handling
|
||||
case $CI_PIPELINE_SOURCE in
|
||||
schedule)
|
||||
# run builds with LTO only for nightly
|
||||
if [ "$CI_JOB_NAME" == "debian-ppc64el" ]; then
|
||||
# /tmp/ccWlDCPV.s: Assembler messages:
|
||||
# /tmp/ccWlDCPV.s:15250880: Error: operand out of range (0xfffffffffdd4e688 is not between 0xfffffffffe000000 and 0x1fffffc)
|
||||
LTO=false
|
||||
# enable one by one for now
|
||||
elif [ "$CI_JOB_NAME" == "fedora-release" || "$CI_JOB_NAME" == "debian-build-testing" ]; then
|
||||
LTO=true
|
||||
else
|
||||
LTO=false
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
# run Fedora with LTO in pre-merge for now
|
||||
if [ "$CI_JOB_NAME" == "fedora-release" ]; then
|
||||
LTO=true
|
||||
else
|
||||
LTO=false
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
section_switch meson-configure "meson: configure"
|
||||
|
||||
rm -rf _build
|
||||
@@ -123,6 +148,7 @@ meson setup _build \
|
||||
-D vulkan-drivers=${VULKAN_DRIVERS:-[]} \
|
||||
-D video-codecs=all \
|
||||
-D werror=true \
|
||||
-D b_lto=${LTO} \
|
||||
${EXTRA_OPTION}
|
||||
cd _build
|
||||
meson configure
|
||||
|
Reference in New Issue
Block a user