diff options
author | Henrik Gramner <gramner@twoorioles.com> | 2022-07-06 15:43:44 +0300 |
---|---|---|
committer | Henrik Gramner <henrik@gramner.com> | 2022-07-06 16:05:47 +0300 |
commit | bd0466350d20e2c6aab4c47668cd5486dc7a3d94 (patch) | |
tree | a49202fdff9fe3f560aa4eadde6f54f4d033ed21 /.gitlab-ci.yml | |
parent | 820bf5156322ea6f9d1fc180ac579743347b9c5b (diff) |
Eliminate unused C DSP functions at compile time
When compiling with asm enabled there's no point in compiling
C versions of DSP functions that have asm implementations using
instruction sets that the compiler can unconditionally use.
E.g. when compiling with -mssse3 we can remove the C version
of all functions with SSSE3 implementations.
This is accomplished using the compiler's dead code elimination
functionality.
Can be configured using the new 'trim_dsp' meson option, which
by default is enabled when compiling in release mode.
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r-- | .gitlab-ci.yml | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ce2128f..585d9f4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -117,6 +117,7 @@ build-debian: - amd64 script: - meson build --buildtype release + -Dtrim_dsp=false --werror - ninja -C build - cd build && meson test -v @@ -259,6 +260,7 @@ build-win32: --prefix "$(pwd)/build/dav1d_install" --cross-file package/crossfiles/i686-w64-mingw32.meson -Ddefault_library=both + -Dtrim_dsp=false - ninja -C build - ninja -C build install - cd build && meson test -v @@ -277,6 +279,7 @@ build-win32-unaligned-stack: --werror --cross-file package/crossfiles/i686-w64-mingw32.meson -Dstack_alignment=4 + -Dtrim_dsp=false - ninja -C build - cd build && meson test -v @@ -290,6 +293,7 @@ build-win64: --prefix "$(pwd)/build/dav1d_install" --cross-file package/crossfiles/x86_64-w64-mingw32.meson -Ddefault_library=both + -Dtrim_dsp=false - ninja -C build - ninja -C build install - cd build && meson test -v @@ -309,6 +313,7 @@ build-win-arm32: --prefix "$(pwd)/build/dav1d_install" --cross-file /opt/crossfiles/armv7-w64-mingw32.meson -Ddefault_library=both + -Dtrim_dsp=false - ninja -C build - armv7-w64-mingw32-nm -A -g build/src/libdav1d.a | grep " [ABCDGRST] " | (! grep -E -v " \.| _*dav1d_") @@ -321,6 +326,7 @@ build-win-arm64: --prefix "$(pwd)/build/dav1d_install" --cross-file /opt/crossfiles/aarch64-w64-mingw32.meson -Ddefault_library=both + -Dtrim_dsp=false - ninja -C build - ninja -C build install - aarch64-w64-mingw32-nm -A -g build/src/libdav1d.a | grep " [ABCDGRST] " | (! grep -E -v " \.| _*dav1d_") @@ -339,6 +345,7 @@ build-win-arm64: --prefix "$(pwd)/build/dav1d_install" --cross-file $CROSSFILE -Ddefault_library=both + -Dtrim_dsp=false - ninja -C build - ninja -C build install @@ -406,6 +413,7 @@ build-macos: script: - meson build --buildtype release -Ddefault_library=both + -Dtrim_dsp=false --werror - ninja -C build - cd build && meson test -v @@ -461,6 +469,7 @@ build-debian-ppc64le: extends: .debian-ppc64le-common script: - meson build --buildtype release + -Dtrim_dsp=false --werror - ninja -C build - cd build && meson test -v @@ -514,6 +523,7 @@ test-debian: -Dtestdata_tests=true -Dlogging=false -Db_coverage=true + -Dtrim_dsp=false - ninja -C build - cd build && time meson test -v - ninja coverage-html @@ -559,6 +569,7 @@ test-debian-avx512: script: - meson build --buildtype release -Dtestdata_tests=true + -Dtrim_dsp=false - ninja -C build - cd build && time meson test --suite testdata-8 --suite testdata-10 --suite testdata-12 --test-args "--cpumask avx512icl" - time meson test --suite testdata-8 --suite testdata-10 --suite testdata-12 --test-args "--threads 2 --framedelay 2 --cpumask avx512icl" @@ -577,6 +588,7 @@ test-debian-unaligned-stack: -Dtestdata_tests=true -Dlogging=false -Dstack_alignment=16 + -Dtrim_dsp=false - ninja -C build - cd build && time meson test -v @@ -674,6 +686,7 @@ test-win64: - meson build --buildtype release -Dtestdata_tests=true -Dlogging=false + -Dtrim_dsp=false --cross-file package/crossfiles/x86_64-w64-mingw32.meson - ninja -C build - cd build && time meson test -v |