https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81030
--- Comment #6 from Tom de Vries <vries at gcc dot gnu.org> --- There's a call to compute_outgoing_frequencies in find_many_sub_basic_blocks. But it's not reached for bb4, because STATE(bb4) == BLOCK_TO_SPLIT, and we trigger the continue here: ... else /* If nothing changed, there is no need to create new BBs. */ if (EDGE_COUNT (bb->succs) == n_succs[bb->index]) continue; compute_outgoing_frequencies (bb); } ... Commenting out the else clause gets rid of the ICE.