aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-loop-niter.h
diff options
context:
space:
mode:
authorBin Cheng <bin.cheng@arm.com>2016-07-15 09:04:57 +0000
committerBin Cheng <amker@gcc.gnu.org>2016-07-15 09:04:57 +0000
commit43aabfcfd4139e4c9e7b868199e09b97e66010bc (patch)
treebf2cd011c65849144b67a4d65d74e9dc61f556d8 /gcc/tree-ssa-loop-niter.h
parentafc89e58498ef6a275d4e018d26b6fca3940ef1e (diff)
downloadgcc-43aabfcfd4139e4c9e7b868199e09b97e66010bc.zip
gcc-43aabfcfd4139e4c9e7b868199e09b97e66010bc.tar.gz
gcc-43aabfcfd4139e4c9e7b868199e09b97e66010bc.tar.bz2
tree-scalar-evolution.c (simple_iv_with_niters): New funcion.
* tree-scalar-evolution.c (simple_iv_with_niters): New funcion. (derive_simple_iv_with_niters): New function. (simple_iv): Rewrite using simple_iv_with_niters. * tree-scalar-evolution.h (simple_iv_with_niters): New decl. * tree-ssa-loop-niter.c (number_of_iterations_exit_assumptions): New function. (number_of_iterations_exit): Rewrite using above function. * tree-ssa-loop-niter.h (number_of_iterations_exit_assumptions): New Decl. gcc/testsuite * gcc.dg/tree-ssa/loop-41.c: New test. From-SVN: r238367
Diffstat (limited to 'gcc/tree-ssa-loop-niter.h')
-rw-r--r--gcc/tree-ssa-loop-niter.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/tree-ssa-loop-niter.h b/gcc/tree-ssa-loop-niter.h
index 1b5d111..1aea580 100644
--- a/gcc/tree-ssa-loop-niter.h
+++ b/gcc/tree-ssa-loop-niter.h
@@ -27,6 +27,9 @@ extern bool loop_only_exit_p (const struct loop *, const_edge);
extern bool number_of_iterations_exit (struct loop *, edge,
struct tree_niter_desc *niter, bool,
bool every_iteration = true);
+extern bool number_of_iterations_exit_assumptions (struct loop *, edge,
+ struct tree_niter_desc *,
+ bool = true);
extern tree find_loop_niter (struct loop *, edge *);
extern bool finite_loop_p (struct loop *);
extern tree loop_niter_by_eval (struct loop *, edge);