https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91355
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- bb 10 into which it is sunk has been created by split_critical_edges, although the edge from the resx 4; bb to the landing pad is not critical, there is: /* PRE inserts statements to edges and expects that since split_critical_edges was done beforehand, committing edge insertions will not split more edges. In addition to critical edges we must split edges that have multiple successors and end by control flow statements, such as RESX. Go ahead and split them too. This matches the logic in gimple_find_edge_insert_loc. */