From: Segher Boessenkool Date: Mon, 14 Sep 2020 18:19:47 +0000 (+0000) Subject: bb-reorder: Fix for ICEs caused by 69ca5f3a9882 X-Git-Tag: basepoints/gcc-12~5052 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bab581381681813ab3ccd007195777c1f816e656;p=thirdparty%2Fgcc.git 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. --- diff --git a/gcc/bb-reorder.c b/gcc/bb-reorder.c index 76e56b55a622..2ad5197a9e71 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. */