aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKazu Hirata <kazu@cs.umass.edu>2004-11-29 17:58:27 +0000
committerKazu Hirata <kazu@gcc.gnu.org>2004-11-29 17:58:27 +0000
commitafb7cf18071d83e6849b39398d0aa1be86019c3e (patch)
tree7ce83b4d3578f508f6593c71b2b64feb111545c9 /gcc
parent03101c6f2b4ce8f254b707b709183a08ef41de1f (diff)
downloadgcc-afb7cf18071d83e6849b39398d0aa1be86019c3e.zip
gcc-afb7cf18071d83e6849b39398d0aa1be86019c3e.tar.gz
gcc-afb7cf18071d83e6849b39398d0aa1be86019c3e.tar.bz2
cfgrtl.c (rtl_tidy_fallthru_edge): Speed up by using EDGE_COUNT.
* cfgrtl.c (rtl_tidy_fallthru_edge): Speed up by using EDGE_COUNT. From-SVN: r91475
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/cfgrtl.c8
2 files changed, 4 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4f6a58d..c2f9438 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -9,6 +9,9 @@
* cfgrtl.c (cfg_layout_redirect_edge_and_branch): Speed up by
simplifying edge manipulation.
+ * cfgrtl.c (rtl_tidy_fallthru_edge): Speed up by using
+ EDGE_COUNT.
+
2004-11-29 Alan Modra <amodra@bigpond.net.au>
* varasm.c (default_elf_select_section_1): Only pass DECL_P decl
diff --git a/gcc/cfgrtl.c b/gcc/cfgrtl.c
index 818c5b8..a439b8d 100644
--- a/gcc/cfgrtl.c
+++ b/gcc/cfgrtl.c
@@ -1201,12 +1201,6 @@ rtl_tidy_fallthru_edge (edge e)
{
rtx q;
basic_block b = e->src, c = b->next_bb;
- edge e2;
- edge_iterator ei;
-
- FOR_EACH_EDGE (e2, ei, b->succs)
- if (e == e2)
- break;
/* ??? In a late-running flow pass, other folks may have deleted basic
blocks by nopping out blocks, leaving multiple BARRIERs between here
@@ -1229,7 +1223,7 @@ rtl_tidy_fallthru_edge (edge e)
if (JUMP_P (q)
&& onlyjump_p (q)
&& (any_uncondjump_p (q)
- || (EDGE_SUCC (b, 0) == e && ei.index == EDGE_COUNT (b->succs) - 1)))
+ || EDGE_COUNT (b->succs) == 1))
{
#ifdef HAVE_cc0
/* If this was a conditional jump, we need to also delete