This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: What to do with new-ra for GCC 4.0
- From: Denis Chertykov <denisc at overta dot ru>
- To: neroden at fastmail dot fm (Nathanael Nerode)
- Cc: gcc at gcc dot gnu dot org, stevenb at suse dot de, Michael Matz <matz at suse dot de>
- Date: 06 Jan 2005 20:43:25 +0300
- Subject: Re: What to do with new-ra for GCC 4.0
- References: <20050102205058.GA6718@fastmail.fm>
neroden@fastmail.fm (Nathanael Nerode) writes:
> Steven Bosscher wrote:
> >Perhaps not so surprisingly, new-ra is completely broken on mainline
> >at the moment. Literally not a single non-empty file will compile
> >with -fnew-ra.
> >
> >First of all there is a bug in ra-build.c:live_in() which has been
> >there since the merge from the edge-vector-branch. Then we hit an
> >ICE on sibcalls in ra.c:reg_alloc(), which also must have been there
> >since ages. The patch below sort-of fixes these two issues. But
> >then we hit SUBREG problems, probably due to rth's stricter subreg
> >patches. At that point I gave up.
> >
> >So, any nontrivial code will ICE with -fnew-ra. I hate to bring up
> >painful issues, but I would like to propose we remove all of new-ra
> >for GCC 4.0 as it is complete and utterly broken anyway, and given
> >that it has been broken for months without anyone complaining, it's
> >not like anyone will miss it.
> >
> >Thoughts?
>
> That sucks?
>
> The structure of the new-ra files is really reasonably elegant; it would
> be sad if it couldn't be salvaged.
>
> Are there major structural defects in it, which would be remediated best by
> writing a graph-coloring register allocator from scratch, or is it just
> suffering from bitrot?
>
> How many people understand the code? :-) Would more workers help?
I think that now only three persons understand the new-ra code.
Thay are:
1. Michael Matz;
2. Denis Chertykov;
3. Daniel Berlin (he is out from the new-ra few years ago, but I think
that he understand the code)
More workers are welcome !
Denis.
>
>
> -- This space intentionally left blank.