https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80293
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |missed-optimization Priority|P3 |P2 Component|c++ |tree-optimization --- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Jakub Jelinek from comment #1) > Started with r227901, the complete scalarization is not really helpful here, > and unfortunately gimple-ssa-store-merging.c only merges now adjacent > constant stores, not adjacent loads followed by adjacent stores of the > loaded values to undo the damage. > Not sure what would be easier here, if some heuristics during SRA whether > the scalarization is helpful or not, or improving gimple-ssa-store-merging.c. We have another bugreport that complains about SRA and Martin said he had patches but intended to wait for GCC 8. Improving sotre-merging is of course good anyway (the user may have written the code in the "bad" way). Note that I believe that store-merging, SRA (and bswap) are all passes that should be merged given they perform similar analyses and transforms.