https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61912
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |missed-optimization
Status|UNCONFIRMED |NEW
Last reconfirmed| |2014-07-28
Ever confirmed|0 |1
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Note that there is a heuristic on whether emitting a clear is profitable
already
during lowering of the init in gimplify_init_constructor. It doesn't apply a
very simple optimization - start zeroing only after the leading block of
fully-initialized vars (and only up-to the last block of fully-initialized
vars).
GIMPLE DSE cannot eliminate the store because it isn't dead - it would need to
split it up for that, something which it doesn't implement.
I think adjusting the heuristic for the initial code-generation is more
appropriate here.