This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Recent changes to cse.c
- To: law at redhat dot com
- Subject: Re: Recent changes to cse.c
- From: Richard Earnshaw <rearnsha at arm dot com>
- Date: Wed, 18 Jul 2001 10:03:34 +0100
- cc: Richard Henderson <rth at redhat dot com>, Mike Lerwill <mike at ml-solutions dot co dot uk>, gcc at gcc dot gnu dot org, Richard dot Earnshaw at arm dot com
- Organization: ARM Ltd.
- Reply-To: Richard dot Earnshaw at arm dot com
> In message <20010717000140.G11525@redhat.com>you write:
> > On Tue, Jul 17, 2001 at 02:18:57AM -0400, Daniel Berlin wrote:
> > > We should have a lint configuration for gcc (much like the *BSD's have
> > > a LINT configuration for the kernel to test compile breakages), that
> > > will help tell you, fer instance, if *compiles* break on a cc0
> > > (execution would still have to be done by simulator) machine, without
> > > having to figure out which machines are cc0/not cc0, which machines
> > > have this or that, etc.
> >
> > That's mostly solved by ridding ourselves of all of the
> > conditional compilation that we can.
> Right. This is a perfect example.
>
> What benefits do we get by exposing cc0 in all its glory to every pass
> of the compiler? Nothing other than bugs because folks forget to
> insert HAVE_cc0 compensation code.
>
> IMHO, cc0 should be exposed during final because that's the only time
> we actually care about the contents of cc0 (for redundant compare/test
> elimination).
We have mechanisms now which make HAVE_cc0 unnecessary (compare-and-jump
patterns). Wouldn't it be easier to just get rid of HAVE_cc0 entirely
from the compiler and convert those few remaining ports that use it to the
new code?
That doesn't really address the SSA issues of wanting to refine down the
"RTL"; but it would certainly solve the current cse problem.
R.