diff options
author | Steven Bosscher <steven@gcc.gnu.org> | 2013-04-16 06:24:47 +0000 |
---|---|---|
committer | Steven Bosscher <steven@gcc.gnu.org> | 2013-04-16 06:24:47 +0000 |
commit | 96fba5210e819b3354e8ca8d99c1b13e417277d8 (patch) | |
tree | e33803d286079623c109356f39eb59a4ec4cadeb /gcc/bb-reorder.c | |
parent | 996943bea7a61c5583bf504b31d600b11159b6ed (diff) | |
download | gcc-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.c | 7 |
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; } } |