OSDN Git Service

* print-rtl.c (print_rtx) [i]: Don't print field five on
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 28 Feb 2001 04:26:57 +0000 (04:26 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 28 Feb 2001 04:26:57 +0000 (04:26 +0000)
        NOTEs other than NOTE_INSN_DELETED_LABEL.

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

gcc/ChangeLog
gcc/print-rtl.c

index 6302e4a..6c3fa5d 100644 (file)
@@ -1,3 +1,8 @@
+2001-02-27  Richard Henderson  <rth@redhat.com>
+
+       * print-rtl.c (print_rtx) [i]: Don't print field five on
+       NOTEs other than NOTE_INSN_DELETED_LABEL.
+
 2001-02-27  Zack Weinberg  <zackw@stanford.edu>
 
        * mips/xm-iris4.h: Delete #if 0 block (there since before 1997).
index 23d889a..b421282 100644 (file)
@@ -322,43 +322,52 @@ print_rtx (in_rtx)
        break;
 
       case 'i':
-       {
-         register int value = XINT (in_rtx, i);
-         const char *name;
+       if (i == 5 && GET_CODE (in_rtx) == NOTE)
+         {
+           /* This field is only used for NOTE_INSN_DELETED_LABEL, and
+              other times often contains garbage from INSN->NOTE death.  */
+           if (NOTE_LINE_NUMBER (in_rtx) == NOTE_INSN_DELETED_LABEL)
+             fprintf (outfile, " %d",  XINT (in_rtx, i));
+         }
+       else
+         {
+           register int value = XINT (in_rtx, i);
+           const char *name;
 
-         if (GET_CODE (in_rtx) == REG && value < FIRST_PSEUDO_REGISTER)
-           {
-             fputc (' ', outfile);
-             DEBUG_PRINT_REG (in_rtx, 0, outfile);
-           }
-         else if (GET_CODE (in_rtx) == REG && value <= LAST_VIRTUAL_REGISTER)
-           {
-             if (value == VIRTUAL_INCOMING_ARGS_REGNUM)
-               fprintf (outfile, " %d virtual-incoming-args", value);
-             else if (value == VIRTUAL_STACK_VARS_REGNUM)
-               fprintf (outfile, " %d virtual-stack-vars", value);
-             else if (value == VIRTUAL_STACK_DYNAMIC_REGNUM)
-               fprintf (outfile, " %d virtual-stack-dynamic", value);
-             else if (value == VIRTUAL_OUTGOING_ARGS_REGNUM)
-               fprintf (outfile, " %d virtual-outgoing-args", value);
-             else if (value == VIRTUAL_CFA_REGNUM)
-               fprintf (outfile, " %d virtual-cfa", value);
-             else
-               fprintf (outfile, " %d virtual-reg-%d", value,
-                        value-FIRST_VIRTUAL_REGISTER);
-           }
-         else if (flag_dump_unnumbered
-                  && (is_insn || GET_CODE (in_rtx) == NOTE))
-           fputc ('#', outfile);
-         else
-           fprintf (outfile, " %d", value);
-
-         if (is_insn && &INSN_CODE (in_rtx) == &XINT (in_rtx, i)
-             && XINT (in_rtx, i) >= 0
-             && (name = get_insn_name (XINT (in_rtx, i))) != NULL)
-           fprintf (outfile, " {%s}", name);
-         sawclose = 0;
-       }
+           if (GET_CODE (in_rtx) == REG && value < FIRST_PSEUDO_REGISTER)
+             {
+               fputc (' ', outfile);
+               DEBUG_PRINT_REG (in_rtx, 0, outfile);
+             }
+           else if (GET_CODE (in_rtx) == REG
+                    && value <= LAST_VIRTUAL_REGISTER)
+             {
+               if (value == VIRTUAL_INCOMING_ARGS_REGNUM)
+                 fprintf (outfile, " %d virtual-incoming-args", value);
+               else if (value == VIRTUAL_STACK_VARS_REGNUM)
+                 fprintf (outfile, " %d virtual-stack-vars", value);
+               else if (value == VIRTUAL_STACK_DYNAMIC_REGNUM)
+                 fprintf (outfile, " %d virtual-stack-dynamic", value);
+               else if (value == VIRTUAL_OUTGOING_ARGS_REGNUM)
+                 fprintf (outfile, " %d virtual-outgoing-args", value);
+               else if (value == VIRTUAL_CFA_REGNUM)
+                 fprintf (outfile, " %d virtual-cfa", value);
+               else
+                 fprintf (outfile, " %d virtual-reg-%d", value,
+                          value-FIRST_VIRTUAL_REGISTER);
+             }
+           else if (flag_dump_unnumbered
+                    && (is_insn || GET_CODE (in_rtx) == NOTE))
+             fputc ('#', outfile);
+           else
+             fprintf (outfile, " %d", value);
+
+           if (is_insn && &INSN_CODE (in_rtx) == &XINT (in_rtx, i)
+               && XINT (in_rtx, i) >= 0
+               && (name = get_insn_name (XINT (in_rtx, i))) != NULL)
+             fprintf (outfile, " {%s}", name);
+           sawclose = 0;
+         }
        break;
 
       /* Print NOTE_INSN names rather than integer codes.  */