Hello,

> ii)
> In loop_version there are two calls to loop_split_edge_with
> 1.  loop_split_edge_with (loop_preheader_edge (loop), NULL);
> 2.  loop_split_edge_with (loop_preheader_edge (nloop), NULL);
> nloop is the versioned loop, loop is the original.
> 
> loop_split_edge_with has the following:
>  new_bb = split_edge (e);
>  add_bb_to_loop (new_bb, loop_c);
> 
> 1) When we get to the fist call, nloop->outer->num_nodes = 8 while dfs
> returns 6.

then the problem is before this call; you need to check which two blocks
that are marked as belonging to nloop->outer in fact do not belong to
this loop, and why.

Zdenek

Reply via email to