cfgrtl.c (rtl_tidy_fallthru_edge): Speed up by using EDGE_COUNT.
authorKazu Hirata <kazu@cs.umass.edu>
Mon, 29 Nov 2004 17:58:27 +0000 (17:58 +0000)
committerKazu Hirata <kazu@gcc.gnu.org>
Mon, 29 Nov 2004 17:58:27 +0000 (17:58 +0000)
* cfgrtl.c (rtl_tidy_fallthru_edge): Speed up by using
EDGE_COUNT.

From-SVN: r91475

gcc/ChangeLog
gcc/cfgrtl.c

index 4f6a58d0f043993573d9dd62c549b7a6246eace4..c2f9438d5eb6c9921f30b40e0d42c7aa625aea4a 100644 (file)
@@ -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
index 818c5b826e8ff9c6120cf2186bdcdbca4ed081c5..a439b8d857d2e63970b91ee728de76b23dc6626f 100644 (file)
@@ -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