* tree.h (BLOCK_TYPE_TAGS): Remove.
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 26 Oct 1999 08:34:46 +0000 (08:34 +0000)
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 26 Oct 1999 08:34:46 +0000 (08:34 +0000)
(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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30188 138bc75d-0d04-0410-961f-82ee72b054a4

17 files changed:
gcc/ChangeLog
gcc/c-decl.c
gcc/ch/ChangeLog
gcc/ch/ch-tree.h
gcc/ch/decl.c
gcc/cp/ChangeLog
gcc/cp/decl.c
gcc/f/ChangeLog
gcc/f/com.c
gcc/ggc-common.c
gcc/integrate.c
gcc/java/ChangeLog
gcc/java/decl.c
gcc/print-tree.c
gcc/stmt.c
gcc/tree.c
gcc/tree.h

index 24f2e3e..2941248 100644 (file)
@@ -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
index ab1c053..e64f0a7 100644 (file)
@@ -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.  */
index 779e08f..5343848 100644 (file)
@@ -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.
index 40e7b13..effa886 100644 (file)
@@ -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));
index 8b65179..01cf6c4 100644 (file)
@@ -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.  */
index bdacb7a..4f38378 100644 (file)
@@ -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.
index 5357872..329c9f9 100644 (file)
@@ -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);
        }
     }
 
index 91433a2..f676c45 100644 (file)
@@ -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.
index 9420b38..522bd24 100644 (file)
@@ -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.  */
index 3aa0d99..2d8631d 100644 (file)
@@ -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.  */
index 6c5abe8..2bfbecf 100644 (file)
@@ -63,7 +63,6 @@ extern struct obstack *function_maybepermanent_obstack;
 #endif
 \f
 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.  */
 
index ed2ca80..e52d7e4 100644 (file)
@@ -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
index 38bafc1..ab22211 100644 (file)
@@ -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.  */
index 51e2ce9..4b82b89 100644 (file)
@@ -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);
index 4e5a7a8..53fc1ed 100644 (file)
@@ -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;
 \f
 /* 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;
index 1fe428a..7d01d7c 100644 (file)
@@ -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;
index 0c181a4..85cf3bb 100644 (file)
@@ -751,7 +751,6 @@ struct tree_exp
 \f
 /* 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;
 };
 \f
 /* 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));