RFA: patch for register migration

Daniel Berlin dberlin@dberlin.org
Wed Apr 21 02:27:00 GMT 2004


On Apr 20, 2004, at 9:26 PM, Richard Kenner wrote:

>     Reload is effectively spill code generation for us.
>     This is changing a decision on *what to spill*, not *how to spill 
> it*.
>     Thus, it belongs in the register allocator, not reload.
>
> Except that reload currently decides which hard registers to allocate 
> as
> spill registers, so it's involved in that decision already.
Which of course, is just one more thing reload *shouldn't* be doing (in 
the general case. It is impossible to avoid currently in some cases, 
given the way our backend is structured)
However, my objection is that we don't want to be making global 
allocation decisions, then undoing them later, when we could just do 
them right the first time, and not undo them.   We also shouldn't be 
making reload do more, we should be making it do less.

I'll say no more on the issue, since it's likely i'll be overruled 
anyway, and the right way to do register allocation is among one of the 
easiest topics to generate arguments about.
I've said my piece.

--Dan



More information about the Gcc-patches mailing list