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

--- Comment #4 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:af96500eea72c674a5686b35c66202ef2bd9688f

commit r13-3898-gaf96500eea72c674a5686b35c66202ef2bd9688f
Author: Richard Biener <rguent...@suse.de>
Date:   Fri Nov 11 10:12:28 2022 +0100

    tree-optimization/107618 - enhance copy propagation of constants

    The following enhances copy propagation of constants to also see
    through simple operations like conversions but also operations with
    otherwise constant operands.  That's required to fulfill the promise

          /* Copy propagation also copy-propagates constants, this is necessary
             to forward object-size and builtin folding results properly.  */
          NEXT_PASS (pass_copy_prop);

    and avoid false diagnostics as shown in the testcase.  We're
    using gimple_fold_stmt_to_constant_1 with not following SSA edges
    and accordingly adjust what stmts we simulate during SSA propagation.

            PR tree-optimization/107618
            * tree-ssa-copy.cc (stmt_may_generate_copy): Simulate all
            assignments with a single SSA use.
            (copy_prop_visit_assignment): Use gimple_fold_stmt_to_constant_1
            to perform simple constant folding.
            (copy_prop::visit_stmt): Visit all assignments.

            * gcc.dg/pr107618.c: New testcase.

Reply via email to