/* Unswitch the loop on this condition. */
nloop = tree_unswitch_loop (loops, loop, bbs[i], cond);
if (!nloop)
- return changed;
+ {
+ free_original_copy_tables ();
+ free (bbs);
+ return changed;
+ }
/* Update the SSA form after unswitching. */
update_ssa (TODO_update_ssa);
/* Invoke itself on modified loops. */
tree_unswitch_single_loop (loops, nloop, num + 1);
tree_unswitch_single_loop (loops, loop, num + 1);
+ free (bbs);
return true;
}
gcc_assert (loop->inner == NULL);
return loop_version (loops, loop, unshare_expr (cond),
- &condition_bb);
+ &condition_bb, false);
}