LWN.net Logo

GCC: Nobody has the "big" picture

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)

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds