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

--- Comment #11 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:9ea74d235c7e7816b996a17c61288f02ef767985

commit r14-3982-g9ea74d235c7e7816b996a17c61288f02ef767985
Author: Richard Biener <rguent...@suse.de>
Date:   Thu Sep 14 09:31:23 2023 +0200

    tree-optimization/111294 - better DCE after forwprop

    The following adds more aggressive DCE to forwprop to clean up dead
    stmts when folding a stmt leaves some operands unused.  The patch
    uses simple_dce_from_worklist for this purpose, queueing original
    operands before substitution and folding, but only if we folded the
    stmt.

    This removes one dead stmt biasing threading costs in a later pass
    but it doesn't resolve the optimization issue in the PR yet.

            PR tree-optimization/111294
            * tree-ssa-forwprop.cc (pass_forwprop::execute): Track
            operands that eventually become dead and use
simple_dce_from_worklist
            to remove their definitions if they did so.

            * gcc.dg/tree-ssa/evrp10.c: Adjust.
            * gcc.dg/tree-ssa/evrp6.c: Likewise.
            * gcc.dg/tree-ssa/forwprop-31.c: Likewise.
            * gcc.dg/tree-ssa/neg-cast-3.c: Likewise.

Reply via email to