On 8/2/23 17:52, Andrew Pinski via Gcc-patches wrote:
This moves a few simple patterns that are done in value replacement
in phiopt over to match.pd. Just the simple ones which might show up
in other code.

This allows some optimizations to happen even without depending
on sinking from happening and in some cases where phiopt is not
invoked (cond-1.c is an example there).

OK? Bootstrapped and tested on x86_64-linux-gnu with no regressions.

gcc/ChangeLog:

        * match.pd (`a == 0 ? b : b + a`,
        `a == 0 ? b : b - a`): New patterns.

gcc/testsuite/ChangeLog:

        * gcc.dg/tree-ssa/cond-1.c: New test.
        * gcc.dg/tree-ssa/phi-opt-33.c: New test.
        * gcc.dg/tree-ssa/phi-opt-34.c: New test.
Are you going to remove the old implementation from phiopt?

Jeff

Reply via email to