Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/videolan/dav1d.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHenrik Gramner <gramner@twoorioles.com>2022-07-06 15:43:44 +0300
committerHenrik Gramner <henrik@gramner.com>2022-07-06 16:05:47 +0300
commitbd0466350d20e2c6aab4c47668cd5486dc7a3d94 (patch)
treea49202fdff9fe3f560aa4eadde6f54f4d033ed21 /meson.build
parent820bf5156322ea6f9d1fc180ac579743347b9c5b (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 'meson.build')
-rw-r--r--meson.build3
1 files changed, 3 insertions, 0 deletions
diff --git a/meson.build b/meson.build
index 372a55d..0501ef2 100644
--- a/meson.build
+++ b/meson.build
@@ -73,6 +73,9 @@ if is_asm_enabled and get_option('b_sanitize') == 'memory'
error('asm causes false positive with memory sanitizer. Use \'-Denable_asm=false\'.')
endif
+cdata.set10('TRIM_DSP_FUNCTIONS', get_option('trim_dsp') == 'true' or
+ (get_option('trim_dsp') == 'if-release' and get_option('buildtype') == 'release'))
+
# Logging option
cdata.set10('CONFIG_LOG', get_option('logging'))