https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104960

--- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Richard Biener <rgue...@gcc.gnu.org>:

https://gcc.gnu.org/g:3a7ba8fd0cda387809e4902328af2473662b6a4a

commit r12-7687-g3a7ba8fd0cda387809e4902328af2473662b6a4a
Author: Richard Biener <rguent...@suse.de>
Date:   Thu Mar 17 08:10:59 2022 +0100

    tree-optimization/104960 - unsplit edges after late sinking

    Something went wrong when testing the earlier patch to move the
    late sinking to before the late phiopt for PR102008.  The following
    makes sure to unsplit edges after the late sinking since the split
    edges confuse the following phiopt leading to missed optimizations.

    I've went for a new pass parameter for this to avoid changing the
    CFG after the early sinking pass at this point.

    2022-03-17  Richard Biener  <rguent...@suse.de>

            PR tree-optimization/104960
            * passes.def: Add pass parameter to pass_sink_code, mark
            last one to unsplit edges.
            * tree-ssa-sink.cc (pass_sink_code::set_pass_param): New.
            (pass_sink_code::execute): Always execute TODO_cleanup_cfg
            when we need to unsplit edges.

            * gcc.dg/gimplefe-37.c: Adjust to allow either the true
            or false edge to have a forwarder.

Reply via email to