From fbc68f2a00aedf4351488ecbb45b80cecf3b3f2e Mon Sep 17 00:00:00 2001 From: Dehao Chen Date: Tue, 27 Nov 2012 14:39:33 +0000 Subject: [PATCH] cfgrtl.c (rtl_merge_blocks): Check with UNKNOWN_LOCATION correctly. 2012-11-27 Dehao Chen * cfgrtl.c (rtl_merge_blocks): Check with UNKNOWN_LOCATION correctly. (cfg_layout_merge_blocks): Likewise. From-SVN: r193852 --- gcc/ChangeLog | 5 +++++ gcc/cfgrtl.c | 5 +++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6742bbf..da5ccea 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2012-11-27 Dehao Chen + + * cfgrtl.c (rtl_merge_blocks): Check with UNKNOWN_LOCATION correctly. + (cfg_layout_merge_blocks): Likewise. + 2012-11-27 Jakub Jelinek * passes.c (init_optimization_passes): Add pass_asan and pass_tsan diff --git a/gcc/cfgrtl.c b/gcc/cfgrtl.c index a5bb974..197f871 100644 --- a/gcc/cfgrtl.c +++ b/gcc/cfgrtl.c @@ -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) -- 2.7.4