This is the mail archive of the
mailing list for the GCC project.
Re: Overwhelmed by GCC frustration
- From: Georg-Johann Lay <avr at gjlay dot de>
- To: Jeff Law <law at redhat dot com>, Segher Boessenkool <segher at kernel dot crashing dot org>, Oleg Endo <oleg dot endo at t-online dot de>
- Cc: gcc at gcc dot gnu dot org
- Date: Wed, 16 Aug 2017 15:53:24 +0200
- Subject: Re: Overwhelmed by GCC frustration
- Authentication-results: sourceware.org; auth=none
- References: <597F2FB4.firstname.lastname@example.org> <email@example.com> <20170731172340.GG13471@gate.crashing.org> <firstname.lastname@example.org>
On 31.07.2017 19:54, Jeff Law wrote:
On 07/31/2017 11:23 AM, Segher Boessenkool wrote:
On Tue, Aug 01, 2017 at 01:12:41AM +0900, Oleg Endo wrote:
I could probably write a similar rant. This is the life of a "minority
target programmer". Most development efforts are being done with
primary targets in mind. And as a result, most changes are being
tested only on such targets.
Also, many changes require retuning of all target backends. This never
Got the message.
This means it's actually waste of time to work on these backends. The
code will finally end up in the dustbin as cc0 backends are considered
undesired ballast that has to be "jettisoned".
"Deprecate all cc0" is just a nice formulation of "deprecate
most of the cc0 backends".
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.
First of all, LRA cannot cope with cc0 (Yes, I know deprecating
cc0 is just to deprecate all non-LRA BEs). LRA asserts that
accessing the frame doesn't change condition code. LRA doesn't
provide replacement for LEGITIMITE_RELOAD_ADDRESS. Hence LRA
focusses just comfortable, orthogonal targets.
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.
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.
Sooner or later these backends will end up in /dev/null.