aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/tree-ssa-loop-ivopts.c6
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 19c40f7..2119ce0 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2016-04-17 Jan Hubicka <jh@suse.cz>
+
+ * tree-ssa-loop-ivopts.c (avg_loop_niter): Use also
+ max_loop_iterations_int.
+
2016-04-18 Richard Biener <rguenther@suse.de>
PR tree-optimization/43434
diff --git a/gcc/tree-ssa-loop-ivopts.c b/gcc/tree-ssa-loop-ivopts.c
index a016e9f..7be4f16 100644
--- a/gcc/tree-ssa-loop-ivopts.c
+++ b/gcc/tree-ssa-loop-ivopts.c
@@ -121,7 +121,11 @@ avg_loop_niter (struct loop *loop)
{
HOST_WIDE_INT niter = estimated_stmt_executions_int (loop);
if (niter == -1)
- return AVG_LOOP_NITER (loop);
+ {
+ niter = max_stmt_executions_int (loop);
+ if (niter == -1 || niter > AVG_LOOP_NITER (loop))
+ return AVG_LOOP_NITER (loop);
+ }
return niter;
}