new-regalloc performance

Daniel Berlin dberlin@redhat.com
Thu Feb 1 16:25:00 GMT 2001


On Thu, 1 Feb 2001, Richard Henderson wrote:

> On Thu, Feb 01, 2001 at 05:52:26PM -0500, Daniel Berlin wrote:
> > We have an sbitmap of max_reg_num() size for each interference graph node
> > Among other things.
>
> I don't know what typical bit densities for these nodes are,
> but any particular reason to use an sbitmap instead of a regset?
No.
It was an oversight.
We only will have bits set for nodes that interfere.
Most programs with absurd numbers of registers don't have a lot
(relatively speaking, of course) registers that
are interfering.
At least, in my experience.

They are just generating tons of registers because it's machine generated
code.
For example, with -O0, on that torture test, none of the registers
interfere.

With -O1, you end up with 5169 (but of course, a max_reg_num() of 50k
something), and an average interference of around 40 (i'm doing it by
eyesight).

So reg_set's would be a large win hee.
I'll change to use them.

in fact, thinking about it, i'll also convert all the sets where we mainly
do traversal, rather than testing certain bits, to regsets.
It might actually end up as a win.


--Dan



More information about the Gcc-bugs mailing list