aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-loop-manip.c
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2016-11-16 14:21:32 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2016-11-16 14:21:32 +0000
commit711188895e4d910aef399ac37084627e003433a8 (patch)
tree7f3d303da6d5e900c1e8bd1a0346027259bbd5d5 /gcc/tree-vect-loop-manip.c
parentae1a0866a17b854623ec824224ad68a3db571b43 (diff)
downloadgcc-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.c5
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.