summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2012-11-02 19:19:15 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2012-11-02 19:19:15 +0000
commit5d8653611d40662f3ab728f64ddc7c692c5906f6 (patch)
tree0c4c2726c2bba5fd6d40290ce905447cc4decec4
parent88fa2d281161143bcd2be3a6073c7e5b6585700c (diff)
downloadgcc-5d8653611d40662f3ab728f64ddc7c692c5906f6.tar.gz
* predict.c (predict_loops): Do not predict infinite loops.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193101 138bc75d-0d04-0410-961f-82ee72b054a4
-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 793c4933f79..0f752802aeb 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 9fc3e71e7b2..d27e04316ca 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)
{