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