diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2016-11-16 14:21:32 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2016-11-16 14:21:32 +0000 |
commit | 711188895e4d910aef399ac37084627e003433a8 (patch) | |
tree | 7f3d303da6d5e900c1e8bd1a0346027259bbd5d5 /gcc/tree-vect-loop-manip.c | |
parent | ae1a0866a17b854623ec824224ad68a3db571b43 (diff) | |
download | gcc-711188895e4d910aef399ac37084627e003433a8.zip gcc-711188895e4d910aef399ac37084627e003433a8.tar.gz gcc-711188895e4d910aef399ac37084627e003433a8.tar.bz2 |
Fix nb_iterations calculation in tree-vect-loop-manip.c
We previously stored the number of loop iterations rather
than the number of latch iterations.
gcc/
2016-11-15 Richard Sandiford <richard.sandiford@arm.com>
Alan Hayward <alan.hayward@arm.com>
David Sherwood <david.sherwood@arm.com>
* tree-vect-loop-manip.c (slpeel_make_loop_iterate_ntimes): Set
nb_iterations to the number of latch iterations rather than the
number of loop iterations.
Co-Authored-By: Alan Hayward <alan.hayward@arm.com>
Co-Authored-By: David Sherwood <david.sherwood@arm.com>
From-SVN: r242493
Diffstat (limited to 'gcc/tree-vect-loop-manip.c')
-rw-r--r-- | gcc/tree-vect-loop-manip.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/tree-vect-loop-manip.c b/gcc/tree-vect-loop-manip.c index 6bfd332..4c6b8c7 100644 --- a/gcc/tree-vect-loop-manip.c +++ b/gcc/tree-vect-loop-manip.c @@ -285,7 +285,10 @@ slpeel_make_loop_iterate_ntimes (struct loop *loop, tree niters) LOCATION_LINE (loop_loc)); dump_gimple_stmt (MSG_NOTE, TDF_SLIM, cond_stmt, 0); } - loop->nb_iterations = niters; + + /* Record the number of latch iterations. */ + loop->nb_iterations = fold_build2 (MINUS_EXPR, TREE_TYPE (niters), niters, + build_int_cst (TREE_TYPE (niters), 1)); } /* Helper routine of slpeel_tree_duplicate_loop_to_edge_cfg. |