This is the mail archive of the
mailing list for the GCC project.
Re: New register allocator branch created
- To: <dewar at gnat dot com>
- Subject: Re: New register allocator branch created
- From: Daniel Berlin <dberlin at redhat dot com>
- Date: Sun, 28 Jan 2001 13:40:32 -0500 (EST)
- cc: <dberlin at redhat dot com>, <kenner at vlsi1 dot ultra dot nyu dot edu>, <gcc at gcc dot gnu dot org>
On Sun, 28 Jan 2001 firstname.lastname@example.org wrote:
> Indeed the improvement from this example is impressive!
Thanks. Well, thank Appell and George, and Briggs, etc. I just implemented
their ideas (plus a few others).
I actually find it odd that we do so badly in examples like that.
It makes me wonder if we do the same thing for C++ code. If we do, and
it's spilling link registers like that, all the time, it must *really*
kill virtual function performance, among other things.
I wonder how much performance we lose due to the register allocator
spilling so much. We do all these nice optimizations, and a lot of the
effects probably get negated by having to throw a lot of stuff back in
(I'll benchmark using spec as soon as i stop laughing about reload and the
reg-rename pass fighting it out. We say to put something in register 0,
reload moves it to register 8, reg rename moves it to 0. Duh.)