diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2016-05-30 16:12:46 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2016-05-30 14:12:46 +0000 |
commit | e5b1fae41b02c97227598559e6d3601a109d9e49 (patch) | |
tree | 8c2690338bdd403e7419cb52d2597ee324b18353 /gcc/tree-vect-loop.c | |
parent | eb897cfcf5b0777f1e1d25e0b3c64d233dd56ec0 (diff) | |
download | gcc-e5b1fae41b02c97227598559e6d3601a109d9e49.zip gcc-e5b1fae41b02c97227598559e6d3601a109d9e49.tar.gz gcc-e5b1fae41b02c97227598559e6d3601a109d9e49.tar.bz2 |
* tree-vect-loop.c (vect_transform_loop): Update likely bounds.
From-SVN: r236880
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 cada096..6463a81 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) { |