Re: PR rtl-optimization/51069 (verify_loop_info failed)

2011-12-28 Thread Zdenek Dvorak
Hi, > Just a nit, can't you break out of the loop when irred_invalidated is set to > true as well? There is no need to look through any further edges. I.e. > perhaps: > if (!irred_invalidated) > FOR_EACH_EDGE (ae, ei, e->src->succs) > if (ae != e > && ae->dest != EXIT_BLOCK_P

Re: PR rtl-optimization/51069 (verify_loop_info failed)

2011-12-28 Thread Jan Hubicka
> Just a nit, can't you break out of the loop when irred_invalidated is set to > true as well? There is no need to look through any further edges. I.e. Sure, though we do have horrible time complexity in case irreducible regions are including recomputing the whole CFG flags after every path remo

Re: PR rtl-optimization/51069 (verify_loop_info failed)

2011-12-28 Thread Jakub Jelinek
On Wed, Dec 28, 2011 at 07:31:57PM +0100, Jan Hubicka wrote: > *** cfgloopmanip.c(revision 182708) > --- cfgloopmanip.c(working copy) > *** remove_path (edge e) > *** 290,295 > --- 290,296 > int i, nrem, n_bord_bbs; > sbitmap seen; > bool irred_invalidated

PR rtl-optimization/51069 (verify_loop_info failed)

2011-12-28 Thread Jan Hubicka
Hi, in this testcase peeling of loop contaiing irreducible region leads to increasing size of the region (by removing the conditional path into it). remove_path is not quite ready for this scenario. Still it would be nice to avoid us creating irreducible region in cases where they are not. Bootst