GCC: Nobody has the "big" picture
Posted Aug 3, 2006 8:29 UTC (Thu) by
forthy (guest, #1525)
Parent article:
OLS: GCC: present and future
Thanks for highlighting that nobody understands the big picture of
GCC. When looking at GCC's sources and comments from the developers, I
already had that impression. The main problem here is: Whatever phase you
look at, GCC is doing it at the wrong time. E.g. it combines instructions
before it reorders control flow (so that possible combined instructions
after control flow reorder can't happen). The mapping to actual
instructions happens way too early, anyway.
Or: Since years, we are struggling with -fno-reorder-blocks not
eliminating cross-jumps (a severe pessivation for implementing VMs). The
bug gets fixed, gets closed, and then pops up again. Meanwhile, it has
been marked as regression several times, and taken out of regression
again, to just pop up again after a short while.
So the "joking" comment that it was written by people who don't know
anything about compilers is not completely wrong. Since GCC is so big and
so full of legacy, it's probably better to write a new compiler suite
from scratch. Maybe using an implementation language that is better
suited at the problem as C (GCC's coding style is
C-trying-to-emulate-a-badly-written-Lisp-system ATM. Lisp would have been
the right choice for this particulary architecture, but that's because
RMS is a Lisp guy). Or at least use an abstraction layer that's
appropriate for the implementation language (if it must be C).
(
Log in to post comments)