Richard, It seems to be that it would be best to writeup the remaining work for paralleling the compiler. I'm aware of most of it in the cgraph* files and others. However since I don't have write privileges it will be impossible for me to do it. It seems that the passes outside of the current expand_all_functions work are the GENERIC reading of files up to the RTL layer including certain passes. RTL may not need it due to most shared state being at the GENERIC and GIMPLE/pre RTL layers.
Regards, Nick