diff options
author | Mark Mitchell <mark@codesourcery.com> | 1999-10-26 08:34:46 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 1999-10-26 08:34:46 +0000 |
commit | 2af0ac2840b9c719483401c5c0c90d589d63b5c3 (patch) | |
tree | db6b933a6722ed9333f4f346ff709a8b93827c41 /gcc | |
parent | ce7cbc76392ccc554f93f96be61152ae0e5f8dea (diff) | |
download | gcc-2af0ac2840b9c719483401c5c0c90d589d63b5c3.zip gcc-2af0ac2840b9c719483401c5c0c90d589d63b5c3.tar.gz gcc-2af0ac2840b9c719483401c5c0c90d589d63b5c3.tar.bz2 |
tree.h (BLOCK_TYPE_TAGS): Remove.
* tree.h (BLOCK_TYPE_TAGS): Remove.
(BLOCK_END_NOTE): Likewise.
(BLOCK_LIVE_RANGE_FLAG): Likewise.
(BLOCK_LIVE_RANGE_START): Likewise.
(BLOCK_LIVE_RANGE_END): Likewise.
(tree_block): Remove live_range_flag, live_range_var_flag, and
type_tags. Remove end_note, live_range_start, and live_range_end.
(remember_end_note): Remove prototype.
* tree.c (build_block): Don't set BLOCK_TYPE_TAGS.
* c-decl.c (poplevel): Don't set BLOCK_TYPE_TAGS or call
remember_end_note.
* ggc-common.c (ggc_mark_tree_children): Don't mark
BLOCK_TYPE_TAGS or BLOCK_END_NOTE.
* integrate.c (adjust_copied_decl_tree): Remove.
* print-tree.c (print_node): Don't print BLOCK_TYPE_TAGS.
* stmt.c (last_block_end_note): Remove.
(init_stmt): Don't add a GC root for it.
(expand_fixup): Don't set it.
(remember_end_note): Remove.
(expand_end_bindings): Don't set last_block_end_note.
* ch-tree.h (remember_end_note): Remove prototype.
* decl.c (poplevel): Don't call remember_end_note.
* decl.c (poplevel): Don't set BLOCK_TYPE_TAGS. Don't call
remember_end_note.
* com.c (poplevel): Don't call remember_end_note.
* decl.c (poplevel): Don't set BLOCK_TYPE_TAGS or call
remember_end_note.
From-SVN: r30188
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 23 | ||||
-rw-r--r-- | gcc/c-decl.c | 2 | ||||
-rw-r--r-- | gcc/ch/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ch/ch-tree.h | 3 | ||||
-rw-r--r-- | gcc/ch/decl.c | 1 | ||||
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/decl.c | 10 | ||||
-rw-r--r-- | gcc/f/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/f/com.c | 1 | ||||
-rw-r--r-- | gcc/ggc-common.c | 2 | ||||
-rw-r--r-- | gcc/integrate.c | 25 | ||||
-rw-r--r-- | gcc/java/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/java/decl.c | 2 | ||||
-rw-r--r-- | gcc/print-tree.c | 1 | ||||
-rw-r--r-- | gcc/stmt.c | 23 | ||||
-rw-r--r-- | gcc/tree.c | 1 | ||||
-rw-r--r-- | gcc/tree.h | 21 |
17 files changed, 45 insertions, 89 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 24f2e3e..2941248 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,26 @@ +Tue Oct 26 01:27:32 1999 Mark Mitchell <mark@codesourcery.com> + + * tree.h (BLOCK_TYPE_TAGS): Remove. + (BLOCK_END_NOTE): Likewise. + (BLOCK_LIVE_RANGE_FLAG): Likewise. + (BLOCK_LIVE_RANGE_START): Likewise. + (BLOCK_LIVE_RANGE_END): Likewise. + (tree_block): Remove live_range_flag, live_range_var_flag, and + type_tags. Remove end_note, live_range_start, and live_range_end. + (remember_end_note): Remove prototype. + * tree.c (build_block): Don't set BLOCK_TYPE_TAGS. + * c-decl.c (poplevel): Don't set BLOCK_TYPE_TAGS or call + remember_end_note. + * ggc-common.c (ggc_mark_tree_children): Don't mark + BLOCK_TYPE_TAGS or BLOCK_END_NOTE. + * integrate.c (adjust_copied_decl_tree): Remove. + * print-tree.c (print_node): Don't print BLOCK_TYPE_TAGS. + * stmt.c (last_block_end_note): Remove. + (init_stmt): Don't add a GC root for it. + (expand_fixup): Don't set it. + (remember_end_note): Remove. + (expand_end_bindings): Don't set last_block_end_note. + Tue Oct 26 00:41:54 1999 Bernd Schmidt <bernds@cygnus.co.uk> * reload1.c (reload_reg_free_for_value_p): Show diff --git a/gcc/c-decl.c b/gcc/c-decl.c index ab1c053..e64f0a7 100644 --- a/gcc/c-decl.c +++ b/gcc/c-decl.c @@ -1055,9 +1055,7 @@ poplevel (keep, reverse, functionbody) if (block != 0) { BLOCK_VARS (block) = decls; - BLOCK_TYPE_TAGS (block) = tags; BLOCK_SUBBLOCKS (block) = subblocks; - remember_end_note (block); } /* In each subblock, record that this is its superior. */ diff --git a/gcc/ch/ChangeLog b/gcc/ch/ChangeLog index 779e08f..5343848 100644 --- a/gcc/ch/ChangeLog +++ b/gcc/ch/ChangeLog @@ -1,3 +1,8 @@ +1999-10-26 Mark Mitchell <mark@codesourcery.com> + + * ch-tree.h (remember_end_note): Remove prototype. + * decl.c (poplevel): Don't call remember_end_note. + Fri Sep 24 10:48:10 1999 Bernd Schmidt <bernds@cygnus.co.uk> * ch-tree.h (builtin_function): Don't declare. diff --git a/gcc/ch/ch-tree.h b/gcc/ch/ch-tree.h index 40e7b13b..effa886 100644 --- a/gcc/ch/ch-tree.h +++ b/gcc/ch/ch-tree.h @@ -1120,9 +1120,6 @@ extern void push_function_context PROTO((void)); /* in integrate.c */ extern void output_inline_function PROTO((tree)); -/* in stmt.c */ -extern void remember_end_note PROTO((tree)); - /* in toplev.c */ extern void announce_function PROTO((tree)); extern int floor_log2_wide PROTO((unsigned HOST_WIDE_INT)); diff --git a/gcc/ch/decl.c b/gcc/ch/decl.c index 8b65179..01cf6c4 100644 --- a/gcc/ch/decl.c +++ b/gcc/ch/decl.c @@ -2940,7 +2940,6 @@ poplevel (keep, reverse, functionbody) } BLOCK_SUBBLOCKS (block) = subblocks; - remember_end_note (block); } /* In each subblock, record that this is its superior. */ diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index bdacb7a..4f38378 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +1999-10-26 Mark Mitchell <mark@codesourcery.com> + + * decl.c (poplevel): Don't set BLOCK_TYPE_TAGS. Don't call + remember_end_note. + 1999-10-24 Mark Mitchell <mark@codesourcery.com> * decl.c (push_overloaded_decl_1): Use pushdecl. diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index 5357872..329c9f9 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -1233,11 +1233,10 @@ poplevel (keep, reverse, functionbody) { if (decls || tags || subblocks) { - if (BLOCK_VARS (block) || BLOCK_TYPE_TAGS (block)) + if (BLOCK_VARS (block)) warning ("internal compiler error: debugging info corrupted"); BLOCK_VARS (block) = decls; - BLOCK_TYPE_TAGS (block) = tags; /* We can have previous subblocks and new subblocks when doing fixup_gotos with complex cleanups. We chain the new @@ -1245,18 +1244,11 @@ poplevel (keep, reverse, functionbody) BLOCK_SUBBLOCKS (block) = chainon (BLOCK_SUBBLOCKS (block), subblocks); } - /* If we created the block earlier on, and we are just - diddling it now, then it already should have a proper - BLOCK_END_NOTE value associated with it. */ } else { BLOCK_VARS (block) = decls; - BLOCK_TYPE_TAGS (block) = tags; BLOCK_SUBBLOCKS (block) = subblocks; - /* Otherwise, for a new block, install a new BLOCK_END_NOTE - value. */ - remember_end_note (block); } } diff --git a/gcc/f/ChangeLog b/gcc/f/ChangeLog index 91433a2..f676c45 100644 --- a/gcc/f/ChangeLog +++ b/gcc/f/ChangeLog @@ -1,3 +1,7 @@ +Tue Oct 26 01:32:19 1999 Mark Mitchell <mark@codesourcery.com> + + * com.c (poplevel): Don't call remember_end_note. + Fri Oct 15 15:18:12 1999 Greg McGary <gkm@gnu.org> * top.h (ffe_is_subscript_check_): Remove extern decl. diff --git a/gcc/f/com.c b/gcc/f/com.c index 9420b38..522bd24 100644 --- a/gcc/f/com.c +++ b/gcc/f/com.c @@ -15112,7 +15112,6 @@ poplevel (keep, reverse, functionbody) { BLOCK_VARS (block) = decls; BLOCK_SUBBLOCKS (block) = subblocks; - remember_end_note (block); } /* In each subblock, record that this is its superior. */ diff --git a/gcc/ggc-common.c b/gcc/ggc-common.c index 3aa0d99..2d8631d 100644 --- a/gcc/ggc-common.c +++ b/gcc/ggc-common.c @@ -389,11 +389,9 @@ ggc_mark_tree_children (t) case 'b': /* A lexical block. */ ggc_mark_tree (BLOCK_VARS (t)); - ggc_mark_tree (BLOCK_TYPE_TAGS (t)); ggc_mark_tree (BLOCK_SUBBLOCKS (t)); ggc_mark_tree (BLOCK_SUPERCONTEXT (t)); ggc_mark_tree (BLOCK_ABSTRACT_ORIGIN (t)); - ggc_mark_rtx (BLOCK_END_NOTE (t)); break; case 'c': /* A constant. */ diff --git a/gcc/integrate.c b/gcc/integrate.c index 6c5abe8..2bfbecf 100644 --- a/gcc/integrate.c +++ b/gcc/integrate.c @@ -63,7 +63,6 @@ extern struct obstack *function_maybepermanent_obstack; #endif static rtvec initialize_for_inline PROTO((tree)); -static void adjust_copied_decl_tree PROTO((tree)); static void note_modified_parmregs PROTO((rtx, rtx)); static void integrate_parm_decls PROTO((tree, struct inline_remap *, rtvec)); @@ -292,30 +291,6 @@ initialize_for_inline (fndecl) return arg_vector; } -/* Adjust the BLOCK_END_NOTE pointers in a given copied DECL tree so that - they all point to the new (copied) rtxs. */ - -static void -adjust_copied_decl_tree (block) - register tree block; -{ - register tree subblock; - register rtx original_end; - - original_end = BLOCK_END_NOTE (block); - if (original_end) - { - BLOCK_END_NOTE (block) = (rtx) NOTE_SOURCE_FILE (original_end); - NOTE_SOURCE_FILE (original_end) = 0; - } - - /* Process all subblocks. */ - for (subblock = BLOCK_SUBBLOCKS (block); - subblock; - subblock = TREE_CHAIN (subblock)) - adjust_copied_decl_tree (subblock); -} - /* Copy NODE (as with copy_node). NODE must be a DECL. Set the DECL_ABSTRACT_ORIGIN for the new accordinly. */ diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index ed2ca80..e52d7e4 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,8 @@ +1999-10-26 Mark Mitchell <mark@codesourcery.com> + + * decl.c (poplevel): Don't set BLOCK_TYPE_TAGS or call + remember_end_note. + 1999-10-21 Tom Tromey <tromey@cygnus.com> * jvgenmain.c (main): _Jv_Compiler_Properties now an extern; set diff --git a/gcc/java/decl.c b/gcc/java/decl.c index 38bafc1..ab22211 100644 --- a/gcc/java/decl.c +++ b/gcc/java/decl.c @@ -1192,9 +1192,7 @@ poplevel (keep, reverse, functionbody) if (block != 0) { BLOCK_VARS (block) = decls; - BLOCK_TYPE_TAGS (block) = NULL_TREE; BLOCK_SUBBLOCKS (block) = subblocks; - remember_end_note (block); } /* In each subblock, record that this is its superior. */ diff --git a/gcc/print-tree.c b/gcc/print-tree.c index 51e2ce9..4b82b89 100644 --- a/gcc/print-tree.c +++ b/gcc/print-tree.c @@ -528,7 +528,6 @@ print_node (file, prefix, node, indent) case 'b': print_node (file, "vars", BLOCK_VARS (node), indent + 4); - print_node (file, "tags", BLOCK_TYPE_TAGS (node), indent + 4); print_node (file, "supercontext", BLOCK_SUPERCONTEXT (node), indent + 4); print_node (file, "subblocks", BLOCK_SUBBLOCKS (node), indent + 4); print_node (file, "chain", BLOCK_CHAIN (node), indent + 4); @@ -64,12 +64,6 @@ struct obstack stmt_obstack; #define CASE_VECTOR_PC_RELATIVE 0 #endif -/* Each time we expand the end of a binding contour (in `expand_end_bindings') - and we emit a new NOTE_INSN_BLOCK_END note, we save a pointer to it here. - This is used by the `remember_end_note' function to record the endpoint - of each generated block in its associated BLOCK node. */ - -static rtx last_block_end_note; /* Functions and data structures for expanding case statements. */ @@ -598,7 +592,6 @@ init_stmt () int i; gcc_obstack_init (&stmt_obstack); - ggc_add_rtx_root (&last_block_end_note, 1); for (i = 0; i < 10; i++) { @@ -1046,7 +1039,7 @@ expand_fixup (tree_label, rtl_label, last_insn) start_sequence (); start = emit_note (NULL_PTR, NOTE_INSN_BLOCK_BEG); fixup->before_jump = emit_note (NULL_PTR, NOTE_INSN_DELETED); - last_block_end_note = emit_note (NULL_PTR, NOTE_INSN_BLOCK_END); + emit_note (NULL_PTR, NOTE_INSN_BLOCK_END); fixup->context = block; end_sequence (); emit_insns_after (start, original_before_jump); @@ -3345,18 +3338,6 @@ is_eh_region () && block_stack->data.block.exception_region); } -/* Given a pointer to a BLOCK node, save a pointer to the most recently - generated NOTE_INSN_BLOCK_END in the BLOCK_END_NOTE field of the given - BLOCK node. */ - -void -remember_end_note (block) - register tree block; -{ - BLOCK_END_NOTE (block) = last_block_end_note; - last_block_end_note = NULL_RTX; -} - /* Emit a handler label for a nonlocal goto handler. Also emit code to store the handler label in SLOT before BEFORE_INSN. */ @@ -3676,7 +3657,7 @@ expand_end_bindings (vars, mark_ends, dont_jump_in) just going out of scope, so they are in scope for their cleanups. */ if (mark_ends) - last_block_end_note = emit_note (NULL_PTR, NOTE_INSN_BLOCK_END); + emit_note (NULL_PTR, NOTE_INSN_BLOCK_END); else /* Get rid of the beginning-mark if we don't make an end-mark. */ NOTE_LINE_NUMBER (thisblock->data.block.first_insn) = NOTE_INSN_DELETED; @@ -3299,7 +3299,6 @@ build_block (vars, tags, subblocks, supercontext, chain) { register tree block = make_node (BLOCK); BLOCK_VARS (block) = vars; - BLOCK_TYPE_TAGS (block) = tags; BLOCK_SUBBLOCKS (block) = subblocks; BLOCK_SUPERCONTEXT (block) = supercontext; BLOCK_CHAIN (block) = chain; @@ -751,7 +751,6 @@ struct tree_exp /* In a BLOCK node. */ #define BLOCK_VARS(NODE) (BLOCK_CHECK (NODE)->block.vars) -#define BLOCK_TYPE_TAGS(NODE) (BLOCK_CHECK (NODE)->block.type_tags) #define BLOCK_SUBBLOCKS(NODE) (BLOCK_CHECK (NODE)->block.subblocks) #define BLOCK_SUPERCONTEXT(NODE) (BLOCK_CHECK (NODE)->block.supercontext) /* Note: when changing this, make sure to find the places @@ -759,19 +758,6 @@ struct tree_exp #define BLOCK_CHAIN(NODE) TREE_CHAIN (NODE) #define BLOCK_ABSTRACT_ORIGIN(NODE) (BLOCK_CHECK (NODE)->block.abstract_origin) #define BLOCK_ABSTRACT(NODE) (BLOCK_CHECK (NODE)->block.abstract_flag) -#define BLOCK_END_NOTE(NODE) (BLOCK_CHECK (NODE)->block.end_note) -/* Nonzero means that this block has separate live range regions */ -#define BLOCK_LIVE_RANGE_FLAG(NOTE) (BLOCK_CHECK (NOTE)->block.live_range_flag) - -/* Nonzero means that this block has a variable declared in it - that is split into separate live ranges. */ -#define BLOCK_LIVE_RANGE_VAR_FLAG(NOTE) (BLOCK_CHECK (NOTE)->block.live_range_var_flag) - -/* Index for marking the start of the block for live ranges. */ -#define BLOCK_LIVE_RANGE_START(NOTE) (BLOCK_CHECK (NOTE)->block.live_range_start) - -/* Index for marking the end of the block for live ranges. */ -#define BLOCK_LIVE_RANGE_END(NOTE) (BLOCK_CHECK (NOTE)->block.live_range_end) /* Nonzero means that this block is prepared to handle exceptions listed in the BLOCK_VARS slot. */ @@ -783,17 +769,11 @@ struct tree_block unsigned handler_block_flag : 1; unsigned abstract_flag : 1; - unsigned live_range_flag : 1; - unsigned live_range_var_flag : 1; union tree_node *vars; - union tree_node *type_tags; union tree_node *subblocks; union tree_node *supercontext; union tree_node *abstract_origin; - struct rtx_def *end_note; - int live_range_start; - int live_range_end; }; /* Define fields and accessors for nodes representing data types. */ @@ -2439,7 +2419,6 @@ extern void expand_asm_operands PROTO ((tree, tree, tree, tree, int, extern int any_pending_cleanups PROTO ((int)); extern void init_stmt PROTO ((void)); extern void init_stmt_for_function PROTO ((void)); -extern void remember_end_note PROTO ((tree)); extern int drop_through_at_end_p PROTO ((void)); extern void expand_start_target_temps PROTO ((void)); extern void expand_end_target_temps PROTO ((void)); |