From bab581381681813ab3ccd007195777c1f816e656 Mon Sep 17 00:00:00 2001 From: Segher Boessenkool Date: Mon, 14 Sep 2020 18:19:47 +0000 Subject: [PATCH] bb-reorder: Fix for ICEs caused by 69ca5f3a9882 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. 2020-09-15 Segher Boessenkool 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 76e56b55a62..2ad5197a9e7 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. */ -- 2.30.2