https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89280
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> --- The problem is that it might be still reachable through both normal and abnormal edges during cfg and might become unreachable only later (e.g. inlining or whatever other opt), so we need something that will be able to cope with it at any time. Even if we improve decisions from which bbs to add edges to the ABNORMAL_DISPATCHER, as we use one dispatcher for the whole function and can mix non-local gotos etc. with returns_twice functions, I think we can't avoid this problem, r8 e.g. could have a non-local goto to some other bb and so would have EDGE_ABNORMAL edge to the dispatcher.