Tree-SSA is being merged into the GCC mainline! This project brings in an optimisation framework for GCC Trees based on the Static Single Assignment (SSA) form. GCC uses Trees as one of its Intermediate Representations (IRs) - the Register Transfer Language (RTL) being the other IR. Trees are being cleaned up (simplified and made language independent) into the new "GENERIC" representation, which will then be simplified further into the "GIMPLE" representation. More details can be found in the proceedings of the 2003 annual GCC Summit. (See the papers "Tree SSA - A New Optimization Infrastructure for GCC" by Diego Novillo and "GENERIC and GIMPLE: A new tree representation for entire functions" by Jason Merrill.) The current mainline now has "Variable Tracking", that allows GCC to more accurately track and describe variables in the generated debug information even after optimisation - even with -fomit-frame-pointer! As a result, -fomit-frame-pointer will become the default for the x86 backend, freeing up a much-needed register on this starved architecture. You will however minimally need GDB 6.1 to be able to correctly debug with the generated location lists. This version has not yet been released though.