This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Patch to delete scratch allocation in local-alloc


In article <Pine.SOL.3.90.981002151523.14944J-100000.cygnus.egcs.patches@jennifer.informatik.rwth-aachen.de> you wrote:
...
: The code in reload always works, and allocates exactly the scratch registers
: which are necessary.  The code in local-alloc only guesses; it can't know
: which alternative is going to be selected by reload.  Worse, global can't
: override the choices of local-alloc when they turn out to be wrong, which
: may lead to suboptimal register allocation.

The same is true for the entire local register allocation.  So why do you
single out scratch allocation?

local-alloc does soe things better and some things worse than reload.
IMHO the real problem is global / reload can't revise a number of decisions
that local-alloc does - the most glaring one is, of course, the inability to
re-allocate locally allocated registers that get spilled.

So why not fix global / reload to properly undo decisions of local-alloc
when it turns out that this should be done?


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]