aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-loop.c
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2016-05-30 14:12:46 +0000
committerJan Hubicka <hubicka@ucw.cz>2016-05-30 14:12:46 +0000
commit9c45a8a9be350dfd9ce836d56478f2c3962de1a0 (patch)
tree8c2690338bdd403e7419cb52d2597ee324b18353 /gcc/tree-vect-loop.c
parentb360b925bebe3a2c0946f33d4b2faa59290854bd (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.c14
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)
{