cfgrtl.c (rtl_merge_blocks): Check with UNKNOWN_LOCATION correctly.
authorDehao Chen <dehao@google.com>
Tue, 27 Nov 2012 14:39:33 +0000 (14:39 +0000)
committerDehao Chen <dehao@gcc.gnu.org>
Tue, 27 Nov 2012 14:39:33 +0000 (14:39 +0000)
2012-11-27  Dehao Chen  <dehao@google.com>

* cfgrtl.c (rtl_merge_blocks): Check with UNKNOWN_LOCATION correctly.
(cfg_layout_merge_blocks): Likewise.

From-SVN: r193852

gcc/ChangeLog
gcc/cfgrtl.c

index 6742bbf..da5ccea 100644 (file)
@@ -1,3 +1,8 @@
+2012-11-27  Dehao Chen  <dehao@google.com>
+
+       * cfgrtl.c (rtl_merge_blocks): Check with UNKNOWN_LOCATION correctly.
+       (cfg_layout_merge_blocks): Likewise.
+
 2012-11-27  Jakub Jelinek  <jakub@redhat.com>
 
        * passes.c (init_optimization_passes): Add pass_asan and pass_tsan
index a5bb974..197f871 100644 (file)
@@ -890,7 +890,8 @@ rtl_merge_blocks (basic_block a, basic_block b)
   df_bb_delete (b->index);
 
   /* If B was a forwarder block, propagate the locus on the edge.  */
-  if (forwarder_p && !EDGE_SUCC (b, 0)->goto_locus)
+  if (forwarder_p
+      && LOCATION_LOCUS (EDGE_SUCC (b, 0)->goto_locus) == UNKNOWN_LOCATION)
     EDGE_SUCC (b, 0)->goto_locus = EDGE_SUCC (a, 0)->goto_locus;
 
   if (dump_file)
@@ -4149,7 +4150,7 @@ cfg_layout_merge_blocks (basic_block a, basic_block b)
 
   /* If B was a forwarder block, propagate the locus on the edge.  */
   if (forwarder_p
-      && LOCATION_LOCUS (EDGE_SUCC (b, 0)->goto_locus) != UNKNOWN_LOCATION)
+      && LOCATION_LOCUS (EDGE_SUCC (b, 0)->goto_locus) == UNKNOWN_LOCATION)
     EDGE_SUCC (b, 0)->goto_locus = EDGE_SUCC (a, 0)->goto_locus;
 
   if (dump_file)