https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83396

--- Comment #84 from Alexandre Oliva <aoliva at gcc dot gnu.org> ---
Author: aoliva
Date: Wed Dec 20 14:48:34 2017
New Revision: 255895

URL: https://gcc.gnu.org/viewcvs?rev=255895&root=gcc&view=rev
Log:
[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.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/cfgexpand.c
    trunk/gcc/cfgrtl.c
    trunk/gcc/df-scan.c
    trunk/gcc/gimple-iterator.c
    trunk/gcc/gimple-iterator.h
    trunk/gcc/lra-constraints.c
    trunk/gcc/tree-cfg.c
    trunk/gcc/tree-cfgcleanup.c
    trunk/gcc/tree-ssa-tail-merge.c
    trunk/gcc/var-tracking.c

Reply via email to