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

--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-11 branch has been updated by Jakub Jelinek
<ja...@gcc.gnu.org>:

https://gcc.gnu.org/g:7f8eea0b16494554d623113c8138879b3f31d67a

commit r11-8299-g7f8eea0b16494554d623113c8138879b3f31d67a
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Tue Apr 27 15:26:24 2021 +0200

    cfgcleanup: Fix -fcompare-debug issue in outgoing_edges_match [PR100254]

    The following testcase fails with -fcompare-debug.  The problem is that
    outgoing_edges_match behaves differently between -g0 and -g, if
    some load/store with REG_EH_REGION is followed by DEBUG_INSNs, the
    REG_EH_REGION check is not done, while when there are no DEBUG_INSNs, it is
    done.

    We already compute last1 and last2 as BB_END (bb{1,2}) with skipped debug
    insns and notes, so this patch just uses those.

    2021-04-27  Jakub Jelinek  <ja...@redhat.com>

            PR rtl-optimization/100254
            * cfgcleanup.c (outgoing_edges_match): Check REG_EH_REGION on
            last1 and last2 insns rather than BB_END (bb1) and BB_END (bb2)
insns.

            * g++.dg/opt/pr100254.C: New test.

    (cherry picked from commit e600df51a15b2ec7a72731921a2464ffe59cf5ab)

Reply via email to