I am going to argue that it was a bug that we did not allow new pseudos after flow had ran. And that we should have always allowed pseudos before the register allocator. Since flow was so broken, we could not, we added the hack no_new_pseudos get around that problem. Now we are saying it is a nice abstraction but I am saying this abstraction should never have happened in the first place. We now have a better compiler due to the removal of the hack.
The bad abstraction was causing quirks in *when* no_new_pseudos was set to 1. But no_new_pseudos is a good abstraction in itself, people are arguing on whether it is a better abstraction as "reload_in_progress || reload_completed".
Paolo