On Mon, 2020-01-27 at 15:01 +0100, Hans-Peter Nilsson wrote: > > From: Jeff Law <l...@redhat.com> > > Date: Fri, 20 Sep 2019 17:38:38 +0200 > > Hi. I'm not going to question > > > The first step in that process is to drop support for cc0. > > but could you please elaborate on... > > > [cc0 support in gcc core] > > code is broken in various ways, > > particularly WRT exceptions. > > ...that last part? See pr49847 as a good starting point.
> If you mean asynchronous exceptions then perhaps in theory, > except there's no need to (and no state to) "unwind" to > in-between cc0 setter and user. But I guess that goes for > "MODE_CC" targets too; exception information isn't that precise. It's less about the need to unwind, but the fact that the cc0-setter and cc0-user end up in different basic blocks with non-call exceptions and how that interacts with the assumptions the optimizers make. Essentially you get ICEs. We've papered over this stuff when it's popped up, but it's time to stop :-) > > This patch deprecates the affected targets. > > (Not applied yet? Before the gcc-10 branch? Can you please > consider dropping cris* from that part when rebasing it, as per > contents on master and my pledge to merge axis/cris-decc0?) Not applied. But should be prior to gcc-10 release (with edits now that m68k has been converted). Given that you've got a conversion for cris that looks ready to go for gcc-11 I'd suggest we pull it out of the deprecated list as well. > Jeff