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

Reply via email to