On Mon, 2007-07-09 at 09:30 -0700, Ian Lance Taylor wrote: > Paolo Bonzini <[EMAIL PROTECTED]> writes: > > > > 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". > > We've moved past that option, now we're arguing about using > regalloc_started_p ().
I'm not sure why, and I think I agree with some earlier posters on this issue. As a back-end author, the question of interest is just: can I call gen_reg_rtx()? or must I make do with existing registers? I don't care about which particular phases this is true or false, I just need to know the answer to that question.