toplev.c (enum dump_file_index, dump_file): Add DFI_sibling.
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>
Thu, 20 Apr 2000 12:06:58 +0000 (12:06 +0000)
committerRichard Kenner <kenner@gcc.gnu.org>
Thu, 20 Apr 2000 12:06:58 +0000 (08:06 -0400)
* 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

gcc/ChangeLog
gcc/invoke.texi
gcc/toplev.c

index 023978b6e3317fbf1cefe8700452b24c1399ec4c..b5a88c756e43a453f1f16169554f6119c8e2fcc2 100644 (file)
@@ -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>.
index 6638839039ecf21578a6141b5ec22b90c2240386..3e13098dfb657fe780ce1f39c786c7870c7b3a63 100644 (file)
@@ -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
index 4f9a3851216b36b06eb028946faf379b32172e48..17e8ebc6849b200bb9d3ae7ab7df0c0ea9087b9c 100644 (file)
@@ -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 ();