OSDN Git Service

* tree-cfg.c (tree_redirect_edge_and_branch): Call find_edge
authorkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 29 Nov 2004 18:00:01 +0000 (18:00 +0000)
committerkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 29 Nov 2004 18:00:01 +0000 (18:00 +0000)
only when needed.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@91476 138bc75d-0d04-0410-961f-82ee72b054a4

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;