On Thu, Dec 20, 2012 at 1:43 PM, Richard Biener wrote: > --- 724,746 ---- > > cfg_hooks->merge_blocks (a, b); > > if (current_loops != NULL) > { > ! /* If the block we merge into is a loop header do nothing unless ... > */ > ! if (a->loop_father->header == a) > ! { > ! /* ... we merge two loop headers, in which case we kill > ! the inner loop. */
Before loops were maintained, we'd simply re-discover the nested loops. Do we now lose this information? How about adjusting the can_merge_blocks hook to reject merging loop headers? Ciao! Steven