Hi.

I'm sending fix for 2 locations where we have a typo.
Second hunk is pre-approved by Rich, first one needs to be approved
by Honza?

Patch can bootstrap on x86_64-linux-gnu and survives regression tests.

Ready to be installed?
Thanks,
Martin

gcc/ChangeLog:

2019-12-09  Martin Liska  <mli...@suse.cz>

        PR tree-optimization/92862
        * predict.c (predict_paths_leading_to_edge): Fix typo from e to e2.
        * tree-ssa-loop-niter.c (loop_only_exit_p): Return false
        instead of true;
---
 gcc/predict.c             |  7 +++----
 gcc/tree-ssa-loop-niter.c | 10 +++-------
 2 files changed, 6 insertions(+), 11 deletions(-)


diff --git a/gcc/predict.c b/gcc/predict.c
index 67f850de17a..8db24816d29 100644
--- a/gcc/predict.c
+++ b/gcc/predict.c
@@ -3217,16 +3217,15 @@ predict_paths_leading_to_edge (edge e, enum br_predictor pred,
   basic_block bb = e->src;
   FOR_EACH_EDGE (e2, ei, bb->succs)
     if (e2->dest != e->src && e2->dest != e->dest
-	&& !unlikely_executed_edge_p (e)
+	&& !unlikely_executed_edge_p (e2)
 	&& !dominated_by_p (CDI_POST_DOMINATORS, e->src, e2->dest))
       {
 	has_nonloop_edge = true;
 	break;
       }
+
   if (!has_nonloop_edge)
-    {
-      predict_paths_for_bb (bb, bb, pred, taken, auto_bitmap (), in_loop);
-    }
+    predict_paths_for_bb (bb, bb, pred, taken, auto_bitmap (), in_loop);
   else
     predict_edge_def (e, pred, taken);
 }
diff --git a/gcc/tree-ssa-loop-niter.c b/gcc/tree-ssa-loop-niter.c
index f0dd9a0b363..39e937705f1 100644
--- a/gcc/tree-ssa-loop-niter.c
+++ b/gcc/tree-ssa-loop-niter.c
@@ -2376,13 +2376,9 @@ loop_only_exit_p (const class loop *loop, basic_block *body, const_edge exit)
     return false;
 
   for (i = 0; i < loop->num_nodes; i++)
-    {
-      for (bsi = gsi_start_bb (body[i]); !gsi_end_p (bsi); gsi_next (&bsi))
-	if (stmt_can_terminate_bb_p (gsi_stmt (bsi)))
-	  {
-	    return true;
-	  }
-    }
+    for (bsi = gsi_start_bb (body[i]); !gsi_end_p (bsi); gsi_next (&bsi))
+      if (stmt_can_terminate_bb_p (gsi_stmt (bsi)))
+	return false;
 
   return true;
 }

Reply via email to