This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Patches waiting for review
- From: Jeff Law <law at porcupine dot slc dot redhat dot com>
- To: Roger Sayle <roger at eyesopen dot com>
- Cc: law at redhat dot com, gcc-patches at gcc dot gnu dot org
- Date: Tue, 09 Jul 2002 13:56:40 -0600
- Subject: Re: Patches waiting for review
- Reply-to: law at redhat dot com
In message <Pine.LNX.4.33.0207011243370.24030-100000@www.eyesopen.com>, Roger
Sayle writes:
>> I'm not real familiar with how jump bypassing works, but you may be able
>> to get the effect you want by not bypassing when the targets of the jumps
>> are at different loop nesting levels.
>
>I'll look into this. One issue is that loop nesting information isn't
>perceived at the time GCSE is run.
That should be relatively easy to fix. If we need this information we
can easily generate it.
> The LOOP optimization pass than runs
>after GCSE still uses NOTE-based loop discovery rather than using the
>CFG.
True. And we're not likely to have a CFG based loop optimizer in the
mainline for the next major release. But this shouldn't be a major
problem -- it just means we might insert a loop preheader for a loop
that is discovered by the CFG code, but which doesn't have loop notes
(ie, a loop created by gotos in the source).
>Thinking longer term, irreducible flow graphs shouldn't be a problem for
>GCC. Many recent algorithms handle non reducible flow-graphs without
>problems. It would be interesting to see what the show stoppers are.
You're missing the point -- even if you have a loop optimizer that
understands irreducible flow graphs, they still have to do something
to make the loop optimizable -- namely they add a node to the cfg to
serve as the pre-header. This would be an alternate way to deal with
the problem with your patch.
jeff