aboutsummaryrefslogtreecommitdiff
path: root/gcc/sched-rgn.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@gcc.gnu.org>2001-12-30 20:19:35 -0800
committerRichard Henderson <rth@gcc.gnu.org>2001-12-30 20:19:35 -0800
commitd73b1f074b027d0bf173cbe7b6dc88df5307889c (patch)
treeeda556eeb126b284e63a737eeba7cb809f6af60e /gcc/sched-rgn.c
parenteb3aaa5b8614583989296fe7a7ce16baf7c258f4 (diff)
downloadgcc-d73b1f074b027d0bf173cbe7b6dc88df5307889c.zip
gcc-d73b1f074b027d0bf173cbe7b6dc88df5307889c.tar.gz
gcc-d73b1f074b027d0bf173cbe7b6dc88df5307889c.tar.bz2
cfglayout.c (scope_def, [...]): Remove.
* cfglayout.c (scope_def, scope_forest_info, forest, relate_bbs_with_scopes, make_new_scope, build_scope_forest, remove_scope_notes, insert_intra_before_1, insert_intra_1, insert_intra_bb_scope_notes, insert_inter_bb_scope_notes, rebuild_scope_notes, free_scope_forest_1, dump_scope_forest, dump_scope_forest_1, get_next_bb_note, get_prev_bb_note): Remove. (fixup_reorder_chain): Don't set scope for bb. (insn_scopes, scope_to_insns_initialize, set_block_levels, change_scope, scope_to_insns_finalize): New. (cfg_layout_initialize, cfg_layout_finalize): Update to match. * cfglayout.h (scope_def, scope): Remove. (reorder_block_def): Remove scope member. (scope_to_insns_initialize, scope_to_insns_finalize): Declare. * haifa-sched.c: Revert reemit_other_notes change. * sched-ebb.c (schedule_ebbs): Don't call remove_unnecessary_notes. Use scope_to_insns_initialize and scope_to_insns_finalize. * sched-rgn.c (schedule_insns): Likewise. * gcc.dg/debug-6.c: New. From-SVN: r48412
Diffstat (limited to 'gcc/sched-rgn.c')
-rw-r--r--gcc/sched-rgn.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/sched-rgn.c b/gcc/sched-rgn.c
index 6824204..892c03f 100644
--- a/gcc/sched-rgn.c
+++ b/gcc/sched-rgn.c
@@ -60,6 +60,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "except.h"
#include "toplev.h"
#include "recog.h"
+#include "cfglayout.h"
#include "sched-int.h"
/* Define when we want to do count REG_DEAD notes before and after scheduling
@@ -2896,9 +2897,7 @@ schedule_insns (dump_file)
if (n_basic_blocks == 0)
return;
- /* Remove lexical block notes for empty regions. These get shuffled
- about during scheduling and confuse the debugging issue. */
- remove_unnecessary_notes ();
+ scope_to_insns_initialize ();
nr_inter = 0;
nr_spec = 0;
@@ -2986,6 +2985,8 @@ schedule_insns (dump_file)
if (write_symbols != NO_DEBUG)
rm_redundant_line_notes ();
+ scope_to_insns_finalize ();
+
if (sched_verbose)
{
if (reload_completed == 0 && flag_schedule_interblock)