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 /meson.build | |
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 'meson.build')
-rw-r--r-- | meson.build | 3 |
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')) |