https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69740
Jeffrey A. Law <law at redhat dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |law at redhat dot com --- Comment #4 from Jeffrey A. Law <law at redhat dot com> --- By the definition of BB_IRREDUCIBLE_LOOP, e2->dest->flags should not be marked as irreducible. BB_IRREDUCIBLE_LOOP is set for blocks that are actually in the irreducible loop. In this case e2->dest refers to BB3, which is outside the irreducible loop. One could argue that we need a similar test applied to the outgoing edges of blocks that get marked as unreachable. ie, if we have an unreachable block with an outgoing edge to an irreducible loop, then set LOOPS_NEED_FIXUP.