Java segfault in predict.c

Zdenek Dvorak rakdver@atrey.karlin.mff.cuni.cz
Wed May 29 12:49:00 GMT 2002


Hello.

> > ! 	  FOR_BB_BETWEEN (bb, BASIC_BLOCK (sbitmap_first_set_bit (loop->nodes)),
> > ! 		ENTRY_BLOCK_PTR, prev_bb)
> > ! 	    if (TEST_BIT (loop->nodes, bb->index))
> > ! 	      loop->first = bb;
> > ! 	  FOR_BB_BETWEEN (bb, BASIC_BLOCK (sbitmap_last_set_bit (loop->nodes)),
> > ! 		EXIT_BLOCK_PTR, next_bb)
> > ! 	    if (TEST_BIT (loop->nodes, bb->index))
> > ! 	      loop->last = bb;
> 
> Seems like
> 
> 	FOR_ALL_BB (bb)
> 	  if (TEST_BIT (loop->nodes, bb->index))
> 	    break;
> 	loop->first = bb;
> 
> 	FOR_ALL_BB_REVERSE (bb)
> 	  if (TEST_BIT (loop->nodes, bb->index))
> 	    break;
> 	loop->last = bb;
> 
> actually searches fewer blocks, and is clearer.

OK.

> Again, this seems like a real opportunity to want to rely on
> monotonicly increasing indicies...

Why?

Zdenek



More information about the Gcc-patches mailing list