From f481cd492ab60e2e8bdbbf4e5d0b4745b38b236d Mon Sep 17 00:00:00 2001
From: Jan Hubicka <jh@suse.cz>
Date: Fri, 2 Nov 2012 20:19:15 +0100
Subject: [PATCH] * predict.c (predict_loops): Do not predict infinite loops.

From-SVN: r193101
---
 gcc/ChangeLog | 4 ++++
 gcc/predict.c | 5 +++++
 2 files changed, 9 insertions(+)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 793c4933f79f..0f752802aeb2 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+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
diff --git a/gcc/predict.c b/gcc/predict.c
index 9fc3e71e7b28..d27e04316ca8 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)
 	{
-- 
GitLab