[SFN] debug markers before labels no more
commitd71c73164c3cc73c51c118aa7d552243c19a33c4
authoraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 20 Dec 2017 14:48:34 +0000 (20 14:48 +0000)
committeraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 20 Dec 2017 14:48:34 +0000 (20 14:48 +0000)
tree6093bd1b061517b897df00a25e329bbff6c51b48
parente61263f2e72b900ff96cf0138f2510e55a25b415
[SFN] debug markers before labels no more

Make sure that gimple and RTL IRs don't have debug markers before
labels.  When we build the CFG, we move labels before any markers
appearing before them.  Then, make sure we don't mistakenly
reintroduce them.

This reverts some of the complexity that had been brought about by the
initial SFN patches.

for  gcc/ChangeLog

PR bootstrap/83396
* cfgexpand.c (label_rtx_for_bb): Revert SFN changes that
allowed debug stmts before labels.
(expand_gimple_basic_block): Likewise.
* gimple-iterator.c (gimple_find_edge_insert_loc): Likewise.
* gimple-iterator.h (gsi_after_labels): Likewise.
* tree-cfgcleanup (remove_forwarder_block): Likewise, but
rename reused variable, and simplify using gsi_move_before.
* tree-ssa-tail-merge.c (find_duplicate): Likewise.
* tree-cfg.c (make_edges, cleanup_dead_labels): Likewise.
(gimple_can_merge_blocks_p, verify_gimple_in_cfg): Likewise.
(gimple_verify_flow_info, gimple_block_label): Likewise.
(make_blocks): Move debug markers after adjacent labels.
* cfgrtl.c (skip_insns_after_block): Revert SFN changes that
allowed debug insns outside blocks.
* df-scan.c (df_insn_delete): Likewise.
* lra-constraints.c (update_ebb_live_info): Likewise.
* var-tracking.c (get_first_insn, vt_emit_notes): Likewise.
(vt_initialize, delete_vta_debug_insns): Likewise.
(reemit_marker_as_note): Drop BB parm.  Adjust callers.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@255895 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/cfgexpand.c
gcc/cfgrtl.c
gcc/df-scan.c
gcc/gimple-iterator.c
gcc/gimple-iterator.h
gcc/lra-constraints.c
gcc/tree-cfg.c
gcc/tree-cfgcleanup.c
gcc/tree-ssa-tail-merge.c
gcc/var-tracking.c