aboutsummaryrefslogtreecommitdiff
path: root/gcc/bb-reorder.c
diff options
context:
space:
mode:
authorSteven Bosscher <steven@gcc.gnu.org>2013-04-16 06:24:47 +0000
committerSteven Bosscher <steven@gcc.gnu.org>2013-04-16 06:24:47 +0000
commit96fba5210e819b3354e8ca8d99c1b13e417277d8 (patch)
treee33803d286079623c109356f39eb59a4ec4cadeb /gcc/bb-reorder.c
parent996943bea7a61c5583bf504b31d600b11159b6ed (diff)
downloadgcc-96fba5210e819b3354e8ca8d99c1b13e417277d8.zip
gcc-96fba5210e819b3354e8ca8d99c1b13e417277d8.tar.gz
gcc-96fba5210e819b3354e8ca8d99c1b13e417277d8.tar.bz2
re PR middle-end/43631 (var-tracking inserts notes with non-NULL BLOCK_FOR_INSN in between basic blocks)
PR middle-end/43631 * emit-rtl.c (make_note_raw): New function. (link_insn_into_chain): New static inline function. (add_insn): Use it. (add_insn_before, add_insn_after): Factor insn chain linking code... (add_insn_before_nobb, add_insn_after_nobb): ...here, new functions using link_insn_into_chain. (note_outside_basic_block_p): New helper function for emit_note_after and emit_note_before. (emit_note_after): Use nobb variant of add_insn_after if the note should not be contained in a basic block. (emit_note_before): Use nobb variant of add_insn_before if the note should not be contained in a basic block. (emit_note_copy): Use make_note_raw. (emit_note): Likewise. * bb-reorder.c (insert_section_boundary_note): Remove hack to set BLOCK_FOR_INSN to NULL manually for NOTE_INSN_SWITCH_TEXT_SECTIONS. * jump.c (cleanup_barriers): Use reorder_insns_nobb to avoid making the moved barrier the tail of the basic block it follows. * var-tracking.c (pass_variable_tracking): Add TODO_verify_flow. From-SVN: r197994
Diffstat (limited to 'gcc/bb-reorder.c')
-rw-r--r--gcc/bb-reorder.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/gcc/bb-reorder.c b/gcc/bb-reorder.c
index 7605e17..abb2e39 100644
--- a/gcc/bb-reorder.c
+++ b/gcc/bb-reorder.c
@@ -2173,7 +2173,6 @@ static void
insert_section_boundary_note (void)
{
basic_block bb;
- rtx new_note;
int first_partition = 0;
if (!flag_reorder_blocks_and_partition)
@@ -2185,11 +2184,7 @@ insert_section_boundary_note (void)
first_partition = BB_PARTITION (bb);
if (BB_PARTITION (bb) != first_partition)
{
- new_note = emit_note_before (NOTE_INSN_SWITCH_TEXT_SECTIONS,
- BB_HEAD (bb));
- /* ??? This kind of note always lives between basic blocks,
- but add_insn_before will set BLOCK_FOR_INSN anyway. */
- BLOCK_FOR_INSN (new_note) = NULL;
+ emit_note_before (NOTE_INSN_SWITCH_TEXT_SECTIONS, BB_HEAD (bb));
break;
}
}