https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63679
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |NEW Assignee|rguenth at gcc dot gnu.org |unassigned at gcc dot gnu.org --- Comment #21 from Richard Biener <rguenth at gcc dot gnu.org> --- I'm not tackling exactly this bug, still planning to commit the SCCVN improvement. Note that generally I believe we do lower to piecewise init way to early (see bugs about failing to re-combine those piecewise stores). In fact this lowering is exactly something I would expect SRA to perform after cost/benefit analysis. Enabling FRE to optimize things the same as if initialized piecewise should make that possible. It would also enable the possibility to simply replace references to the target aggregate with references to the constant pool entry if we can compute the target aggregate is never changed besides its initialization. Thus "real" work should probably concentrate on getting SRA to decompose 'a' (SRA currently does not handle arrays at all, besides arrays of size 1).