From: Richard Guenther Date: Tue, 24 Apr 2012 11:25:21 +0000 (+0000) Subject: tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): If the epilogue loop is... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7d5a99f479cb1b7237e64e2b3937e5285693911f;p=gcc.git tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): If the epilogue loop is not re-used as unvectorized version record the its... 2012-04-24 Richard Guenther * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): If the epilogue loop is not re-used as unvectorized version record the its maximum number of iterations. From-SVN: r186760 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8e57d2843cc..f02bf710fb1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2012-04-24 Richard Guenther + + * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): If + the epilogue loop is not re-used as unvectorized version + record the its maximum number of iterations. + 2012-04-24 Andrew Pinski * tree-ssa-forwprop.c (simplify_bitwise_binary): diff --git a/gcc/tree-vect-loop-manip.c b/gcc/tree-vect-loop-manip.c index 32f57fe993a..5e5d6ef3121 100644 --- a/gcc/tree-vect-loop-manip.c +++ b/gcc/tree-vect-loop-manip.c @@ -1966,6 +1966,16 @@ vect_do_peeling_for_loop_bound (loop_vec_info loop_vinfo, tree *ratio, by ratio_mult_vf_name steps. */ vect_update_ivs_after_vectorizer (loop_vinfo, ratio_mult_vf_name, update_e); + if (!LOOP_REQUIRES_VERSIONING_FOR_ALIGNMENT (loop_vinfo) + && !LOOP_REQUIRES_VERSIONING_FOR_ALIAS (loop_vinfo)) + { + int max_iter = MAX (LOOP_VINFO_VECT_FACTOR (loop_vinfo) - 1, (int) th); + record_niter_bound (new_loop, shwi_to_double_int (max_iter), false, true); + if (dump_file && (dump_flags & TDF_DETAILS)) + fprintf (dump_file, "Setting upper bound of nb iterations for epilogue " + "loop to %d\n", max_iter); + } + /* After peeling we have to reset scalar evolution analyzer. */ scev_reset ();