This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: regclass FLOAT_INT_REGS on x86/graph coloring allocator
- To: Michael Matz <matzmich at cs dot tu-berlin dot de>
- Subject: Re: regclass FLOAT_INT_REGS on x86/graph coloring allocator
- From: Daniel Berlin <dberlin at redhat dot com>
- Date: Sat, 3 Feb 2001 19:15:33 -0500 (EST)
- cc: Daniel Berlin <dberlin at redhat dot com>, <gcc at gcc dot gnu dot org>
>
> It doesn't use iterative analysis, instead it only needs use and def
> sites.
Thanks.
I could change mine to do this pretty easily, should I? Or if we
add things like live range splitting, etc, will we need the rest?
>The calculation of spill-cost is incorrect, and the merging of
> moves, when combining nodes for coalescing is broken too. Instead of
> (hash|reg)set's or similar it uses doubly-linked lists for the worklists.
> It colors webs instead of registers, and it doesn't use reload() for
> coloring or spilling, instead I rewrite the program (the stack frame is
> too large, as I allocate a slot for each spilled pseudo, not only for the
> conflicting ones). Although I still call reload to fix up mistakes. I
> wanted to have a solid framework, without reload needed, that's why some
> parts of it look rather hackish/wrong, esp. as eliminating reload makes
> big problems. I see frustration on my horizon ;)
Actually, the only thing that ties mine to registers is that we use
FIRST_PSEUDO_REGISTER in a few places, max_reg as a size limit in
some places, etc.
I'll move it to do it allocation based on defs (as opposed to registers)
tonight.
>
>
> Ciao,
> Michael.
>