summaryrefslogtreecommitdiff
path: root/gcc/print-rtl.c
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>1999-10-15 01:52:29 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>1999-10-15 01:52:29 +0000
commit67b87c977ed8712253304c0026ceaacdbbe1956b (patch)
treea2c9bf0ce2a7fd8466de760ea4c4fdc8aa203a22 /gcc/print-rtl.c
parent88b41b1070d21bc3287c52874e79964d7e46a6cc (diff)
downloadgcc-67b87c977ed8712253304c0026ceaacdbbe1956b.tar.gz
* recog.c (pmode_register_operand): New.
* recog.h: Declare it. * genrecog.c (pred_codes): Likewise. (special_mode_pred_table): Likewise. (validate_pattern): Don't warn no mode for address_operand. * print-rtl.c (print_rtx) [LABEL_REF]: Only do full subexpression if the operand is not insn-like. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29995 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/print-rtl.c')
-rw-r--r--gcc/print-rtl.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/gcc/print-rtl.c b/gcc/print-rtl.c
index 1c503c103ea..8521b3c6381 100644
--- a/gcc/print-rtl.c
+++ b/gcc/print-rtl.c
@@ -299,16 +299,21 @@ print_rtx (in_rtx)
case 'u':
if (XEXP (in_rtx, i) != NULL)
{
- if (GET_CODE (XEXP (in_rtx, i)) != CODE_LABEL)
+ rtx sub = XEXP (in_rtx, i);
+ enum rtx_code subc = GET_CODE (sub);
+
+ if (subc != CODE_LABEL
+ && subc != NOTE
+ && GET_RTX_CLASS (subc) != 'i')
goto do_e;
if (flag_dump_unnumbered)
fputc ('#', outfile);
else
- fprintf (outfile, " %d", INSN_UID (XEXP (in_rtx, i)));
+ fprintf (outfile, " %d", INSN_UID (sub));
}
else
- fputs (" 0", outfile);
+ fputs (" (nil)", outfile);
sawclose = 0;
break;