libwebp: strip unused C functions when optimized versions will be unconditionally used |
|||
Issue descriptionChrome Version: M63 OS: Android libwebp uses function pointers along with runtime cpu-detection to select optimized versions of speed critical functions [1]. In the case the build is targeting a particular set of optimizations already (aarch64/mfpu=neon) the C code will remain, but will never be used aside from the base initialization of the function table. Dropping the functions in this case will save a bit of size. Android (arm) would be the primary target, but the same could be done for x86_64 where we're guaranteed to have sse2. https://chromium.googlesource.com/chromium/src/+/63.0.3230.3/third_party/libwebp/src/dsp/dec.c#712
,
Dec 8 2017
The change in comment #1 was brought in with crbug.com/788275 . Further size reductions were applied in crbug.com/789665 . x86-64 is still open to the same function pointer removal for sse2.
,
Apr 3 2018
Removing Android label since this is now done on Android
,
Apr 3 2018
Marking this one as fixed. We'd need additional changes upstream for the defines to have the same effect as for NEON and there's nothing planned at the moment. |
|||
►
Sign in to add a comment |
|||
Comment 1 by jzern@chromium.org
, Dec 8 2017