This is the mail archive of the
mailing list for the GCC project.
Re: [tree-ssa] RFC: Making control flow more explicit
- From: law at redhat dot com
- To: Diego Novillo <dnovillo at redhat dot com>
- Cc: Zdenek Dvorak <rakdver at atrey dot karlin dot mff dot cuni dot cz>, Steven Bosscher <s dot bosscher at student dot tudelft dot nl>, "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>
- Date: Mon, 11 Aug 2003 08:59:31 -0600
- Subject: Re: [tree-ssa] RFC: Making control flow more explicit
- Reply-to: law at redhat dot com
In message <email@example.com>, Diego Novillo
>On Sat, 2003-08-09 at 13:43, Zdenek Dvorak wrote:
>> 1) elimination of LOOP_EXPRs  -- a few lines in gimplification, remova
>> 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.