On Tue, Sep 15, 2020 at 12:06 AM Segher Boessenkool <seg...@kernel.crashing.org> wrote: > > 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?
Just delete_unreachable_blocks () would have worked as well? Anyway, OK. Thanks, Richard. > > 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 >