This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Patches waiting for review


 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]