diff options
author | Kazu Hirata <kazu@cs.umass.edu> | 2004-11-27 17:33:11 +0000 |
---|---|---|
committer | Kazu Hirata <kazu@gcc.gnu.org> | 2004-11-27 17:33:11 +0000 |
commit | 51027369ac48d434f1c9d50033f1000554f995af (patch) | |
tree | 3e71f09b7e3fe94204b57b2bbf9576fcb7c9e4f6 | |
parent | cdef8bc6d1ad756c5b7508168a95351270347b45 (diff) | |
download | gcc-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/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/bb-reorder.c | 10 |
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); |