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

Reply via email to