aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorZdenek Dvorak <dvorakz@suse.cz>2006-11-12 21:11:53 +0100
committerZdenek Dvorak <rakdver@gcc.gnu.org>2006-11-12 20:11:53 +0000
commit4d2280f60db6ea2a50ac3890bb1fd5073d705863 (patch)
treeea8225756a12e87970ce8818fa0b7627095d34ee /gcc
parent911b3fdbe38f8a259a8212773098bf201423a242 (diff)
downloadgcc-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/ChangeLog9
-rw-r--r--gcc/tree-flow.h2
-rw-r--r--gcc/tree-ssa-loop.c3
-rw-r--r--gcc/tree-vectorizer.c4
-rw-r--r--gcc/tree-vectorizer.h2
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 **/