aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/predict.c5
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 793c493..0f75280 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
2012-11-02 Jan Hubicka <jh@suse.cz>
+ * predict.c (predict_loops): Do not predict infinite loops.
+
+2012-11-02 Jan Hubicka <jh@suse.cz>
+
PR middle-end/55079
* tree-ssa-loop-niter.c (number_of_iterations_exit): Update
MAX field if NITER was folded to contant.
diff --git a/gcc/predict.c b/gcc/predict.c
index 9fc3e71..d27e043 100644
--- a/gcc/predict.c
+++ b/gcc/predict.c
@@ -1403,6 +1403,11 @@ predict_loops (void)
exits = get_loop_exit_edges (loop);
n_exits = VEC_length (edge, exits);
+ if (!n_exits)
+ {
+ VEC_free (edge, heap, exits);
+ continue;
+ }
FOR_EACH_VEC_ELT (edge, exits, j, ex)
{