From: Vitaly Buka Date: Thu, 21 Nov 2019 02:08:14 +0000 (-0800) Subject: Disable -ftrivial-auto-var-init= for hot code X-Git-Tag: v1.8.2~18 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6a3ba2118c8d463fcf8efb9f0190e2f9289e3b65;p=libvpx Disable -ftrivial-auto-var-init= for hot code Improves encode_time by 10% on FullStackTest.VP9KSVC_3SL_High and other tests when -ftrivial-auto-var-init= is used. vp9_pick_inter_mode can be called recursevely so multiple pred_buf is neede. So alternative to attribute should be list of bufferes in ThreadData or TileData. Bug: 1020220, 977230 Change-Id: I939a468f88c2b5dd2ec235de7564b92bfaa356f5 --- diff --git a/vp9/encoder/vp9_pickmode.c b/vp9/encoder/vp9_pickmode.c index 7f96ea204..9b2e48505 100644 --- a/vp9/encoder/vp9_pickmode.c +++ b/vp9/encoder/vp9_pickmode.c @@ -1719,9 +1719,9 @@ void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x, TileDataEnc *tile_data, // process. // tmp[3] points to dst buffer, and the other 3 point to allocated buffers. PRED_BUFFER tmp[4]; - DECLARE_ALIGNED(16, uint8_t, pred_buf[3 * 64 * 64]); + DECLARE_ALIGNED(16, uint8_t, pred_buf[3 * 64 * 64] VPX_UNINITIALIZED); #if CONFIG_VP9_HIGHBITDEPTH - DECLARE_ALIGNED(16, uint16_t, pred_buf_16[3 * 64 * 64]); + DECLARE_ALIGNED(16, uint16_t, pred_buf_16[3 * 64 * 64] VPX_UNINITIALIZED); #endif struct buf_2d orig_dst = pd->dst; PRED_BUFFER *this_mode_pred = NULL;