Hi, for the GCC Summit in 2003 Zachary Weinberg wrote a paper named "Maintenance developer's view of GCC" where he explained the problems of the codebase. For a university presentation I digged in GCC's history and this paper was very useful for this. Unfortunately I could not find an updated version of it or a similar summary by someone else. Still I am interested to know whether the problems Zachary described have been fixed or not. If you have some time and could answer me the following questions that would be great. :) 1) First problem named in the paper are incomplete transitions. Do you know of any newer transitions which have been started but not completed as a whole? The paper mentions that in 2003 there were two ways of doing peephole optimization (define_peephole (old) vs. define_peephole2 (new) ). Has this transition been completed until today? 2) The second big problem is functional duplication. Do you know of any modules which have been introduced after 2003 which duplicate the behavior of an existing module? In 2003 Zachary points out that there were 3 mechanisms for RTL simplification and suggests their unification. Has this unification step ever taken place? Furthermore he talks about a language independent tree-to-RTL converter which is not capable of dealing with whole-function tree representation. The result was that certain frontends duplicate a tree walking mechanism to feed the converter with one statement at a time. Related to this problem was that each frontend invented its own form of whole-function trees instead of using a unified one. What is the state of these problems? Has the converter been updated to whole-function trees and is there a unified form for these trees in use by the frontends now? 3) The last bit that is pointed out are inadequate interfaces. It is mentioned that the interface between the core compiler and target specific backends was done using a big amount of macros. A newer scheme using targetm structures was in development at that time and was ought to make the interface more clear. Has this transition finished by now? It would be great to know how these things have evolved over time. One thing that I am interested in: Have all the things explained by Zachary gotten a PR? I thank you very much if you took the time to answer these questions. Regards Robert Btw: Please CC me as I am not on the list.
Attachment:
signature.asc
Description: OpenPGP digital signature