This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: IRA plans and latest version of IRA patch
- From: Andi Kleen <andi at firstfloor dot org>
- To: Vladimir Makarov <vmakarov at redhat dot com>
- Cc: gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Sat, 07 Jun 2008 13:15:46 +0200
- Subject: Re: IRA plans and latest version of IRA patch
- References: <4849BBE5.7020307@redhat.com>
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