> Since we have no reason to believe that the backend should not > create new pseudo-registers before register allocation, and since we > have no reason to believe that after register allocation starts it > will be possible for the backend to create new pseudo-registers, I > believe that you are introducing a layer of abstraction which does > not clarify.
Although I agree that that's true, the counterargument is that the predicate that the backends care about is "can I allocate a pseudo here?". What that translates into shouldn't be relevant to them. The fact that backends have translated that predicate into different things (no_new_pseudos vs. reload_completed, e.g.) is exactly the sort of thing that happens when we lose this explicitness and the argument for restoring it. > Since that would be obviously nonsensical, it must not be what I > meant. I must have meant what I said: "it was there to remind people > to call the appropriate functions to resize the register arrays." I don't believe that's correct since much more would have needed to have been done aside from resizing the arrays.