]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
loop-iv.c (iv_analysis_loop_init): Use df analysis in a more efficient way.
authorZdenek Dvorak <dvorakz@suse.cz>
Tue, 24 Jan 2006 23:37:25 +0000 (00:37 +0100)
committerZdenek Dvorak <rakdver@gcc.gnu.org>
Tue, 24 Jan 2006 23:37:25 +0000 (23:37 +0000)
* loop-iv.c (iv_analysis_loop_init): Use df analysis in a more
efficient way.

From-SVN: r110188

gcc/ChangeLog
gcc/loop-iv.c

index 7e12f30159e28b6d19ecf77c025c8e99f4234612..6614b548b2a7460f9c14204854948692ebd1095c 100644 (file)
@@ -1,3 +1,8 @@
+2006-01-25  Zdenek Dvorak <dvorakz@suse.cz>
+
+       * loop-iv.c (iv_analysis_loop_init): Use df analysis in a more
+       efficient way.
+
 2006-01-24  DJ Delorie  <dj@redhat.com>
 
        * expmed.c (store_bit_field): Don't arbitrarily deny using insv
index 0321faa58e81bcac87bac05889bbe306be504b25..e3ec78b7cfcb1412a4676abf500fee176a24bd18 100644 (file)
@@ -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++)
     {