On Tuesday 20 November 2012 10:30 AM, Miles Bader wrote:
Basile Starynkevitch <bas...@starynkevitch.net> writes:
PS. LLVM has also a decisive documentation advantage w.r.t. GCC
What...? The last time I tried to do something with LLVM, the
internals docs were awful (full of <not yet written> kinda stuff,
usually just in the area I was confused about)...
Yes but it is far better than that of GCC and the code itself is far
better than GCC's code, not surprisingly because
(a) it was designed in a closed group,
(b) and the front end as well as back end were out of scope
(c) back end generation from specification has remained out of scope
In my opinion, at an abstract level the core LLVM is comparable to the
framework of GIMPLE pass structure of GCC (and hence it is more easily
describable). GCC on the other hand is a big spaghetti containing
compiler generation thrown in.
and gcc
historically has had great internals documentation, though I don't
know if it's managed to keep up with all the changes in the 4.x
series...
By great, if you mean in size, yes I agree with you :-)
Otherwise, I strongly disagree with you. Please look up the teaching
material and assignments available at
http://www.cse.iitb.ac.in/grc/gcc-workshop-12/ to see what the default
GCC documentation lacks.
Just as a case in point, try asking a novice to understand LTO from the
official documentation and code and then refer him/her to my slides to
understand LTO.
Uday.