Besides my duties as RM, I plan to focus my GCC development time on LTO. This project has been dormant for a while, due to a variety of constraints, but we (my fellow Sourcerers and I) will be able to put more effort into LTO in the near future. Kenny plans to work on LTO once dataflow is merged. Google has resources available as well. And, hopefully, other volunteers will be interested as well. So, I think we're in position to kick off a more substantial effort to move this from design to substantial proof of concept.
In particular, the goal that Kenny and I have in mind, after consultation with David Edelsohn, is to get to the point where we can build the C benchmarks in SPEC in LTO mode. To kick things off, I've created some pages on the GCC Wiki that go into more detail about concrete tasks required for LTO. Start here: http://gcc.gnu.org/wiki/LinkTimeOptimization and look for the "LTO Driver", "LTO Reader/Writer", and "LTO Representation Changes" subpages. There's something here for everyone: 1. Changes to the driver and collect2. 2. Definition of new DWARF attributes. 3. Reading and writing those DWARF attributes. 4. Eliminating hooks and other bits of global state. 5. Eliminating pre-GIMPLE generation/use of RTL. 6. Poking at the ELF symbol table to determine DECL_SECTION_NAME in the LTO reader. and more! Although these Wiki pages are written in an authoritative form, I do not mean to dicate anything. It's just easier to write "X does Y" than "I think X should do Y" everywhere. That said, I think one of the ways in which I can be most useful is as an architect and coordinator. So, I would appreciate it if people who wish to make substantive changes to the design sketch ask me about that before changing the Wiki pages. I would also appreciate if people would keep me informed as to what they are working on, so that I can keep track of what's happening, from a high level. Certainly, CodeSourcery will keep the community informed regarding what pieces we are tackling. (Since we're just now restarting the project, nobody has yet been assigned concrete tasks.) At present, I know that Daniel Berlin is currently moving the existing LTO patches forward to a new branch based on the current mainline. Daniel will let us know when the new branch is ready. Thanks, -- Mark Mitchell CodeSourcery [EMAIL PROTECTED] (650) 331-3385 x713