On Fri, Jun 23, 2006 at 03:23:04PM -0400, Andrew MacLeod wrote: > A new register allocator written from scratch is a very long term > project (measured in years), and there is no guarantee after all that > work that we'd end up with something which is remarkably better. One > would hope that it is a lot more maintainable, but the generated code is > a crapshot. It will surely look better but will it really run faster? > The current plate of spaghetti we call the register allocator has had a > lot of fine tuning go into it over the years, and it generally generates > pretty darn good code IF it doesn't have to spill much, which is much of > the time.
One area where the current register allocator is really lousy is when faced with pseudos spanning multiple registers. A recent example: <URL:http://gcc.gnu.org/ml/gcc-help/2006-04/msg00064.html>. And 16-bit targets suffer from this much of the time. I can only imagine that the AVR camp must be tearing their hair out in frustration. The register allocater really needs to be able to allocate subregs independently. -- Rask Ingemann Lambertsen