aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2018-12-03 13:24:08 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2018-12-03 13:24:08 +0000
commitbcda485bdf8b8e7c645648e124e787f78846b2c6 (patch)
tree6cd2efcbbf7417a2a7a43c06cc9f2d36ad749e5d /gcc
parent3eec96ce31a76aff7d78f1b51840382f2c28632c (diff)
downloadgcc-bcda485bdf8b8e7c645648e124e787f78846b2c6.zip
gcc-bcda485bdf8b8e7c645648e124e787f78846b2c6.tar.gz
gcc-bcda485bdf8b8e7c645648e124e787f78846b2c6.tar.bz2
tree-vect-loop.c (vect_transform_loop): Properly compute upper bound for the epilogue when doing epilogue vectorization.
2018-12-03 Richard Biener <rguenther@suse.de> * tree-vect-loop.c (vect_transform_loop): Properly compute upper bound for the epilogue when doing epilogue vectorization. From-SVN: r266737
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/tree-vect-loop.c7
2 files changed, 10 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3d8c550..9f00aff 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2018-12-03 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-loop.c (vect_transform_loop): Properly compute
+ upper bound for the epilogue when doing epilogue vectorization.
+
2018-12-03 Ilya Leoshkevich <iii@linux.ibm.com>
PR target/80080
diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c
index 9589a8e..633c315 100644
--- a/gcc/tree-vect-loop.c
+++ b/gcc/tree-vect-loop.c
@@ -8548,9 +8548,12 @@ vect_transform_loop (loop_vec_info loop_vinfo)
{
unsigned int eiters
= (LOOP_VINFO_INT_NITERS (loop_vinfo)
- - LOOP_VINFO_PEELING_FOR_ALIGNMENT (loop_vinfo));
- eiters = eiters % lowest_vf;
+ - LOOP_VINFO_PEELING_FOR_ALIGNMENT (loop_vinfo)
+ - LOOP_VINFO_PEELING_FOR_GAPS (loop_vinfo));
+ eiters
+ = eiters % lowest_vf + LOOP_VINFO_PEELING_FOR_GAPS (loop_vinfo);
epilogue->nb_iterations_upper_bound = eiters - 1;
+ epilogue->any_upper_bound = true;
unsigned int ratio;
while (next_size < vector_sizes.length ()