cfghooks.c (redirect_edge_and_branch_force): Localize variable.
authorEric Botcazou <ebotcazou@gcc.gnu.org>
Mon, 11 Apr 2011 21:54:59 +0000 (21:54 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Mon, 11 Apr 2011 21:54:59 +0000 (21:54 +0000)
* cfghooks.c (redirect_edge_and_branch_force): Localize variable.
(force_nonfallthru): Do not alter the loop nest if no basic block
was created.

From-SVN: r172281

gcc/ChangeLog
gcc/cfghooks.c

index 89dc4087041199cf23506460b9ec4db0b9a9c0a1..127b189504cf41ef4001d7dbff979778e7c755f5 100644 (file)
@@ -1,4 +1,10 @@
-2011-04-12  Uros Bizjak  <ubizjak@gmail.com>
+2011-04-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * cfghooks.c (redirect_edge_and_branch_force): Localize variable.
+       (force_nonfallthru): Do not alter the loop nest if no basic block
+       was created.
+
+2011-04-11  Uros Bizjak  <ubizjak@gmail.com>
 
        * config/i386/sse.md (VI): New mode iterator.
        (SSEMODEI): Remove.
index 34685f4444adbf7ee45ca0081be93881c121852f..c4c51cc44042cf4258d9fbbe23c1aa8218578164 100644 (file)
@@ -388,7 +388,6 @@ basic_block
 redirect_edge_and_branch_force (edge e, basic_block dest)
 {
   basic_block ret, src = e->src;
-  struct loop *loop;
 
   if (!cfg_hooks->redirect_edge_and_branch_force)
     internal_error ("%s does not support redirect_edge_and_branch_force",
@@ -398,6 +397,7 @@ redirect_edge_and_branch_force (edge e, basic_block dest)
     rescan_loop_exit (e, false, true);
 
   ret = cfg_hooks->redirect_edge_and_branch_force (e, dest);
+
   if (ret != NULL && dom_info_available_p (CDI_DOMINATORS))
     set_immediate_dominator (CDI_DOMINATORS, ret, src);
 
@@ -405,8 +405,9 @@ redirect_edge_and_branch_force (edge e, basic_block dest)
     {
       if (ret != NULL)
        {
-         loop = find_common_loop (single_pred (ret)->loop_father,
-                                  single_succ (ret)->loop_father);
+         struct loop *loop
+           = find_common_loop (single_pred (ret)->loop_father,
+                               single_succ (ret)->loop_father);
          add_bb_to_loop (ret, loop);
        }
       else if (find_edge (src, dest) == e)
@@ -882,30 +883,26 @@ tidy_fallthru_edges (void)
 basic_block
 force_nonfallthru (edge e)
 {
-  basic_block ret, src = e->src, dest = e->dest;
-  struct loop *loop;
+  basic_block ret, src = e->src;
 
   if (!cfg_hooks->force_nonfallthru)
     internal_error ("%s does not support force_nonfallthru",
                    cfg_hooks->name);
 
-  if (current_loops != NULL)
-    rescan_loop_exit (e, false, true);
-
   ret = cfg_hooks->force_nonfallthru (e);
-  if (ret != NULL && dom_info_available_p (CDI_DOMINATORS))
-    set_immediate_dominator (CDI_DOMINATORS, ret, src);
-
-  if (current_loops != NULL)
+  if (ret != NULL)
     {
-      if (ret != NULL)
+      if (dom_info_available_p (CDI_DOMINATORS))
+       set_immediate_dominator (CDI_DOMINATORS, ret, src);
+
+      if (current_loops != NULL)
        {
-         loop = find_common_loop (single_pred (ret)->loop_father,
-                                  single_succ (ret)->loop_father);
+         struct loop *loop
+           = find_common_loop (single_pred (ret)->loop_father,
+                               single_succ (ret)->loop_father);
+         rescan_loop_exit (e, false, true);
          add_bb_to_loop (ret, loop);
        }
-      else if (find_edge (src, dest) == e)
-       rescan_loop_exit (e, true, false);
     }
 
   return ret;