After the previous patch we are left with an unreachable BB. This will ICE if either we have -fschedule-fusion, or we do not have peephole2.
This fixes it. Okay for trunk? Segher 2020-09-14 Segher Boessenkool <seg...@kernel.crashing.org> PR rtl-optimization/96475 * bb-reorder.c (duplicate_computed_gotos): If we did anything, run cleanup_cfg. --- gcc/bb-reorder.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gcc/bb-reorder.c b/gcc/bb-reorder.c index 76e56b5..2ad5197 100644 --- a/gcc/bb-reorder.c +++ b/gcc/bb-reorder.c @@ -2760,6 +2760,10 @@ duplicate_computed_gotos (function *fun) if (computed_jump_p (BB_END (bb)) && can_duplicate_block_p (bb)) changed |= maybe_duplicate_computed_goto (bb, max_size); + /* Some blocks may have become unreachable. */ + if (changed) + cleanup_cfg (0); + /* Duplicating blocks will redirect edges and may cause hot blocks previously reached by both hot and cold blocks to become dominated only by cold blocks. */ -- 1.8.3.1