diff options
author | Zdenek Dvorak <dvorakz@suse.cz> | 2006-11-12 21:11:53 +0100 |
---|---|---|
committer | Zdenek Dvorak <rakdver@gcc.gnu.org> | 2006-11-12 20:11:53 +0000 |
commit | 4d2280f60db6ea2a50ac3890bb1fd5073d705863 (patch) | |
tree | ea8225756a12e87970ce8818fa0b7627095d34ee /gcc | |
parent | 911b3fdbe38f8a259a8212773098bf201423a242 (diff) | |
download | gcc-4d2280f60db6ea2a50ac3890bb1fd5073d705863.zip gcc-4d2280f60db6ea2a50ac3890bb1fd5073d705863.tar.gz gcc-4d2280f60db6ea2a50ac3890bb1fd5073d705863.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/tree-flow.h | 2 | ||||
-rw-r--r-- | gcc/tree-ssa-loop.c | 3 | ||||
-rw-r--r-- | gcc/tree-vectorizer.c | 4 | ||||
-rw-r--r-- | gcc/tree-vectorizer.h | 2 |
5 files changed, 14 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e29ed31..bf52ce8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,14 @@ 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 comments. (issue_prefetch_ref): Move assignment to write_p out of loop. diff --git a/gcc/tree-flow.h b/gcc/tree-flow.h index a880c32..8013804 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 f647cdc..e415448 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 c35fc30..d5b33d6 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 b56f7de..55e1377 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 **/ |