http://code.google.com/p/scc-on-gcc/wiki/FBWT
I found the backend of gcc to be somewhat difficult to fathom, and so I decided to convert small-c. But aside from this bringing linux to the masses, you deserve to be informed. The above link is a code size optimization idea, by extracting common subroutines. The extension of the idea though to having nop equivalent code on some path exits, and execution effects on other paths of exit from the subroutine end allows even greater code squish opportunity, for free on a speculative execution hardware as the operand dependence tree will cause no effect on some paths. However the MB per second per MIPS will go down to higher code density because of the factorization. As MB/s/MIPS is the bottleneck this maybe could make the smaller code outperform code with a large I-cache footprint. Especially if the factors found common were in some libfact.so Cheers Jacko -- Simon Jackson BEng. jackokr...@myopera.com