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

--- Comment #10 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-11 branch has been updated by Eric Botcazou
<ebotca...@gcc.gnu.org>:

https://gcc.gnu.org/g:dcb23f439f3cf5601fb8bf49889accd16f3b30a1

commit r11-8354-gdcb23f439f3cf5601fb8bf49889accd16f3b30a1
Author: Eric Botcazou <ebotca...@adacore.com>
Date:   Wed May 5 16:50:55 2021 +0200

    Fix PR rtl-optimization/100411

    This is the bootstrap failure of GCC 11 on MinGW64 configured with
--enable-
    tune=nocona.  The bottom line is that SEH does not support CFI for
epilogues
    but the x86 back-end nevertheless attaches it to instructions, so we have
to
    filter it out and this is done by detecting the end of the prologue by
means
    of the NOTE_INSN_PROLOGUE_END note.

    But the compiler manages to generate a second epilogue before this note in
    the RTL stream and this fools the aforementioned logic.  The root cause is
    cross-jumping, which inserts a jump before the end of the prologue, in fact
    just before the note; the rest (CFG cleanup, BB reordering, etc) is
downhill
    from there.

    gcc/
            PR rtl-optimization/100411
            * cfgcleanup.c (try_crossjump_to_edge): Also skip end of prologue
            and beginning of function markers.

Reply via email to