On 01/19/2018 06:33 AM, Georg-Johann Lay wrote: > On 13.01.2018 00:07, Joseph Myers wrote: >> On Fri, 12 Jan 2018, Jeff Law wrote: >> >>> I was going to suggest deprecation for gcc-8 given how badly it was >>> broken in gcc-7 and the lack of maintenance on the target. >> >> While we're considering deprecations, what happened to the idea of >> setting >> a timescale by which cc0 targets need to be converted away from cc0 or be >> removed? > > I still don't quite get why cc0 is considered to be so bad. Just the > fact that the big targets don't use it doesn't make it useless. It's a significant maintenance burden for anyone working in RTL. cc0 targets have special rules that must be followed, but are easily forgotten.
cc0 handling does not exist in LRA and it's not going to be added to LRA. So supporting cc0 ports is also blocking removal of reload, which again is a major maintenance burden. Worse yet, there are interactions between those rules, FP support, and exception handling which fundamentally can't be fixed. We've lazily faulted in work-arounds for these problems as they've popped up, but that's the best we can do now -- layer hack on hack to work around fundamental problems with a broken design (cc0). cc0 needs to die. That doesn't mean that any particular target needs to be dropped -- it just means that someone has to step forward to do the conversion. Jeff