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

--- Comment #5 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:abf915193fbf725bb359e6936e10dcc282eb94cc

commit r14-3460-gabf915193fbf725bb359e6936e10dcc282eb94cc
Author: Richard Biener <rguent...@suse.de>
Date:   Thu Aug 24 09:32:54 2023 +0200

    tree-optimization/111123 - indirect clobbers thrown away too early

    The testcase in the PR shows that late uninit diagnostic relies
    on indirect clobbers in CTORs but we throw those away in the fab
    pass which is too early.  The reasoning was they were supposed
    to keep SSA names live but that's no longer the case since DCE
    doesn't treat them as keeping SSA uses live.

    The following instead removes them before out-of-SSA coalescing
    which is the thing that's still affected by them.

            PR tree-optimization/111123
            * tree-ssa-ccp.cc (pass_fold_builtins::execute): Do not
            remove indirect clobbers here ...
            * tree-outof-ssa.cc (rewrite_out_of_ssa): ... but here.
            (remove_indirect_clobbers): New function.

            * g++.dg/warn/Wuninitialized-pr111123-1.C: New testcase.

Reply via email to