aboutsummaryrefslogtreecommitdiff
path: root/gcc/print-rtl.c
diff options
context:
space:
mode:
authorStephane Carrez <Stephane.Carrez@worldnet.fr>2000-09-13 21:34:05 +0200
committerStephane Carrez <ciceron@gcc.gnu.org>2000-09-13 21:34:05 +0200
commitc349e40b5bd6e44ed3afb6a91633f736ddc668d6 (patch)
tree9f0163da7788dbdbf5f9158a769923ef406ce1d1 /gcc/print-rtl.c
parent2856c3e3f58327d111a846d4351c3c9568384944 (diff)
downloadgcc-c349e40b5bd6e44ed3afb6a91633f736ddc668d6.zip
gcc-c349e40b5bd6e44ed3afb6a91633f736ddc668d6.tar.gz
gcc-c349e40b5bd6e44ed3afb6a91633f736ddc668d6.tar.bz2
flags.h (flag_dump_rtl_in_asm): Declare.
* flags.h (flag_dump_rtl_in_asm): Declare. * toplev.c (flag_dump_rtl_in_asm): Define. (decode_d_option): Set flag_dump_rtl_in_asm and flag_print_asm_name if -dP is specified. * rtl.h (print_rtx_head): Declare. * print-rtl.c (print_rtx_head): Define. (print_rtx): Print the string pointed to by print_rtx_head at beginning of each dump line. (print_rtl): Likewise. (print_rtl_single): Likewise. * final.c (final_scan_insn): Dump the insn in the assembly file for debugging. * gcc.1: Document -dP option. * invoke.texi (Debugging Options): Likewise. From-SVN: r36394
Diffstat (limited to 'gcc/print-rtl.c')
-rw-r--r--gcc/print-rtl.c24
1 files changed, 19 insertions, 5 deletions
diff --git a/gcc/print-rtl.c b/gcc/print-rtl.c
index 31eac81..25f7e01 100644
--- a/gcc/print-rtl.c
+++ b/gcc/print-rtl.c
@@ -55,6 +55,11 @@ static int indent;
static void print_rtx PARAMS ((rtx));
+/* String printed at beginning of each RTL when it is dumped.
+ This string is set to ASM_COMMENT_START when the RTL is dumped in
+ the assembly output file. */
+char *print_rtx_head = "";
+
/* Nonzero means suppress output of instruction numbers and line number
notes in debugging dumps.
This must be defined here so that programs like gencodes can be linked. */
@@ -80,8 +85,9 @@ print_rtx (in_rtx)
if (sawclose)
{
- fprintf (outfile, "\n%s",
- (xspaces + (sizeof xspaces - 1 - indent * 2)));
+ fprintf (outfile, "\n%s%s",
+ print_rtx_head,
+ (xspaces + (sizeof xspaces - 1 - indent * 2)));
sawclose = 0;
}
@@ -256,7 +262,8 @@ print_rtx (in_rtx)
indent += 2;
if (sawclose)
{
- fprintf (outfile, "\n%s",
+ fprintf (outfile, "\n%s%s",
+ print_rtx_head,
(xspaces + (sizeof xspaces - 1 - indent * 2)));
sawclose = 0;
}
@@ -273,7 +280,8 @@ print_rtx (in_rtx)
indent -= 2;
}
if (sawclose)
- fprintf (outfile, "\n%s",
+ fprintf (outfile, "\n%s%s",
+ print_rtx_head,
(xspaces + (sizeof xspaces - 1 - indent * 2)));
fputs ("] ", outfile);
@@ -600,7 +608,10 @@ print_rtl (outf, rtx_first)
sawclose = 0;
if (rtx_first == 0)
- fputs ("(nil)\n", outf);
+ {
+ fputs (print_rtx_head, outf);
+ fputs ("(nil)\n", outf);
+ }
else
switch (GET_CODE (rtx_first))
{
@@ -614,12 +625,14 @@ print_rtl (outf, rtx_first)
if (! flag_dump_unnumbered
|| GET_CODE (tmp_rtx) != NOTE || NOTE_LINE_NUMBER (tmp_rtx) < 0)
{
+ fputs (print_rtx_head, outfile);
print_rtx (tmp_rtx);
fprintf (outfile, "\n");
}
break;
default:
+ fputs (print_rtx_head, outfile);
print_rtx (rtx_first);
}
}
@@ -637,6 +650,7 @@ print_rtl_single (outf, x)
if (! flag_dump_unnumbered
|| GET_CODE (x) != NOTE || NOTE_LINE_NUMBER (x) < 0)
{
+ fputs (print_rtx_head, outfile);
print_rtx (x);
putc ('\n', outf);
return 1;