* loop-iv.c (iv_analysis_loop_init): Use df analysis in a more
authorrakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 24 Jan 2006 23:37:25 +0000 (23:37 +0000)
committerrakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 24 Jan 2006 23:37:25 +0000 (23:37 +0000)
efficient way.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110188 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/loop-iv.c

index 7e12f30..6614b54 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 0321faa..e3ec78b 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++)
     {