]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
tree-ssa-loop.c (tree_vectorize): Return the result of vectorize_loops.
authorZdenek Dvorak <dvorakz@suse.cz>
Sun, 12 Nov 2006 20:11:53 +0000 (21:11 +0100)
committerZdenek Dvorak <rakdver@gcc.gnu.org>
Sun, 12 Nov 2006 20:11:53 +0000 (20:11 +0000)
* tree-ssa-loop.c (tree_vectorize): Return the result of
vectorize_loops.
* tree-vectorizer.c (vectorize_loops): Return TODO_cleanup_cfg
if anything changed.
* tree-vectorizer.h (vectorize_loops): Declaration removed.
* tree-flow.h (vectorize_loops): Declaration changed.

From-SVN: r118731

gcc/ChangeLog
gcc/tree-flow.h
gcc/tree-ssa-loop.c
gcc/tree-vectorizer.c
gcc/tree-vectorizer.h

index e29ed31ff01406e78b8b548bfa58077d2b2fcf78..bf52ce8d1f18380dabc4bd1ba0810007224b04e8 100644 (file)
@@ -1,3 +1,12 @@
+2006-11-12  Zdenek Dvorak <dvorakz@suse.cz>
+
+       * tree-ssa-loop.c (tree_vectorize): Return the result of
+       vectorize_loops.
+       * tree-vectorizer.c (vectorize_loops): Return TODO_cleanup_cfg
+       if anything changed.
+       * tree-vectorizer.h (vectorize_loops): Declaration removed.
+       * tree-flow.h (vectorize_loops): Declaration changed.
+
 2006-11-12  Zdenek Dvorak <dvorakz@suse.cz>
 
        * tree-ssa-loop-prefetch.c (schedule_prefetches): Cleanup and improve
index a880c3299e3cdfea217349619e8c617eadf34fcc..8013804f79717396359b94d5d36274500997653d 100644 (file)
@@ -801,7 +801,7 @@ struct tree_niter_desc
 };
 
 /* In tree-vectorizer.c */
-void vectorize_loops (struct loops *);
+unsigned vectorize_loops (struct loops *);
 extern bool vect_can_force_dr_alignment_p (tree, unsigned int);
 extern tree get_vectype_for_scalar_type (tree);
 
index f647cdcdd275f42ec3642bd62b785f4e5f622da7..e415448ae5b86da83d4a20fb26e11146e69fa6b4 100644 (file)
@@ -189,8 +189,7 @@ struct tree_opt_pass pass_tree_unswitch =
 static unsigned int
 tree_vectorize (void)
 {
-  vectorize_loops (current_loops);
-  return 0;
+  return vectorize_loops (current_loops);
 }
 
 static bool
index c35fc3025978a079764f1479911e0e1d31d3fd6f..d5b33d6cdc6d905ef1e2cc97e8698989c668619e 100644 (file)
@@ -2151,7 +2151,7 @@ vect_is_simple_iv_evolution (unsigned loop_nb, tree access_fn, tree * init,
    
    Entry Point to loop vectorization phase.  */
 
-void
+unsigned
 vectorize_loops (struct loops *loops)
 {
   unsigned int i;
@@ -2209,4 +2209,6 @@ vectorize_loops (struct loops *loops)
       destroy_loop_vec_info (loop_vinfo);
       loop->aux = NULL;
     }
+
+  return num_vectorized_loops > 0 ? TODO_cleanup_cfg : 0;
 }
index b56f7ded95c1a144ef003d02635333415564db18..55e1377626623e7bb480969a5e61a858bd5869c3 100644 (file)
@@ -345,8 +345,6 @@ extern bool supportable_widening_operation (enum tree_code, tree, tree,
 extern loop_vec_info new_loop_vec_info (struct loop *loop);
 extern void destroy_loop_vec_info (loop_vec_info);
 extern stmt_vec_info new_stmt_vec_info (tree stmt, loop_vec_info);
-/* Main driver.  */
-extern void vectorize_loops (struct loops *);
 
 
 /** In tree-vect-analyze.c  **/