]> gcc.gnu.org Git - gcc.git/blobdiff - gcc/predict.c
loop-iv.c: New file.
[gcc.git] / gcc / predict.c
index 50580bd08ecdaeb26bb975d411156f30df0106bd..44ee10c9fe600498bb30d3004dbf8009acf77d39 100644 (file)
@@ -406,13 +406,16 @@ estimate_probability (struct loops *loops_info)
       unsigned j;
       int exits;
       struct loop *loop = loops_info->parray[i];
-      struct loop_desc desc;
+      struct niter_desc desc;
       unsigned HOST_WIDE_INT niter;
 
       flow_loop_scan (loop, LOOP_EXIT_EDGES);
       exits = loop->num_exits;
 
-      if (simple_loop_p (loop, &desc) && desc.const_iter)
+      iv_analysis_loop_init (loop);
+      find_simple_exit (loop, &desc);
+
+      if (desc.simple_p && desc.const_iter)
        {
          int prob;
          niter = desc.niter + 1;
@@ -472,6 +475,8 @@ estimate_probability (struct loops *loops_info)
       free (bbs);
     }
 
+  iv_analysis_done ();
+
   /* Attempt to predict conditional jumps using a number of heuristics.  */
   FOR_EACH_BB (bb)
     {
This page took 0.026155 seconds and 5 git commands to generate.