From: Zdenek Dvorak Date: Sun, 12 Nov 2006 20:11:53 +0000 (+0100) Subject: tree-ssa-loop.c (tree_vectorize): Return the result of vectorize_loops. X-Git-Tag: releases/gcc-4.3.0~8510 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4d2280f60db6ea2a50ac3890bb1fd5073d705863;p=thirdparty%2Fgcc.git tree-ssa-loop.c (tree_vectorize): Return the result of vectorize_loops. * 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e29ed31ff014..bf52ce8d1f18 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2006-11-12 Zdenek Dvorak + + * 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 * tree-ssa-loop-prefetch.c (schedule_prefetches): Cleanup and improve diff --git a/gcc/tree-flow.h b/gcc/tree-flow.h index a880c3299e3c..8013804f7971 100644 --- a/gcc/tree-flow.h +++ b/gcc/tree-flow.h @@ -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); diff --git a/gcc/tree-ssa-loop.c b/gcc/tree-ssa-loop.c index f647cdcdd275..e415448ae5b8 100644 --- a/gcc/tree-ssa-loop.c +++ b/gcc/tree-ssa-loop.c @@ -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 diff --git a/gcc/tree-vectorizer.c b/gcc/tree-vectorizer.c index c35fc3025978..d5b33d6cdc6d 100644 --- a/gcc/tree-vectorizer.c +++ b/gcc/tree-vectorizer.c @@ -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; } diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h index b56f7ded95c1..55e137762662 100644 --- a/gcc/tree-vectorizer.h +++ b/gcc/tree-vectorizer.h @@ -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 **/