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

--- 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:fdbaab2dc886f78a1e75512eeee0faa17e77c862

commit r14-30-gfdbaab2dc886f78a1e75512eeee0faa17e77c862
Author: Richard Biener <rguent...@suse.de>
Date:   Tue Apr 18 11:49:48 2023 +0200

    tree-optimization/109539 - restrict PHI handling in access diagnostics

    Access diagnostics visits the SSA def-use chains to diagnose things like
    dangling pointer uses.  When that runs into PHIs it tries to prove
    all incoming pointers of which one is the currently visited use are
    related to decide whether to keep looking for the PHI def uses.
    That turns out to be overly optimistic and thus costly.  The following
    scraps the existing handling for simply requiring that we eventually
    visit all incoming pointers of the PHI during the def-use chain
    analysis and only then process uses of the PHI def.

    Note this handles backedges of natural loops optimistically, diagnosing
    the first iteration.  There's gcc.dg/Wuse-after-free-2.c containing
    a testcase requiring this.

            PR tree-optimization/109539
            * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses):
            Re-implement pointer relatedness for PHIs.

Reply via email to