https://gcc.gnu.org/bugzilla/show_bug.cgi?id=25290
--- Comment #25 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Andrew Pinski from comment #22) So an update on this > * abs_replacement: needs PROP_gimple_lswitch so we don't change if > statements early enough > ** I think majority of the abs handling is already in match.pd. abs_replacement is done and removed :). > * minmax_replacement: has some handling of comparisions which might not be > in the match.pd patterns already. needs PROP_gimple_lswitch also. > ** The handling of: > if (a <= u) > b = MAX (a, d); > x = PHI <b, u> > needs to moved too. > The minmax is recorded as PR 101024. There is some more improvements to gimple_simplify_phiopt needed for early_p as the way min/max patterns are generated in match.pd (extra casts).