diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2016-05-30 14:12:46 +0000 |
---|---|---|
committer | Jan Hubicka <hubicka@ucw.cz> | 2016-05-30 14:12:46 +0000 |
commit | 9c45a8a9be350dfd9ce836d56478f2c3962de1a0 (patch) | |
tree | 8c2690338bdd403e7419cb52d2597ee324b18353 /gcc/tree-vect-loop.c | |
parent | b360b925bebe3a2c0946f33d4b2faa59290854bd (diff) |
* tree-vect-loop.c (vect_transform_loop): Update likely bounds.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@236880 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-vect-loop.c')
-rw-r--r-- | gcc/tree-vect-loop.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c index cada09692fb..6463a819e5e 100644 --- a/gcc/tree-vect-loop.c +++ b/gcc/tree-vect-loop.c @@ -6918,12 +6918,20 @@ vect_transform_loop (loop_vec_info loop_vinfo) /* Reduce loop iterations by the vectorization factor. */ scale_loop_profile (loop, GCOV_COMPUTE_SCALE (1, vectorization_factor), expected_iterations / vectorization_factor); - if (LOOP_VINFO_PEELING_FOR_GAPS (loop_vinfo) - && loop->nb_iterations_upper_bound != 0) - loop->nb_iterations_upper_bound = loop->nb_iterations_upper_bound - 1; + if (LOOP_VINFO_PEELING_FOR_GAPS (loop_vinfo)) + { + if (loop->nb_iterations_upper_bound != 0) + loop->nb_iterations_upper_bound = loop->nb_iterations_upper_bound - 1; + if (loop->nb_iterations_likely_upper_bound != 0) + loop->nb_iterations_likely_upper_bound + = loop->nb_iterations_likely_upper_bound - 1; + } loop->nb_iterations_upper_bound = wi::udiv_floor (loop->nb_iterations_upper_bound + 1, vectorization_factor) - 1; + loop->nb_iterations_likely_upper_bound + = wi::udiv_floor (loop->nb_iterations_likely_upper_bound + 1, + vectorization_factor) - 1; if (loop->any_estimate) { |