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: IRA plans and latest version of IRA patch


Vladimir Makarov <vmakarov@redhat.com> writes:

First congratulations for getting IRA that far.

> I've decided not to commit inter-procedural register allocation.  It
> is hard to support and it gives no visible improvements. 

How did you determine it gives no improvements? Was that just
with SPEC or with a wider range of tests?

It surprises me a little I must admit.

Also wouldn't it be more likely that it would help more with
whole program optimizations when the whole program is visible?

One special case I'm interested in are infrequentely executed
error handling functions. Right now if you have a single printf or
similar in a function the register allocation tends to be impacted all
over the function even if there are no other function calls. It would
be great if the calling convention could be switched for this case
to all-callee-saved.

Some time ago we even wrote some code to do this by hand for some
special cases (slow path of locking functions) using assembler stubs
and inline functions, but it turned out to be ugly and hard to
maintain.

-Andi


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