Hi,

> On Thu, Jan 10, 2013 at 6:31 PM, Marek Polacek wrote:
> > +  /* We changed the CFG.  Recompute irreducible BBs and edges.  */
> > +  mark_irreducible_loops ();
> 
> This is a very expensive fix for a really unusual situation.
> 
> I don't think this is the right thing to do...

I agree -- at the very least, unswitch_single_loop should check whether there
is any possiblity it could have affected irreducible loops information (this
should only be the case when some already existing irreducible loop is altered
in the progress).  Which is what it (or more precisely, remove_path function
used by it) tries to do -- so is should be sufficient to check why this fails
for the considered testcase, and make sure the situation is correctly detected,

Zdenek

Reply via email to