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]
Other format: [Raw text]

Re: [RFA] The Integrated Register Allocator


Hi,

On Tue, 1 Apr 2008, Kenneth Zadeck wrote:

> Here we have a patch that inserts a new allocator, but the old one has
> been left "largely" in place.

That is suboptimal, I agree.  From past experience (new-ra, bah) it hurts 
when the new register allocator is not the only one, or at least the 
default one.  Nobody tests it, nobody develops on it, it rots, and 
eventually it gets removed again.  OTOH it's more or less impossible to 
develop a complete register allocator on just a branch, so it's either 
pest or cholera.

It would be nice if the allocator could be included, activated by default 
on _all_ platforms, and force port maintainers to do something about this, 
so that at the end of stage 1 the old allocator could be removed.  That's 
aggressive, but (for this very topic only), I'd rather be more aggressive 
than less.

> My next concern is that the new allocator seems to be a large
> regression with respect to building conflict graphs.  Peter Bergner
> and my self have spent a lot of time replacing the conflict builder in
> global with a modern algorithm that is both efficient and very
> precise, and yet this patch essentially regresses back to the
> technology used in global before we started.

If I'm not mistaken, the change at its core was only to use a lower 
triangular form (the usage of the df framework is nice, but doesn't change 
the underlying data).  I suppose the same could be done with IRA.


Ciao,
Michael.


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