aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-loop-niter.h
diff options
context:
space:
mode:
authorBin Cheng <bin.cheng@arm.com>2015-09-17 03:08:41 +0000
committerBin Cheng <amker@gcc.gnu.org>2015-09-17 03:08:41 +0000
commitf3c5f3a3254ba37d6342ae981fa44aaeebb2382a (patch)
tree8ed39fce7ced601faeca17f5996649528ce2ca93 /gcc/tree-ssa-loop-niter.h
parente8ae63bb6ccbb7ec3dc5fbfbaf8236b71c59650e (diff)
downloadgcc-f3c5f3a3254ba37d6342ae981fa44aaeebb2382a.zip
gcc-f3c5f3a3254ba37d6342ae981fa44aaeebb2382a.tar.gz
gcc-f3c5f3a3254ba37d6342ae981fa44aaeebb2382a.tar.bz2
tree-ssa-loop-niter.c (tree_simplify_using_condition_1): New parameter.
* tree-ssa-loop-niter.c (tree_simplify_using_condition_1): New parameter. (tree_simplify_using_condition): Ditto. (simplify_using_initial_conditions): Ditto. (loop_exits_before_overflow): Pass new argument to function simplify_using_initial_conditions. Remove case for type conversions simplification. * tree-ssa-loop-niter.h (simplify_using_initial_conditions): New parameter. * tree-scalar-evolution.c (simple_iv): Simplify type conversions in iv base using loop initial conditions. gcc/testsuite/ChangeLog * gcc.dg/tree-ssa/loop-bound-2.c: New test. * gcc.dg/tree-ssa/loop-bound-4.c: New test. * gcc.dg/tree-ssa/loop-bound-6.c: New test. From-SVN: r227843
Diffstat (limited to 'gcc/tree-ssa-loop-niter.h')
-rw-r--r--gcc/tree-ssa-loop-niter.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/tree-ssa-loop-niter.h b/gcc/tree-ssa-loop-niter.h
index 8d4f799..1442fe9 100644
--- a/gcc/tree-ssa-loop-niter.h
+++ b/gcc/tree-ssa-loop-niter.h
@@ -21,6 +21,8 @@ along with GCC; see the file COPYING3. If not see
#define GCC_TREE_SSA_LOOP_NITER_H
extern tree expand_simple_operations (tree, tree = NULL);
+extern tree simplify_using_initial_conditions (struct loop *,
+ tree, tree = NULL);
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,