aboutsummaryrefslogtreecommitdiff
path: root/gcc/loop-iv.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/loop-iv.c')
-rw-r--r--gcc/loop-iv.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/gcc/loop-iv.c b/gcc/loop-iv.c
index 0321faa..e3ec78b 100644
--- a/gcc/loop-iv.c
+++ b/gcc/loop-iv.c
@@ -250,11 +250,14 @@ iv_analysis_loop_init (struct loop *loop)
current_loop = loop;
/* Clear the information from the analysis of the previous loop. */
- if (!first_time)
- iv_analysis_done ();
- df = df_init (DF_HARD_REGS | DF_EQUIV_NOTES);
- df_chain_add_problem (df, DF_UD_CHAIN);
- bivs = htab_create (10, biv_hash, biv_eq, free);
+ if (first_time)
+ {
+ df = df_init (DF_HARD_REGS | DF_EQUIV_NOTES);
+ df_chain_add_problem (df, DF_UD_CHAIN);
+ bivs = htab_create (10, biv_hash, biv_eq, free);
+ }
+ else
+ clear_iv_info ();
for (i = 0; i < loop->num_nodes; i++)
{