summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>2000-04-20 12:06:58 +0000
committerRichard Kenner <kenner@gcc.gnu.org>2000-04-20 08:06:58 -0400
commit48d9ade562cf3cc077c60cb1f49436054b34a3c6 (patch)
tree757241a368aa1da0bb552e22210e8bb74bfaa4dc /gcc
parent5d14e3560cfbbc06f7ef42addfc15263ecf16c9e (diff)
downloadgcc-48d9ade562cf3cc077c60cb1f49436054b34a3c6.tar.gz
toplev.c (enum dump_file_index, dump_file): Add DFI_sibling.
* toplev.c (enum dump_file_index, dump_file): Add DFI_sibling. (rest_of_compilation): Write sibling dump file and account for time as jump time. * invoke.texi: Update documentation on dump flags. From-SVN: r33279
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/invoke.texi51
-rw-r--r--gcc/toplev.c11
3 files changed, 48 insertions, 21 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 023978b6e33..b5a88c756e4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+Thu Apr 20 08:01:07 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * toplev.c (enum dump_file_index, dump_file): Add DFI_sibling.
+ (rest_of_compilation): Write sibling dump file and account
+ for time as jump time.
+ * invoke.texi: Update documentation on dump flags.
+
2000-04-19 Marek Michalkiewicz <marekm@linux.org.pl>
* avr.c: #include "system.h" instead of <stdio.h> and <stdlib.h>.
diff --git a/gcc/invoke.texi b/gcc/invoke.texi
index 6638839039e..3e13098dfb6 100644
--- a/gcc/invoke.texi
+++ b/gcc/invoke.texi
@@ -2201,51 +2201,64 @@ Here are the possible letters for use in @var{letters}, and their meanings:
@item A
Annotate the assembler output with miscellaneous debugging information.
@item b
-Dump after computing branch probabilities, to @file{@var{file}.07.bp}.
+Dump after computing branch probabilities, to @file{@var{file}.10.bp}.
+@item B
+Dump after block reordering, to @file{@var{file}.20.bbro}.
@item c
-Dump after instruction combination, to the file @file{@var{file}.09.combine}.
+Dump after instruction combination, to the file @file{@var{file}.12.combine}.
@item d
-Dump after delayed branch scheduling, to @file{@var{file}.19.dbr}.
+Dump after delayed branch scheduling, to @file{@var{file}.24.dbr}.
@item D
Dump all macro definitions, at the end of preprocessing, in addition to
normal output.
-@item F
-Dump after purging ADDRESSOF, to @file{@var{file}.03.addressof}.
+@item e
+Dump after SSA optimizations, to @file{@var{file}.05.ssa} and
+@file{@var{file}.06.ussa}.
@item f
-Dump after flow analysis, to @file{@var{file}.08.flow}.
+Dump after flow analysis, to @file{@var{file}.11.flow}.
+@item F
+Dump after purging @code{ADDRESSOF} codes, to @file{@var{file}.04.addressof}.
@item g
-Dump after global register allocation, to @file{@var{file}.13.greg}.
+Dump after global register allocation, to @file{@var{file}.16.greg}.
@item G
-Dump after GCSE, to @file{@var{file}.04.gcse}.
+Dump after GCSE, to @file{@var{file}.07.gcse}.
+@item i
+Dump after sibling call optimizations, to @file{@var{file}.01.sibling}.
@item j
-Dump after first jump optimization, to @file{@var{file}.01.jump}.
+Dump after first jump optimization, to @file{@var{file}.02.jump}.
@item J
-Dump after last jump optimization, to @file{@var{file}.17.jump2}.
+Dump after last jump optimization, to @file{@var{file}.22.jump2}.
@item k
-Dump after conversion from registers to stack, to @file{@var{file}.20.stack}.
+Dump after conversion from registers to stack, to @file{@var{file}.25.stack}.
@item l
-Dump after local register allocation, to @file{@var{file}.12.lreg}.
+Dump after local register allocation, to @file{@var{file}.15.lreg}.
@item L
-Dump after loop optimization, to @file{@var{file}.05.loop}.
+Dump after loop optimization, to @file{@var{file}.08.loop}.
@item M
Dump after performing the machine dependent reorganisation pass, to
-@file{@var{file}.18.mach}.
+@file{@var{file}.23.mach}.
+@item n
+Dump after register renumbering, to @file{@var{file}.21.rnreg}.
@item N
-Dump after the register move pass, to @file{@var{file}.10.regmove}.
+Dump after the register move pass, to @file{@var{file}.13.regmove}.
@item r
Dump after RTL generation, to @file{@var{file}.00.rtl}.
@item R
Dump after the second instruction scheduling pass, to
-@file{@var{file}.16.sched2}.
+@file{@var{file}.19.sched2}.
@item s
Dump after CSE (including the jump optimization that sometimes follows
-CSE), to @file{@var{file}.02.cse}.
+CSE), to @file{@var{file}.03.cse}.
@item S
Dump after the first instruction scheduling pass, to
-@file{@var{file}.11.sched}.
+@file{@var{file}.14.sched}.
@item t
Dump after the second CSE pass (including the jump optimization that
-sometimes follows CSE), to @file{@var{file}.06.cse2}.
+sometimes follows CSE), to @file{@var{file}.09.cse2}.
+@item w
+Dump after the second flow pass, to @file{@var{file}.17.flow2}.
+@item z
+Dump after the peephold pass, to @file{@var{file}.18.peephole2}.
@item a
Produce all the dumps listed above.
@item m
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 4f9a3851216..17e8ebc6849 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -251,6 +251,7 @@ struct dump_file_info
enum dump_file_index
{
DFI_rtl,
+ DFI_sibling,
DFI_jump,
DFI_cse,
DFI_addressof,
@@ -284,6 +285,7 @@ enum dump_file_index
struct dump_file_info dump_file[DFI_MAX] =
{
{ "rtl", 'r', 0, 0, 0 },
+ { "sibling", 'i', 0, 0, 0 },
{ "jump", 'j', 0, 0, 0 },
{ "cse", 's', 0, 0, 0 },
{ "addressof", 'F', 0, 0, 0 },
@@ -2897,8 +2899,13 @@ rest_of_compilation (decl)
/* We may have potential sibling or tail recursion sites. Select one
(of possibly multiple) methods of performing the call. */
- if (flag_optimize_sibling_calls)
- optimize_sibling_and_tail_recursive_calls ();
+ open_dump_file (DFI_sibling, decl);
+ TIMEVAR (jump_time,
+ {
+ if (flag_optimize_sibling_calls)
+ optimize_sibling_and_tail_recursive_calls ();
+ });
+ close_dump_file (DFI_sibling, print_rtl, get_insns ());
if (ggc_p)
ggc_collect ();