aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-analyze.c
diff options
context:
space:
mode:
authorDorit Nuzman <dorit@il.ibm.com>2007-01-14 12:42:40 +0000
committerDorit Nuzman <dorit@gcc.gnu.org>2007-01-14 12:42:40 +0000
commitacdc40dfd2305e16f92e15273dad1cc6d8bee32c (patch)
treec1d065e5ba09e4c5a85904acf9038d65101037cd /gcc/tree-vect-analyze.c
parent37fc8424ac5a0896dc43a0d506d434b60c55452d (diff)
downloadgcc-acdc40dfd2305e16f92e15273dad1cc6d8bee32c.zip
gcc-acdc40dfd2305e16f92e15273dad1cc6d8bee32c.tar.gz
gcc-acdc40dfd2305e16f92e15273dad1cc6d8bee32c.tar.bz2
param.h (MIN_VECT_LOOP_BOUND): New.
* param.h (MIN_VECT_LOOP_BOUND): New. * params.def (MIN_VECT_LOOP_BOUND): New. * tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Takes another argument - minimum threshold for number of iterations. * tree-vectorizer.h (slpeel_tree_peel_loop_to_edge): Add another argument to declaration. * tree-vect-analyze.c (vect_analyze_operations): Check value of MIN_VECT_LOOP_BOUND. * tree-vect-transform.c (vect_do_peeling_for_loop_bound): Call slpeel_tree_peel_loop_to_edge with additional argument. (vect_do_peeling_for_alignment): Likewise. * doc/invoke.texi (min-vect-loop-bound): Document new param option. From-SVN: r120770
Diffstat (limited to 'gcc/tree-vect-analyze.c')
-rw-r--r--gcc/tree-vect-analyze.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/tree-vect-analyze.c b/gcc/tree-vect-analyze.c
index c8b2bf8..83293d6 100644
--- a/gcc/tree-vect-analyze.c
+++ b/gcc/tree-vect-analyze.c
@@ -368,7 +368,10 @@ vect_analyze_operations (loop_vec_info loop_vinfo)
vectorization_factor, LOOP_VINFO_INT_NITERS (loop_vinfo));
if (LOOP_VINFO_NITERS_KNOWN_P (loop_vinfo)
- && LOOP_VINFO_INT_NITERS (loop_vinfo) < vectorization_factor)
+ && ((LOOP_VINFO_INT_NITERS (loop_vinfo) < vectorization_factor)
+ || (LOOP_VINFO_INT_NITERS (loop_vinfo) <=
+ ((unsigned) (PARAM_VALUE (PARAM_MIN_VECT_LOOP_BOUND))
+ * vectorization_factor))))
{
if (vect_print_dump_info (REPORT_UNVECTORIZED_LOOPS))
fprintf (vect_dump, "not vectorized: iteration count too small.");