OSDN Git Service

* gimplify.c (gimplify_modify_expr_rhs) <VAR_DECL>: Do not do a direct
[pf3gnuchains/gcc-fork.git] / gcc / cfgcleanup.c
index 8b9756d..39aae8c 100644 (file)
@@ -483,7 +483,7 @@ try_forward_edges (int mode, basic_block b)
                     blocks with different locus are not optimized out.  */
                  int locus = single_succ_edge (target)->goto_locus;
 
-                 if (locus && goto_locus && locus != goto_locus)
+                 if (locus && goto_locus && !locator_eq (locus, goto_locus))
                    counter = n_basic_blocks;
                  else if (locus)
                    goto_locus = locus;
@@ -492,7 +492,8 @@ try_forward_edges (int mode, basic_block b)
                    {
                      locus = INSN_LOCATOR (BB_END (target));
 
-                     if (locus && goto_locus && locus != goto_locus)
+                     if (locus && goto_locus
+                         && !locator_eq (locus, goto_locus))
                        counter = n_basic_blocks;
                      else if (locus)
                        goto_locus = locus;
@@ -2197,8 +2198,6 @@ cleanup_cfg (int mode)
 static unsigned int
 rest_of_handle_jump (void)
 {
-  delete_unreachable_blocks ();
-
   if (crtl->tail_call_emit)
     fixup_tail_calls ();
   return 0;