aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKazu Hirata <kazu@cs.umass.edu>2004-11-26 17:02:49 +0000
committerKazu Hirata <kazu@gcc.gnu.org>2004-11-26 17:02:49 +0000
commit7510740de1b8ce91ee2cd969de1e585e406e3b8f (patch)
tree43fa5c6cd4e8b162c9cb6bef15323fe4d39b7682 /gcc
parent276318a57f61baf531633700b9678f92273f5573 (diff)
downloadgcc-7510740de1b8ce91ee2cd969de1e585e406e3b8f.zip
gcc-7510740de1b8ce91ee2cd969de1e585e406e3b8f.tar.gz
gcc-7510740de1b8ce91ee2cd969de1e585e406e3b8f.tar.bz2
* tree-cfg.c (tree_split_edge): Speed up by using find_edge.
From-SVN: r91341
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog2
-rw-r--r--gcc/tree-cfg.c10
2 files changed, 5 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index afa679f..5f6d899 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -2,6 +2,8 @@
* cse.c, tree-ssa-operands.c: Fix comment typos.
+ * tree-cfg.c (tree_split_edge): Speed up by using find_edge.
+
2004-11-26 James A. Morrison <phython@gcc.gnu.org>
PR target/18510
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index 2d02f71..ee0bce2 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -3144,7 +3144,6 @@ tree_split_edge (edge edge_in)
{
basic_block new_bb, after_bb, dest, src;
edge new_edge, e;
- edge_iterator ei;
/* Abnormal edges cannot be split. */
gcc_assert (!(edge_in->flags & EDGE_ABNORMAL));
@@ -3155,13 +3154,10 @@ tree_split_edge (edge edge_in)
/* Place the new block in the block list. Try to keep the new block
near its "logical" location. This is of most help to humans looking
at debugging dumps. */
- FOR_EACH_EDGE (e, ei, dest->preds)
- if (e->src->next_bb == dest)
- break;
- if (!e)
- after_bb = dest->prev_bb;
- else
+ if (dest->prev_bb && find_edge (dest->prev_bb, dest))
after_bb = edge_in->src;
+ else
+ after_bb = dest->prev_bb;
new_bb = create_empty_bb (after_bb);
new_bb->frequency = EDGE_FREQUENCY (edge_in);