On Mon, 18 Feb 2019, Aaron Sawdey wrote: > The code in emit_case_dispatch_table() will very clearly always emit > branch/label/jumptable_data/barrier > so this does need to be handled. So, yes tablejump always looks like this, > and also yes it seems to be > ripe ground for logic bugs, we have 88308, 88347, 88423 all related to it. > > In the long term it might be nice to use a general mechanism (SCHED_GROUP_P?) > for handling the label and jump > table data that follow a case branch using jump table. > > But for now in stage 4, I think the right way to fix this is with the patch > that Segher posted earlier. > If regtest passes (x86_64 and ppc64/ppc32), ok for trunk?
How making an assert more permissive is "the right way" here? As already mentioned, without the assert we'd move a USE of the register with function return value to an unreachable block, which would be incorrect. Do you anticipate issues with the sched-deps patch? Alexander