cfg merge part 17 - loop datastructure updates
Jan Hubicka
jh@suse.cz
Sat Jun 1 11:27:00 GMT 2002
> > > Hello.
> > >
> > > > > Here is the patch (also updated after bb renumbering removal).
> > > >
> > > > Thanks. Nearly ok.
> > > >
> > > > > + /* We could not redirect edges freely here. On the other hand,
> > > > > + we know that no abnormal edge enters this block, so we can simply
> > > > > + split the edge from entry block. */
> > > >
> > > > Actually, it is possible for the first block to be the target
> > > > of an abnormal edge. There could be a computed jump to a label
> > > > at the beginning of the function. But certainly that's not
> > > > worth handling beyond not setting the header bit if we find one.
> > > >
> > > > Ok with that change.
> > >
> > > Actually it is not possible -- as otherwise this block would not be
> > > taken as loop header.
> >
> > I think it can be taken in case it is reached by abnormal edge outside
> > the loop. (so the loopback edge is normal).
>
> No it cannot -- all edges entering possible header are tested (abnormal
> edges restrict class of manipulations we can do
> with loops, and I don't think such loops are common enough to
> bother with them).
Hmm, I now remember this.
I've installed the patch with slightly revised comment, so I guess it is
OK.
Honza
>
> Zdenek
More information about the Gcc-patches
mailing list