On Wed, 2013-01-23 at 19:59 +0000, Alec Teal wrote:
> On 23/01/13 19:38, Diego Novillo wrote:
> > [ We have drifted way off the original subject. ]
> >
> >
> > On Wed, Jan 23, 2013 at 2:16 PM, Uday Khedker <u...@cse.iitb.ac.in> wrote:
> >
> >> Yes, absolutely. And GCC community should consider it important to bring in
> >> newcomers particularly young students and experimenters from the academia.
> >>
> >> Why is it that most student projects these days are on LLVM and not on GCC?
> >> Had these students been doing projects on GCC, some of them may turn
> >> contributors in future.
> > Yes.  This is an issue for the long term viability of GCC as a
> > project.  In fact, I sometimes think that we may be past the tipping
> > point.
> >
> > Note that the very set of developers that can fix these problems are,
> > traditionally, the least likely to do much about it.  These developers
> > are already comfortable with the codebase, they know how to do the
> > things they are hired to do and employers are largely on the same
> > boat.  Additionally, established developers will generally resist
> > change, because these changes lead to short-term instability and bugs
> > (the releng/maintainer mindset).
> >
> > Evolving this codebase is largely a thankless and difficult job.  It's
> > technically interesting to me, but I know I can only do so much.  We
> > have other demands on our time and often this conflicts with the
> > nature of these changes.  Some developers have done some work here and
> > there to improve the codebase, but GCC's accumulated technical debt is
> > large.
> >
> > If this trend continues, the pool of experienced GCC developers will
> > eventually start to dwindle.  Without developer renewal, GCC will
> > naturally die out.  This cycle has happened many times before and it
> > will continue to happen.  Yet, it would be interesting to have two or
> > more strong competing open source compilers.  The cross-pollination
> > that open source competition encourages is beneficial to all (users
> > and developers).
> >
> >
> > Diego.
> >
> As I am happy to be finding out though, even from RTL (old pdfs and 
> stuff :)) GCC wasn't what I thought it was, to quote earlier:
> ----------------------------------------------------------------------------------------------------------
> I really have a theory here, I think (like me! I came here in the hope of
> 'fixing' GCC from what I thought it was to what it is because I, suppose I
> am loyal, I don't really like BSD, the lack of obligation to keep things
> free, anyway that'll start a dispute probably so don't worry) it's all the
> bad press, my impression was GCC is really old and archaic, not very good
> for developing new optimisations, had a crap IR and there was this newcomer
> that only made these problems known because it fixes them.
>  >
> I know now that most of them were wrong BTW!
> Ah, well - the old issue that LLVM has just become a very good
> marketing machinery
> (and we've stayed at being a compiler - heh).
> 
> Richard.
> <
> You see my point though right?
> Alec
> ----------------------------------------------------------------------------------------------------------
> 
> Is it not just bad press? The articles perpetuate the "Wow look how easy 
> clang is" which no one expects of GCC.

If you're looking for an easy introduction to GCC (and know Python) you
might want to try my Python plugin for GCC:

  http://gcc-python-plugin.readthedocs.org/en/latest/

It lets you write new GCC passes in Python, exposing GCC's data
structures as Python classes and objects, which I hope will make things
considerably easier for newcomers.   (it covers the tree and gimple
parts of the IR; it doesn't really handle RTL yet).  It can also
generate various nice visualizations of the internals, and being in
Python it's relatively easy to hack on.

Hope this is helpful
Dave

[oh, and Uday: am very much enjoying reading your Data Flow Analysis
book - thanks for writing it! ]

Reply via email to