This is the mail archive of the
mailing list for the GCC project.
Re: Overwhelmed by GCC frustration
- From: Jeff Law <law at redhat dot com>
- To: Eric Botcazou <ebotcazou at adacore dot com>, Georg-Johann Lay <avr at gjlay dot de>
- Cc: gcc at gcc dot gnu dot org, Segher Boessenkool <segher at kernel dot crashing dot org>, Oleg Endo <oleg dot endo at t-online dot de>
- Date: Wed, 16 Aug 2017 09:13:53 -0600
- Subject: Re: Overwhelmed by GCC frustration
- Authentication-results: sourceware.org; auth=none
- Authentication-results: ext-mx06.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com
- Authentication-results: ext-mx06.extmail.prod.ext.phx2.redhat.com; spf=fail smtp.mailfrom=law at redhat dot com
- Dmarc-filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 458623E2D6
- References: <597F2FB4.email@example.com> <firstname.lastname@example.org> <email@example.com> <2042814.a5T10RSZU0@arcturus.home>
On 08/16/2017 08:14 AM, Eric Botcazou wrote:
>> Just the fact that the backends that get most attention and attract
>> most developers don't use cc0 doesn't mean cc0 is a useless device.
> Everything that can be done with cc0 can be done with the new representation,
> at least theoritically, although this can require more work.
>> As far as cc0 is concerned, transforming avr BE is not trivial.
>> It would need rewriting almost all of its md files entirely.
>> It would need rewriting great deal of avr.c that handle
>> insn output and provide input to NOTICE_UPDATE_CC.
> I recently converted the Visium port, which is an architecture where every
> integer instruction, including a simple move, clobber the flags, so it's
> doable even for such an annoying target (but Visium is otherwise regular).
> See for example https://gcc.gnu.org/wiki/CC0Transition for some guidelines.
Yup. I'd strongly recommend anyone contemplating a conversion to read
>> But my feeling is that opposing deprecation of cc0 is futile,
>> the voices that support cc0 deprecation are more and usefulness
>> of cc0 is not recognized.
> cc0 is just obsolete and inferior compared to the new representation.
And cc0 is inherently buggy if you know how to poke at it. There are
places where we can't enforce the cc0 user must immediately follow the
We've been faulting in work-arounds when ports trip over those problems,
but I'm certain more problems in this space remain.