This is the mail archive of the gcc@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: [tree-ssa] edge insertion/split problem


On Mon, 2003-06-16 at 16:32, Michael Matz wrote:
> Hi,
> 
> On Mon, 16 Jun 2003 law@redhat.com wrote:
> 
> Sorry to continually interrupt your tree-ssa discussions without any
> work on it, but these lengthy discussions about things which ought to be
> trivial make me a bit nervous about the new infrastructure.
> 

The joy of container strutures...

  COND_EXPR
   /     \
  BB 2   BB 3
    \     /
      BB 4

Both BB2 and BB3 are fallthroughs to BB4, neither hasd an explicit GOTO.
Ther eis talk of lowering all the container structures (COND, SWITCH,
LOOP) to their lower leverl goto structures, but we haven done it yet,
nor decided when to do it.

> Your notion of nested trees which can involve control transfer is at root
> of all this confusion, as it seems to me that this creates the funny
> problem of multiple fall-thru predecessors of a block.  It's simply
> impossible to have such.  Similar for all the other problems you were
> discussing over the last weeks dealing with critical edges and edge
> splitting.  Those are long solved with a normal CFG.
> 

There really isnt any confusion, except on my part.. The only problem
was that I wasn't thinking about SWITCHes falling through... I was
thinking there was always a default case. 

No argument that explicit control is always clear, but I havent seen a
case where this doesnt work also.. so far :-).  And like I said, we can
always lower fairly trivially whenever we want.  All the code currently
handles goto's properly, so once lowered, all the existing code would
still work.

Andrew


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