summaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-loop-ivcanon.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/tree-ssa-loop-ivcanon.c')
-rw-r--r--gcc/tree-ssa-loop-ivcanon.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/tree-ssa-loop-ivcanon.c b/gcc/tree-ssa-loop-ivcanon.c
index 80aecdc2c3a..c38c2f2b007 100644
--- a/gcc/tree-ssa-loop-ivcanon.c
+++ b/gcc/tree-ssa-loop-ivcanon.c
@@ -226,6 +226,7 @@ try_unroll_loop_completely (struct loops *loops ATTRIBUTE_UNUSED,
old_cond = COND_EXPR_COND (cond);
COND_EXPR_COND (cond) = dont_exit;
update_stmt (cond);
+ initialize_original_copy_tables ();
if (!tree_duplicate_loop_to_header_edge (loop, loop_preheader_edge (loop),
loops, n_unroll, NULL,
@@ -233,8 +234,10 @@ try_unroll_loop_completely (struct loops *loops ATTRIBUTE_UNUSED,
{
COND_EXPR_COND (cond) = old_cond;
update_stmt (cond);
+ free_original_copy_tables ();
return false;
}
+ free_original_copy_tables ();
}
COND_EXPR_COND (cond) = do_exit;