* predict.c (predict_loops): Do not predict infinite loops.
authorJan Hubicka <jh@suse.cz>
Fri, 2 Nov 2012 19:19:15 +0000 (20:19 +0100)
committerJan Hubicka <hubicka@gcc.gnu.org>
Fri, 2 Nov 2012 19:19:15 +0000 (19:19 +0000)
From-SVN: r193101

gcc/ChangeLog
gcc/predict.c

index 793c493..0f75280 100644 (file)
@@ -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.
index 9fc3e71..d27e043 100644 (file)
@@ -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)
        {