aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/loop-iv.c13
2 files changed, 9 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a59ac95..35d72cf 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2006-01-20 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * loop-iv.c (iv_analysis_loop_init): Use df in more conservative way.
+
2006-01-20 Richard Sandiford <richard@codesourcery.com>
* stmt.c (case_bit_test_cmp): Stabilize the sort using code
diff --git a/gcc/loop-iv.c b/gcc/loop-iv.c
index e3ec78b..0321faa 100644
--- a/gcc/loop-iv.c
+++ b/gcc/loop-iv.c
@@ -250,14 +250,11 @@ iv_analysis_loop_init (struct loop *loop)
current_loop = loop;
/* Clear the information from the analysis of the previous loop. */
- 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 ();
+ 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);
for (i = 0; i < loop->num_nodes; i++)
{