Tue Jun 4 19:29:42 CEST 2002 Jan Hubicka <jh@suse.cz>
authorJan Hubicka <jh@suse.cz>
Tue, 4 Jun 2002 17:32:59 +0000 (19:32 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Tue, 4 Jun 2002 17:32:59 +0000 (17:32 +0000)
* cfglayout.c (duplicate_insn_chain): Kill NOTE_INSN_RANGE notes.
* final.c (final_scan_insn): Likewise.
* ggc-common.c (ggc_mark_rtx_children_1): Likewise; use
NOTE_EXPECTED_VALUE instead of NOTE_RANGE.
* haifa-sched.c (unlink_other_notes): Likeewise.
(reemit_notes): Likewise.
* print-rtl.c (print_rtx): Likewise.
* sched-deps (sched-analyze): Likewise.
* rtl.c (note_insn_name): Likewise.
* rtl.h (NOTE_RANGE_INFO, NOTE_LIVE_INFO): Kill.
(enum insn_note): Kill NOTE_INSN_RANGE_*, NOTE_INSN_LIVE.
(RANGE_*): Kill.

From-SVN: r54250

gcc/ChangeLog
gcc/cfglayout.c
gcc/final.c
gcc/ggc-common.c
gcc/haifa-sched.c
gcc/print-rtl.c
gcc/rtl.c
gcc/rtl.h
gcc/sched-deps.c

index 14bbfaaa3f26c28f1b3781b55a5f234c32c8b458..89defd1d15e1b0c4853821992724a21778505b26 100644 (file)
@@ -1,3 +1,18 @@
+Tue Jun  4 19:29:42 CEST 2002  Jan Hubicka  <jh@suse.cz>
+
+       * cfglayout.c (duplicate_insn_chain): Kill NOTE_INSN_RANGE notes.
+       * final.c (final_scan_insn): Likewise.
+       * ggc-common.c (ggc_mark_rtx_children_1): Likewise; use
+       NOTE_EXPECTED_VALUE instead of NOTE_RANGE.
+       * haifa-sched.c (unlink_other_notes): Likeewise.
+       (reemit_notes): Likewise.
+       * print-rtl.c (print_rtx): Likewise.
+       * sched-deps (sched-analyze): Likewise.
+       * rtl.c (note_insn_name): Likewise.
+       * rtl.h (NOTE_RANGE_INFO, NOTE_LIVE_INFO): Kill.
+       (enum insn_note): Kill NOTE_INSN_RANGE_*, NOTE_INSN_LIVE.
+       (RANGE_*): Kill.
+
 2002-06-04  Jason Thorpe  <thorpej@wasabisystems.com>
 
        * varasm.c (mark_constants): Handle RTX format 'B'.
index 0c648b65f676ad3256dc013027670e47ac0a489b..83bc6b71d9772bf9792acbb9501029f3ff3a6108 100644 (file)
@@ -779,8 +779,6 @@ duplicate_insn_chain (from, to)
                 reordering is in the progress.  */
            case NOTE_INSN_EH_REGION_BEG:
            case NOTE_INSN_EH_REGION_END:
-           case NOTE_INSN_RANGE_BEG:
-           case NOTE_INSN_RANGE_END:
              /* Should never exist at BB duplication time.  */
              abort ();
              break;
index 9fe1c11f586d11d7a67028ce3f68264357b882b5..aa4caf19eb747d02beb2472440cac026600c6643 100644 (file)
@@ -1995,9 +1995,6 @@ final_scan_insn (insn, file, optimize, prescan, nopeepholes)
        case NOTE_INSN_LOOP_VTOP:
        case NOTE_INSN_FUNCTION_END:
        case NOTE_INSN_REPEATED_LINE_NUMBER:
-       case NOTE_INSN_RANGE_BEG:
-       case NOTE_INSN_RANGE_END:
-       case NOTE_INSN_LIVE:
        case NOTE_INSN_EXPECTED_VALUE:
          break;
 
index 978ae96aa0fdb907ce6b83163a8dd5284631a9bc..b5dad6bbd7689e56c803a0a55eda5b3ca593d5ab 100644 (file)
@@ -215,11 +215,8 @@ ggc_mark_rtx_children_1 (r)
        case NOTE:
          switch (NOTE_LINE_NUMBER (r))
            {
-           case NOTE_INSN_RANGE_BEG:
-           case NOTE_INSN_RANGE_END:
-           case NOTE_INSN_LIVE:
            case NOTE_INSN_EXPECTED_VALUE:
-             ggc_mark_rtx (NOTE_RANGE_INFO (r));
+             ggc_mark_rtx (NOTE_EXPECTED_VALUE (r));
              break;
 
            case NOTE_INSN_BLOCK_BEG:
index 63a31352a5b7e8f319368df8f3277a3e2b1aca88..b59f7e1cf9286a9b60b6d80f7a24d925529d2eb0 100644 (file)
@@ -1233,8 +1233,6 @@ unlink_other_notes (insn, tail)
       /* See sched_analyze to see how these are handled.  */
       if (NOTE_LINE_NUMBER (insn) != NOTE_INSN_LOOP_BEG
          && NOTE_LINE_NUMBER (insn) != NOTE_INSN_LOOP_END
-         && NOTE_LINE_NUMBER (insn) != NOTE_INSN_RANGE_BEG
-         && NOTE_LINE_NUMBER (insn) != NOTE_INSN_RANGE_END
          && NOTE_LINE_NUMBER (insn) != NOTE_INSN_EH_REGION_BEG
          && NOTE_LINE_NUMBER (insn) != NOTE_INSN_EH_REGION_END)
        {
@@ -1726,23 +1724,12 @@ reemit_notes (insn, last)
        {
          enum insn_note note_type = INTVAL (XEXP (note, 0));
 
-         if (note_type == NOTE_INSN_RANGE_BEG
-              || note_type == NOTE_INSN_RANGE_END)
-           {
-             last = emit_note_before (note_type, last);
-             remove_note (insn, note);
-             note = XEXP (note, 1);
-             NOTE_RANGE_INFO (last) = XEXP (note, 0);
-           }
-         else
-           {
-             last = emit_note_before (note_type, last);
-             remove_note (insn, note);
-             note = XEXP (note, 1);
-             if (note_type == NOTE_INSN_EH_REGION_BEG
-                 || note_type == NOTE_INSN_EH_REGION_END)
-               NOTE_EH_HANDLER (last) = INTVAL (XEXP (note, 0));
-           }
+         last = emit_note_before (note_type, last);
+         remove_note (insn, note);
+         note = XEXP (note, 1);
+         if (note_type == NOTE_INSN_EH_REGION_BEG
+             || note_type == NOTE_INSN_EH_REGION_END)
+           NOTE_EH_HANDLER (last) = INTVAL (XEXP (note, 0));
          remove_note (insn, note);
        }
     }
index 723fd0d3eb5e3945bbe342bc69cd25e82c26a8fd..da8a0520a05fd6af6774ea8c4686d6627439c81b 100644 (file)
@@ -251,16 +251,6 @@ print_rtx (in_rtx)
                sawclose = 1;
                break;
 
-             case NOTE_INSN_RANGE_BEG:
-             case NOTE_INSN_RANGE_END:
-             case NOTE_INSN_LIVE:
-               indent += 2;
-               if (!sawclose)
-                 fprintf (outfile, " ");
-               print_rtx (NOTE_RANGE_INFO (in_rtx));
-               indent -= 2;
-               break;
-
              case NOTE_INSN_BASIC_BLOCK:
                {
                  basic_block bb = NOTE_BASIC_BLOCK (in_rtx);
index da753b58428cf37605567299da7f9068897ff971..7b6c0a1f9bddb6c19c601a73fa71755300974a4b 100644 (file)
--- a/gcc/rtl.c
+++ b/gcc/rtl.c
@@ -214,8 +214,7 @@ const char * const note_insn_name[NOTE_INSN_MAX - NOTE_INSN_BIAS] =
   "NOTE_INSN_PROLOGUE_END", "NOTE_INSN_EPILOGUE_BEG",
   "NOTE_INSN_DELETED_LABEL", "NOTE_INSN_FUNCTION_BEG",
   "NOTE_INSN_EH_REGION_BEG", "NOTE_INSN_EH_REGION_END",
-  "NOTE_INSN_REPEATED_LINE_NUMBER", "NOTE_INSN_RANGE_BEG",
-  "NOTE_INSN_RANGE_END", "NOTE_INSN_LIVE",
+  "NOTE_INSN_REPEATED_LINE_NUMBER",
   "NOTE_INSN_BASIC_BLOCK", "NOTE_INSN_EXPECTED_VALUE",
   "NOTE_INSN_PREDICTION"
 };
index 35e1f2fc5289e3eba4ce4ca9694ddbedd983e9ef..ab03d6bff1b2e5ecbb6d2574d77294e479c01389 100644 (file)
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -754,14 +754,11 @@ extern const char * const reg_note_name[];
    line is in.  We use the same field to record block numbers temporarily in
    NOTE_INSN_BLOCK_BEG and NOTE_INSN_BLOCK_END notes.  (We avoid lots of casts
    between ints and pointers if we use a different macro for the block number.)
-   The NOTE_INSN_RANGE_{START,END} and NOTE_INSN_LIVE notes record their
-   information as an rtx in the field.  */
+   */
 
 #define NOTE_SOURCE_FILE(INSN)         XCSTR (INSN, 4, NOTE)
 #define NOTE_BLOCK(INSN)       XCTREE (INSN, 4, NOTE)
 #define NOTE_EH_HANDLER(INSN)  XCINT (INSN, 4, NOTE)
-#define NOTE_RANGE_INFO(INSN)          XCEXP (INSN, 4, NOTE)
-#define NOTE_LIVE_INFO(INSN)           XCEXP (INSN, 4, NOTE)
 #define NOTE_BASIC_BLOCK(INSN) XCBBDEF (INSN, 4, NOTE)
 #define NOTE_EXPECTED_VALUE(INSN) XCEXP (INSN, 4, NOTE)
 #define NOTE_PREDICTION(INSN)   XCINT (INSN, 4, NOTE)
@@ -853,14 +850,6 @@ enum insn_note
      the line containing the inline call from being counted twice in gcov.  */
   NOTE_INSN_REPEATED_LINE_NUMBER,
 
-  /* Start/end of a live range region, where pseudos allocated on the stack
-     can be allocated to temporary registers.  Uses NOTE_RANGE_INFO.  */
-  NOTE_INSN_RANGE_BEG,
-  NOTE_INSN_RANGE_END,
-
-  /* Record which registers are currently live.  Uses NOTE_LIVE_INFO.  */
-  NOTE_INSN_LIVE,
-
   /* Record the struct for the following basic block.  Uses NOTE_BASIC_BLOCK.  */
   NOTE_INSN_BASIC_BLOCK,
 
@@ -1261,100 +1250,6 @@ do {                                            \
 #define USE_STORE_PRE_DECREMENT(MODE)   HAVE_PRE_DECREMENT
 #endif
 
-
-/* Accessors for RANGE_INFO.  */
-/* For RANGE_{START,END} notes return the RANGE_START note.  */
-#define RANGE_INFO_NOTE_START(INSN) XCEXP (INSN, 0, RANGE_INFO)
-
-/* For RANGE_{START,END} notes return the RANGE_START note.  */
-#define RANGE_INFO_NOTE_END(INSN) XCEXP (INSN, 1, RANGE_INFO)
-
-/* For RANGE_{START,END} notes, return the vector containing the registers used
-   in the range.  */
-#define RANGE_INFO_REGS(INSN) XCVEC (INSN, 2, RANGE_INFO)
-#define RANGE_INFO_REGS_REG(INSN, N) XCVECEXP (INSN, 2, N, RANGE_INFO)
-#define RANGE_INFO_NUM_REGS(INSN) XCVECLEN (INSN, 2, RANGE_INFO)
-
-/* For RANGE_{START,END} notes, the number of calls within the range.  */
-#define RANGE_INFO_NCALLS(INSN) XCINT (INSN, 3, RANGE_INFO)
-
-/* For RANGE_{START,END} notes, the number of insns within the range.  */
-#define RANGE_INFO_NINSNS(INSN) XCINT (INSN, 4, RANGE_INFO)
-
-/* For RANGE_{START,END} notes, a unique # to identify this range.  */
-#define RANGE_INFO_UNIQUE(INSN) XCINT (INSN, 5, RANGE_INFO)
-
-/* For RANGE_{START,END} notes, the basic block # the range starts with.  */
-#define RANGE_INFO_BB_START(INSN) XCINT (INSN, 6, RANGE_INFO)
-
-/* For RANGE_{START,END} notes, the basic block # the range ends with.  */
-#define RANGE_INFO_BB_END(INSN) XCINT (INSN, 7, RANGE_INFO)
-
-/* For RANGE_{START,END} notes, the loop depth the range is in.  */
-#define RANGE_INFO_LOOP_DEPTH(INSN) XCINT (INSN, 8, RANGE_INFO)
-
-/* For RANGE_{START,END} notes, the bitmap of live registers at the start
-   of the range.  */
-#define RANGE_INFO_LIVE_START(INSN) XCBITMAP (INSN, 9, RANGE_INFO)
-
-/* For RANGE_{START,END} notes, the bitmap of live registers at the end
-   of the range.  */
-#define RANGE_INFO_LIVE_END(INSN) XCBITMAP (INSN, 10, RANGE_INFO)
-
-/* For RANGE_START notes, the marker # of the start of the range.  */
-#define RANGE_INFO_MARKER_START(INSN) XCINT (INSN, 11, RANGE_INFO)
-
-/* For RANGE_START notes, the marker # of the end of the range.  */
-#define RANGE_INFO_MARKER_END(INSN) XCINT (INSN, 12, RANGE_INFO)
-
-/* Original pseudo register # for a live range note.  */
-#define RANGE_REG_PSEUDO(INSN,N) XCINT (XCVECEXP (INSN, 2, N, RANGE_INFO), 0, REG)
-
-/* Pseudo register # original register is copied into or -1.  */
-#define RANGE_REG_COPY(INSN,N) XCINT (XCVECEXP (INSN, 2, N, RANGE_INFO), 1, REG)
-
-/* How many times a register in a live range note was referenced.  */
-#define RANGE_REG_REFS(INSN,N) XINT (XCVECEXP (INSN, 2, N, RANGE_INFO), 2)
-
-/* How many times a register in a live range note was set.  */
-#define RANGE_REG_SETS(INSN,N) XINT (XCVECEXP (INSN, 2, N, RANGE_INFO), 3)
-
-/* How many times a register in a live range note died.  */
-#define RANGE_REG_DEATHS(INSN,N) XINT (XCVECEXP (INSN, 2, N, RANGE_INFO), 4)
-
-/* Whether the original value is needed to be copied into the range register at
-   the start of the range.  */
-#define RANGE_REG_COPY_FLAGS(INSN,N) XINT (XCVECEXP (INSN, 2, N, RANGE_INFO), 5)
-
-/* # of insns the register copy is live over.  */
-#define RANGE_REG_LIVE_LENGTH(INSN,N) XINT (XCVECEXP (INSN, 2, N, RANGE_INFO), 6)
-
-/* # of calls the register copy is live over.  */
-#define RANGE_REG_N_CALLS(INSN,N) XINT (XCVECEXP (INSN, 2, N, RANGE_INFO), 7)
-
-/* DECL_NODE pointer of the declaration if the register is a user defined
-   variable.  */
-#define RANGE_REG_SYMBOL_NODE(INSN,N) XTREE (XCVECEXP (INSN, 2, N, RANGE_INFO), 8)
-
-/* BLOCK_NODE pointer to the block the variable is declared in if the
-   register is a user defined variable.  */
-#define RANGE_REG_BLOCK_NODE(INSN,N) XTREE (XCVECEXP (INSN, 2, N, RANGE_INFO), 9)
-
-/* EXPR_LIST of the distinct ranges a variable is in.  */
-#define RANGE_VAR_LIST(INSN) (XEXP (INSN, 0))
-
-/* Block a variable is declared in.  */
-#define RANGE_VAR_BLOCK(INSN) (XTREE (INSN, 1))
-
-/* # of distinct ranges a variable is in.  */
-#define RANGE_VAR_NUM(INSN) (XINT (INSN, 2))
-
-/* For a NOTE_INSN_LIVE note, the registers which are currently live.  */
-#define RANGE_LIVE_BITMAP(INSN) (XBITMAP (INSN, 0))
-
-/* For a NOTE_INSN_LIVE note, the original basic block number.  */
-#define RANGE_LIVE_ORIG_BLOCK(INSN) (XINT (INSN, 1))
-
 /* Determine if the insn is a PHI node.  */
 #define PHI_NODE_P(X)                          \
   ((X) && GET_CODE (X) == INSN                 \
index a81b4008c7e0ac74527ca6616b0fdeaf6ca0de66..268f58e6cd10351b9722a38a2940efe491280465 100644 (file)
@@ -1315,17 +1315,7 @@ sched_analyze (deps, head, tail)
       /* See comments on reemit_notes as to why we do this.
         ??? Actually, the reemit_notes just say what is done, not why.  */
 
-      else if (GET_CODE (insn) == NOTE
-              && (NOTE_LINE_NUMBER (insn) == NOTE_INSN_RANGE_BEG
-                  || NOTE_LINE_NUMBER (insn) == NOTE_INSN_RANGE_END))
-       {
-         loop_notes = alloc_EXPR_LIST (REG_SAVE_NOTE, NOTE_RANGE_INFO (insn),
-                                       loop_notes);
-         loop_notes = alloc_EXPR_LIST (REG_SAVE_NOTE,
-                                       GEN_INT (NOTE_LINE_NUMBER (insn)),
-                                       loop_notes);
-       }
-      else if (GET_CODE (insn) == NOTE
+      if (GET_CODE (insn) == NOTE
               && (NOTE_LINE_NUMBER (insn) == NOTE_INSN_LOOP_BEG
                   || NOTE_LINE_NUMBER (insn) == NOTE_INSN_LOOP_END
                   || NOTE_LINE_NUMBER (insn) == NOTE_INSN_EH_REGION_BEG