diff options
author | Richard Biener <rguenther@suse.de> | 2018-12-03 13:24:08 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2018-12-03 13:24:08 +0000 |
commit | bcda485bdf8b8e7c645648e124e787f78846b2c6 (patch) | |
tree | 6cd2efcbbf7417a2a7a43c06cc9f2d36ad749e5d /gcc/tree-vect-loop.c | |
parent | 3eec96ce31a76aff7d78f1b51840382f2c28632c (diff) | |
download | gcc-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/tree-vect-loop.c')
-rw-r--r-- | gcc/tree-vect-loop.c | 7 |
1 files changed, 5 insertions, 2 deletions
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 () |