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.