gcc : c++11 : full support : eta?
Jeff Law
law@redhat.com
Thu Jan 24 18:08:00 GMT 2013
On 01/24/2013 10:23 AM, Alexandre Oliva wrote:
> On Jan 23, 2013, Aldy Hernandez <aldyh@redhat.com> wrote:
>
>> an internal training program Jeff Law devised over a decade ago (*)
>
>> [Before anybody asks, the training program is probably no longer
>> relevant. So no fair bugging Jeff about it :)].
>
> Yeah. It was focused on the RTL/md part of GCC, with a few simple
> assignments that amounted to implementing changes in the mn10300-elf
> port. That was before AM33/2.0 came up; before gimple and SSA, long
> before tuples and mode iterators. GCC was a very different beast then.
> The course made me more of an RTL person, which still makes me hope this
> tree-based stuff a fad and that some day we'll get back to our senses
> and do SSA in RTL ;-)
And the thing to remember about that training program is that it was
geared strictly towards backend porting. ie, new version of the frob
chip comes out with some new instructions, we need to support them.
That was a significant component of Cygnus's business back then.
As Alex notes, GCC today is dramatically different and hacking new
instructions into existing backends isn't nearly as important as it was
10+ years ago. Training around GCC's implementation of SSA, how GCC's
optimization pipeline works, plugins, the propagation engine would be
far more interesting and useful.
When we made the change from RTL centric to gimple, one of the goals was
to make GCC more approachable. I would argue to some degree that was
successful, but not nearly as much as I'd hoped.
Of course that was over 10 years ago and we're at another point where
some significant architectural changes to GCC are needed. Google has
kicked some stuff around and Red Hat is kicking stuff around toward that
goal.
I believe the ultimate focus will be on improving modularity for passes
prior to gimple->rtl expansion and to make any notable progress we're
going to have to tackle the type system problems. It won't be sexy or
fun, but to keep GCC relevant, it's one of the things we need to tackle.
Jeff
More information about the Gcc
mailing list