diff options
author | Dorit Nuzman <dorit@il.ibm.com> | 2007-01-14 12:42:40 +0000 |
---|---|---|
committer | Dorit Nuzman <dorit@gcc.gnu.org> | 2007-01-14 12:42:40 +0000 |
commit | acdc40dfd2305e16f92e15273dad1cc6d8bee32c (patch) | |
tree | c1d065e5ba09e4c5a85904acf9038d65101037cd /gcc/tree-vect-analyze.c | |
parent | 37fc8424ac5a0896dc43a0d506d434b60c55452d (diff) | |
download | gcc-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.c | 5 |
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."); |