Prof. Uday khedkar demonstrated how to add a data flow analysis pass to GCC. After some theoretical discussion on available expression analysis (which was, for a change, not too difficult to understand), he explained the actual implementation details which seemed to me to be a bit tricky (well, everyone seems to agree that a lot of things concerning gcc internals are tricky)!
David Edelsohn, who is a member of the GCC steering committee, gave a talk on the past, present and future of gcc. A few of the things pointed out were the need for better register allocation and features to allow dynamic loading of modules (maybe you implement a new optimization pass and plug it in as a module at run time). Somebody asked whether GCC can ever hope to perform as well as compilers designed for one particular language and one particular processor. This may not be possible - the great attraction of GCC is that it is a free, high-quality compiler which can be *easily retargetted*. One might as well call it the single most critical free software tool in existence.
There were two tool demos (both tools developed at IITB) - one was a Python application which provides a GUI interface to the gcc compilation process. I don't think this is going to be very useful. Building applications from the commandline is not a very difficult job, even for newbies. Another was an Emacs mode for editing md files.
There was a short 1 hour lab session in which we examined the effect of pipeline constraint specifications in gcc. After this, there was an `open' session where some of the participants talked about their technical interests. There was one young Yahoo fellow who has written a new programming language which had visualization at its core. Another fellow talked about his M.Tech research while we were waiting for him to stop so that we could have the special `snacks' sponsored by David. The workshop ended with all of us going out and eating the tasty GCC snacks!