diff options
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/loop-iv.c | 13 |
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++) { |