summaryrefslogtreecommitdiff
path: root/gcc/print-rtl.c
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2001-02-28 04:26:57 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2001-02-28 04:26:57 +0000
commit66b6f98b7647287ef928a84f4788bd37e0e255b7 (patch)
treef730ac1da63a8a570ebeac7da22e486791f8b3cf /gcc/print-rtl.c
parent5cb1ca544f7a0e3d6d90e43f4409dad353ba8d86 (diff)
downloadgcc-66b6f98b7647287ef928a84f4788bd37e0e255b7.tar.gz
* print-rtl.c (print_rtx) [i]: Don't print field five on
NOTEs other than NOTE_INSN_DELETED_LABEL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40110 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/print-rtl.c')
-rw-r--r--gcc/print-rtl.c81
1 files changed, 45 insertions, 36 deletions
diff --git a/gcc/print-rtl.c b/gcc/print-rtl.c
index 23d889a873b..b421282d5d9 100644
--- a/gcc/print-rtl.c
+++ b/gcc/print-rtl.c
@@ -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. */