It was neat finally getting to meet the GCC developers who've been so helpful to me over the last year or so, and I'm sure the developers got a lot out of the summit as well. Three cheers for the sponsors and organizers!
The big news in the gcc world lately is the new Tree-SSA changes which were recently merged into mainline after about four years of development, and the fact that it's already paying off. F. Kenneth Zadeck, who gave the keynote of the conference, is a professional compiler developer with decades of experience, and was one of the original developers of SSA 20 years ago. He was hired recently to check up on gcc's SSA implementation and get it up to speed. The first half of his keynote was an SSA tutorial (quite helpful for us non-experts), and the second half went over what he'd found in his first month of code review. Other talks, by Edelsohn and by Naishlos, went over new optimizations enabled by the SSA work. These talks demonstrated that the SSA merge, combined with the expertise being brought to bear upon it, seem to be rapidly catapulting GCC in the direction it needs to go to compete with other compilers in the future.
Other big news, at least for Java users, is that a new ABI for GCJ is in the works which will allow GCJ to meet the Java Language Specification's requirements for binary compatibility. Not only will that get rid of the need to recompile classes just because their superclasses were updated, but it should also have the happy side-effect of making it easier to plug GCJ in to just about any free JVM as a JIT.
For any GCC user wondering which version of gcc should be used for new development, the answer seems to be that there's no particular reason to use anything older than gcc-3.4, and quite a few reasons to start with the latest. Getting your project working under gcc-3.4 is a stepping stone to the upcoming optimizations in gcc-3.5, the C++ Standard Library has had a number of performance improvements (see the presentation by Paolo Carlini in the Proceedings), gcc-3.4.0's java support is much better than in earlier versions, and Intel engineers said privately that projects which use gcc-3.4.0 will be in a good position to try the upcoming version of icc, as they're quite compatible.
Ottawa was a great place to hold the summit. The weather was spectacular, the bus system made it child's play to get to and from the airport, and the city itself (with its many museums and parks, Notre Dame cathedral, and Parliament) made playing hooky very tempting. I did break away to see the sights on Wednesday instead of going to dinner, and really enjoyed touring Parliament and practicing my French (did you know Ottawa is right on the border with Quebec?).
I could go on, but it's probably better to refer readers to the proceedings (online as a PDF at gccsummit.org) and the summaries of the version control BOF and testing BOF, and to Simon Law's blog ( day 1, day 2, day 3).
-- Dan Kegel