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

--- Comment #13 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The trunk branch has been updated by Andrew Pinski <pins...@gcc.gnu.org>:

https://gcc.gnu.org/g:6a5cb782d1486b378d70857c8efae558da0eb2cc

commit r13-5768-g6a5cb782d1486b378d70857c8efae558da0eb2cc
Author: Andrew Pinski <apin...@marvell.com>
Date:   Tue Feb 7 23:09:40 2023 +0000

    tree-optimization: [PR108684] ICE in verify_ssa due to
simple_dce_from_worklist

    In simple_dce_from_worklist, we were removing an inline-asm which had a
vdef.
    We should not be removing inline-asm which have a vdef as this code
    does not check to the store.
    This fixes that oversight. This was a latent bug exposed recently
    by both VRP and removal of stores to static starting to use
    simple_dce_from_worklist.

    Committed as approved.
    Bootstrapped and tested on x86_64-linux-gnu with no regressions.

            PR tree-optimization/108684

    gcc/ChangeLog:

            * tree-ssa-dce.cc (simple_dce_from_worklist):
            Check all ssa names and not just non-vdef ones
            before accepting the inline-asm.
            Call unlink_stmt_vdef on the statement before
            removing it.

    gcc/testsuite/ChangeLog:

            * gcc.c-torture/compile/dce-inline-asm-1.c: New test.
            * gcc.c-torture/compile/dce-inline-asm-2.c: New test.
            * gcc.dg/tree-ssa/pr108684-1.c: New test.

    co-authored-by: Andrew Macleod  <amacl...@redhat.com>

Reply via email to