Richard, This is the link: https://docs.google.com/document/d/1BKVeh62IpigsQYf_fJqkdu_js0EeGdKtXInkWZ-DtU0/edit
Seems that the function finalize_compilation_unit is a issue as it's the final function before the GIMPLE level. It seems to have lots of issues related to shared state if I'm understanding it correctly. In my proposal I'm assuming that it's the final GENERIC pass and should be fixed, this is due to even if the GIMPLE level is fixed we can only pass in shared state there which is still not a complete threaded pipeline through all three layers of GENERIC,GIMPLE and RTA. We would be bottle necked here and that seems to be a issue after reading the code. Let me know if this makes more sense to you as a proposal and feel free to ask questions if something doesn't make sense, Nick