[tree-ssa] RFC: Making control flow more explicit

law@redhat.com law@redhat.com
Mon Aug 11 15:52:00 GMT 2003


In message <1060536473.27906.48.camel@frodo.toronto.redhat.com>, Diego Novillo 
writes:
 >On Sat, 2003-08-09 at 13:43, Zdenek Dvorak wrote:
 >
 >> 1) elimination of LOOP_EXPRs [500] -- a few lines in gimplification, remova
 >l
 >>    of references to them in tree-*, plus loop note regeneration just
 >>    before loop header copying
 >>
 >Why would you need removing them from the gimplifier?  The exposure of
 >more control flow should not need changes in the gimplifier.  Earlier
 >passes may want to deal with LOOP_EXPRs.
Why would an earlier pass care about LOOP_EXPRs?

If a pass wants to do something special with loops, then it should
use loops as detected by CFG analysis, not LOOP_EXPRs.

Basically I don't see any value in LOOP_EXPRs at all.  And they're probably
the easiest control structure to make disappear.  Basically we need to
drop the LOOP_EXPR node, create a real backedge in the IL and create the
appropriate notes during tree->rtl conversion.

Jeff



More information about the Gcc mailing list