https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67945
--- Comment #10 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> --- (In reply to Richard Biener from comment #9) > I wonder if we should have two "phases" of simplifications, first > aggressively canonicalize and later apply the optimizations. We could > key this on a new GIMPLE state, PROP_gimple_XXX (can't figure out a good > acronym) and key patterns with it (like we have reload_completed on RTL). > The pass deciding it's time to "lower" stuff (rather than canonicalize) > would be cse_sincos (the pass doing the transform required > for the testcase). Note that some patters in that pass might be moved > to match.pd instead so we can key PROP_gimple_XXX on the forwprop pass > preceeding cse_sincos (so we can transform all stmts at once). OK, thanks for the pointer. I'm giving that a go now.