aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKazu Hirata <kazu@cs.umass.edu>2004-11-27 17:33:11 +0000
committerKazu Hirata <kazu@gcc.gnu.org>2004-11-27 17:33:11 +0000
commit51027369ac48d434f1c9d50033f1000554f995af (patch)
tree3e71f09b7e3fe94204b57b2bbf9576fcb7c9e4f6
parentcdef8bc6d1ad756c5b7508168a95351270347b45 (diff)
downloadgcc-51027369ac48d434f1c9d50033f1000554f995af.zip
gcc-51027369ac48d434f1c9d50033f1000554f995af.tar.gz
gcc-51027369ac48d434f1c9d50033f1000554f995af.tar.bz2
bb-reorder.c (find_traces_1_round): Speed up by using EDGE_COUNT instead of FOR_EACH_EDGE.
* bb-reorder.c (find_traces_1_round): Speed up by using EDGE_COUNT instead of FOR_EACH_EDGE. From-SVN: r91386
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/bb-reorder.c10
2 files changed, 5 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 95ae7a7..9ff8e91 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -6,6 +6,9 @@
Replace operand_equal_p with operand_for_phi_arg_p
appropriately.
+ * bb-reorder.c (find_traces_1_round): Speed up by using
+ EDGE_COUNT instead of FOR_EACH_EDGE.
+
2004-11-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
PR pch/14940
diff --git a/gcc/bb-reorder.c b/gcc/bb-reorder.c
index 603f921..774affb 100644
--- a/gcc/bb-reorder.c
+++ b/gcc/bb-reorder.c
@@ -638,14 +638,8 @@ find_traces_1_round (int branch_th, int exec_th, gcov_type count_th,
{
/* The loop has less than 4 iterations. */
- /* Check whether there is another edge from BB. */
- edge another_edge;
- FOR_EACH_EDGE (another_edge, ei, bb->succs)
- if (another_edge != best_edge)
- break;
-
- if (!another_edge && copy_bb_p (best_edge->dest,
- !optimize_size))
+ if (EDGE_COUNT (bb->succs) == 1
+ && copy_bb_p (best_edge->dest, !optimize_size))
{
bb = copy_bb (best_edge->dest, best_edge, bb,
*n_traces);