https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71595
--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> --- diff --git a/gcc/tree-ssa-loop-ivcanon.c b/gcc/tree-ssa-loop-ivcanon.c index beb65b0..4af39fa 100644 --- a/gcc/tree-ssa-loop-ivcanon.c +++ b/gcc/tree-ssa-loop-ivcanon.c @@ -647,7 +647,7 @@ unloop_loops (bitmap loop_closed_ssa_invalidated, latch_edge->flags |= flags; latch_edge->goto_locus = locus; - latch_edge->dest->loop_father = current_loops->tree_root; + add_bb_to_loop (latch_edge->dest, current_loops->tree_root); latch_edge->dest->count = 0; latch_edge->dest->frequency = 0; set_immediate_dominator (CDI_DOMINATORS, latch_edge->dest, latch_edge->src); fixes that verification issue (but not the loop-closed SSA issue). It looks like remove_path doesn't properly update loop_closed_ssa_invalidated.