From: Andrew Pinski <apin...@marvell.com> To able to move PHI-OPT's abs_replacement to match.pd, a bunch of support needed to be added to PHI-OPT. This is a set of 4 (unapproved) patches which allows us to remove abs_replacement and even does one set further and does a few extra transformations that abs_replacement did not do (just because of the moving from fold to match).
v3 to v4 Changes: * pushed the approved patches which are not dependent on unapproved ones * Change 1st patch to only duplicate in one direction and expanded comment on why it is safe and what it is needed Andrew Pinski (4): Duplicate the range information of the phi onto the new ssa_name Allow match-and-simplified phiopt to run in early phiopt Try inverted comparison for match_simplify in phiopt Port most of the A CMP 0 ? A : -A to match gcc/match.pd | 60 +++++ gcc/testsuite/gcc.dg/tree-ssa/phi-opt-15.c | 4 +- gcc/tree-ssa-phiopt.c | 291 +++++++++------------ 3 files changed, 185 insertions(+), 170 deletions(-) -- 2.27.0