tree-cfg.c (tree_redirect_edge_and_branch): Call find_edge only when needed.
authorKazu Hirata <kazu@cs.umass.edu>
Mon, 29 Nov 2004 18:00:01 +0000 (18:00 +0000)
committerKazu Hirata <kazu@gcc.gnu.org>
Mon, 29 Nov 2004 18:00:01 +0000 (18:00 +0000)
* tree-cfg.c (tree_redirect_edge_and_branch): Call find_edge
only when needed.

From-SVN: r91476

gcc/ChangeLog
gcc/tree-cfg.c

index c2f9438..fe965bf 100644 (file)
@@ -12,6 +12,9 @@
        * cfgrtl.c (rtl_tidy_fallthru_edge): Speed up by using
        EDGE_COUNT.
 
+       * tree-cfg.c (tree_redirect_edge_and_branch): Call find_edge
+       only when needed.
+
 2004-11-29  Alan Modra  <amodra@bigpond.net.au>
 
        * varasm.c (default_elf_select_section_1): Only pass DECL_P decl
index 37a6920..f206083 100644 (file)
@@ -4315,12 +4315,12 @@ tree_redirect_edge_and_branch (edge e, basic_block dest)
     case SWITCH_EXPR:
       {
         tree cases = get_cases_for_edge (e, stmt);
-       edge e2 = find_edge (e->src, dest);
 
        /* If we have a list of cases associated with E, then use it
           as it's a lot faster than walking the entire case vector.  */
        if (cases)
          {
+           edge e2 = find_edge (e->src, dest);
            tree last, first;
 
            first = cases;