toplev.c (dbr_sched_time): Unconditional.

* toplev.c (dbr_sched_time): Unconditional.
        (peephole2_time): New.
        (compile_file): Add pass numbers to all of the dump file suffixes.
        Dump peephole2_time.  Don't dump times for non-applicable passes.
        (rest_of_compilation): Add pass numbers to dump file suffixes.
        Conditionalize calls to the scheduler.
        * invoke.texi: Update.

From-SVN: r29819
This commit is contained in:
Richard Henderson 1999-10-04 21:04:48 -07:00 committed by Richard Henderson
parent 7a3b7acb7c
commit 375e2d5cfa
3 changed files with 217 additions and 175 deletions

View File

@ -1,3 +1,13 @@
Mon Oct 4 21:01:39 1999 Richard Henderson <rth@cygnus.com>
* toplev.c (dbr_sched_time): Unconditional.
(peephole2_time): New.
(compile_file): Add pass numbers to all of the dump file suffixes.
Dump peephole2_time. Don't dump times for non-applicable passes.
(rest_of_compilation): Add pass numbers to dump file suffixes.
Conditionalize calls to the scheduler.
* invoke.texi: Update.
Mon Oct 4 20:25:13 1999 Anthony Green <green@cygnus.com>
* flow.c (make_edges): Fix insn iteration.

View File

@ -2066,59 +2066,59 @@ block and arc execution counts from the information in the
@item -d@var{letters}
Says to make debugging dumps during compilation at times specified by
@var{letters}. This is used for debugging the compiler. The file names
for most of the dumps are made by appending a word to the source file
name (e.g. @file{foo.c.rtl} or @file{foo.c.jump}). Here are the
possible letters for use in @var{letters}, and their meanings:
for most of the dumps are made by appending a pass number and a word to
the source file name (e.g. @file{foo.c.00.rtl} or @file{foo.c.01.jump}).
Here are the possible letters for use in @var{letters}, and their meanings:
@table @samp
@item A
Annotate the assembler output with miscellaneous debugging information.
@item b
Dump after computing branch probabilities, to @file{@var{file}.bp}.
Dump after computing branch probabilities, to @file{@var{file}.07.bp}.
@item c
Dump after instruction combination, to the file @file{@var{file}.combine}.
Dump after instruction combination, to the file @file{@var{file}.09.combine}.
@item d
Dump after delayed branch scheduling, to @file{@var{file}.dbr}.
Dump after delayed branch scheduling, to @file{@var{file}.19.dbr}.
@item D
Dump all macro definitions, at the end of preprocessing, in addition to
normal output.
@item r
Dump after RTL generation, to @file{@var{file}.rtl}.
@item j
Dump after first jump optimization, to @file{@var{file}.jump}.
@item F
Dump after purging ADDRESSOF, to @file{@var{file}.addressof}.
Dump after purging ADDRESSOF, to @file{@var{file}.03.addressof}.
@item f
Dump after flow analysis, to @file{@var{file}.flow}.
Dump after flow analysis, to @file{@var{file}.08.flow}.
@item g
Dump after global register allocation, to @file{@var{file}.greg}.
Dump after global register allocation, to @file{@var{file}.13.greg}.
@item G
Dump after GCSE, to @file{@var{file}.gcse}.
Dump after GCSE, to @file{@var{file}.04.gcse}.
@item j
Dump after first jump optimization, to @file{@var{file}.jump}.
Dump after first jump optimization, to @file{@var{file}.01.jump}.
@item J
Dump after last jump optimization, to @file{@var{file}.jump2}.
Dump after last jump optimization, to @file{@var{file}.17.jump2}.
@item k
Dump after conversion from registers to stack, to @file{@var{file}.stack}.
Dump after conversion from registers to stack, to @file{@var{file}.20.stack}.
@item l
Dump after local register allocation, to @file{@var{file}.lreg}.
Dump after local register allocation, to @file{@var{file}.12.lreg}.
@item L
Dump after loop optimization, to @file{@var{file}.loop}.
Dump after loop optimization, to @file{@var{file}.05.loop}.
@item M
Dump after performing the machine dependent reorganisation pass, to
@file{@var{file}.mach}.
@file{@var{file}.18.mach}.
@item N
Dump after the register move pass, to @file{@var{file}.regmove}.
Dump after the register move pass, to @file{@var{file}.10.regmove}.
@item r
Dump after RTL generation, to @file{@var{file}.rtl}.
Dump after RTL generation, to @file{@var{file}.00.rtl}.
@item R
Dump after the second instruction scheduling pass, to @file{@var{file}.sched2}.
Dump after the second instruction scheduling pass, to
@file{@var{file}.16.sched2}.
@item s
Dump after CSE (including the jump optimization that sometimes follows
CSE), to @file{@var{file}.cse}.
CSE), to @file{@var{file}.02.cse}.
@item S
Dump after the first instruction scheduling pass, to @file{@var{file}.sched}.
Dump after the first instruction scheduling pass, to
@file{@var{file}.11.sched}.
@item t
Dump after the second CSE pass (including the jump optimization that
sometimes follows CSE), to @file{@var{file}.cse2}.
sometimes follows CSE), to @file{@var{file}.06.cse2}.
@item a
Produce all the dumps listed above.
@item m
@ -2128,13 +2128,19 @@ standard error.
Annotate the assembler output with a comment indicating which
pattern and alternative was used. The length of each instruction is
also printed.
@item v
For each of the other indicated dump files (except for
@file{@var{file}.00.rtl}), dump a representation of the control flow graph
suitible for viewing with VCG to @file{@var{file}.@var{pass}.vcg}.
@item w
Dump after the second flow pass to @file{@var{file}.14.flow2}.
@item x
Just generate RTL for a function instead of compiling it. Usually used
with @samp{r}.
@item y
Dump debugging information during parsing, to standard error.
@item A
Annotate the assembler output with miscellaneous debugging information.
@item z
Dump after the peephole2 pass to @file{@var{file}.15.peephole2}.
@end table
@item -fdump-unnumbered

View File

@ -1306,10 +1306,9 @@ int sched_time;
int local_alloc_time;
int global_alloc_time;
int flow2_time;
int peephole2_time;
int sched2_time;
#ifdef DELAY_SLOTS
int dbr_sched_time;
#endif
int shorten_branch_time;
int stack_reg_time;
int final_time;
@ -2829,10 +2828,9 @@ compile_file (name)
local_alloc_time = 0;
global_alloc_time = 0;
flow2_time = 0;
peephole2_time = 0;
sched2_time = 0;
#ifdef DELAY_SLOTS
dbr_sched_time = 0;
#endif
shorten_branch_time = 0;
stack_reg_time = 0;
final_time = 0;
@ -2881,131 +2879,137 @@ compile_file (name)
/* Clear the dump files. */
if (rtl_dump)
clean_dump_file (".rtl");
clean_dump_file (".00.rtl");
if (jump_opt_dump)
{
clean_dump_file (".jump");
clean_dump_file (".01.jump");
if (graph_dump_format != no_graph)
clean_graph_dump_file (dump_base_name, ".jump");
}
if (addressof_dump)
{
clean_dump_file (".addressof");
if (graph_dump_format != no_graph)
clean_graph_dump_file (dump_base_name, ".addressof");
clean_graph_dump_file (dump_base_name, ".01.jump");
}
if (cse_dump)
{
clean_dump_file (".cse");
clean_dump_file (".02.cse");
if (graph_dump_format != no_graph)
clean_graph_dump_file (dump_base_name, ".cse");
clean_graph_dump_file (dump_base_name, ".02.cse");
}
if (addressof_dump)
{
clean_dump_file (".03.addressof");
if (graph_dump_format != no_graph)
clean_graph_dump_file (dump_base_name, ".03.addressof");
}
if (gcse_dump)
{
clean_dump_file (".04.gcse");
if (graph_dump_format != no_graph)
clean_graph_dump_file (dump_base_name, ".04.gcse");
}
if (loop_dump)
{
clean_dump_file (".loop");
clean_dump_file (".05.loop");
if (graph_dump_format != no_graph)
clean_graph_dump_file (dump_base_name, ".loop");
clean_graph_dump_file (dump_base_name, ".05.loop");
}
if (cse2_dump)
{
clean_dump_file (".cse2");
clean_dump_file (".06.cse2");
if (graph_dump_format != no_graph)
clean_graph_dump_file (dump_base_name, ".cse2");
clean_graph_dump_file (dump_base_name, ".06.cse2");
}
if (branch_prob_dump)
{
clean_dump_file (".bp");
clean_dump_file (".07.bp");
if (graph_dump_format != no_graph)
clean_graph_dump_file (dump_base_name, ".bp");
clean_graph_dump_file (dump_base_name, ".07.bp");
}
if (flow_dump)
{
clean_dump_file (".flow");
clean_dump_file (".08.flow");
if (graph_dump_format != no_graph)
clean_graph_dump_file (dump_base_name, ".flow");
clean_graph_dump_file (dump_base_name, ".08.flow");
}
if (combine_dump)
{
clean_dump_file (".combine");
clean_dump_file (".09.combine");
if (graph_dump_format != no_graph)
clean_graph_dump_file (dump_base_name, ".combine");
clean_graph_dump_file (dump_base_name, ".09.combine");
}
if (regmove_dump)
{
clean_dump_file (".regmove");
clean_dump_file (".10.regmove");
if (graph_dump_format != no_graph)
clean_graph_dump_file (dump_base_name, ".regmove");
clean_graph_dump_file (dump_base_name, ".10.regmove");
}
#ifdef INSN_SCHEDULING
if (sched_dump)
{
clean_dump_file (".sched");
clean_dump_file (".11.sched");
if (graph_dump_format != no_graph)
clean_graph_dump_file (dump_base_name, ".sched");
clean_graph_dump_file (dump_base_name, ".11.sched");
}
#endif
if (local_reg_dump)
{
clean_dump_file (".lreg");
clean_dump_file (".12.lreg");
if (graph_dump_format != no_graph)
clean_graph_dump_file (dump_base_name, ".lreg");
clean_graph_dump_file (dump_base_name, ".12.lreg");
}
if (global_reg_dump)
{
clean_dump_file (".greg");
clean_dump_file (".13.greg");
if (graph_dump_format != no_graph)
clean_graph_dump_file (dump_base_name, ".greg");
clean_graph_dump_file (dump_base_name, ".13.greg");
}
if (flow2_dump)
{
clean_dump_file (".flow2");
clean_dump_file (".14.flow2");
if (graph_dump_format != no_graph)
clean_graph_dump_file (dump_base_name, ".flow2");
clean_graph_dump_file (dump_base_name, ".14.flow2");
}
#ifdef HAVE_peephole2
if (peephole2_dump)
{
clean_dump_file (".peephole2");
clean_dump_file (".15.peephole2");
if (graph_dump_format != no_graph)
clean_graph_dump_file (dump_base_name, ".peephole2");
clean_graph_dump_file (dump_base_name, ".15.peephole2");
}
#endif
#ifdef INSN_SCHEDULING
if (sched2_dump)
{
clean_dump_file (".sched2");
clean_dump_file (".16.sched2");
if (graph_dump_format != no_graph)
clean_graph_dump_file (dump_base_name, ".sched2");
clean_graph_dump_file (dump_base_name, ".16.sched2");
}
#endif
if (jump2_opt_dump)
{
clean_dump_file (".jump2");
clean_dump_file (".17.jump2");
if (graph_dump_format != no_graph)
clean_graph_dump_file (dump_base_name, ".jump2");
clean_graph_dump_file (dump_base_name, ".17.jump2");
}
#ifdef DELAY_SLOTS
if (dbr_sched_dump)
{
clean_dump_file (".dbr");
if (graph_dump_format != no_graph)
clean_graph_dump_file (dump_base_name, ".dbr");
}
#endif
if (gcse_dump)
{
clean_dump_file (".gcse");
if (graph_dump_format != no_graph)
clean_graph_dump_file (dump_base_name, ".gcse");
}
#ifdef STACK_REGS
if (stack_reg_dump)
{
clean_dump_file (".stack");
if (graph_dump_format != no_graph)
clean_graph_dump_file (dump_base_name, ".stack");
}
#endif
#ifdef MACHINE_DEPENDENT_REORG
if (mach_dep_reorg_dump)
{
clean_dump_file (".mach");
clean_dump_file (".18.mach");
if (graph_dump_format != no_graph)
clean_graph_dump_file (dump_base_name, ".mach");
clean_graph_dump_file (dump_base_name, ".18.mach");
}
#endif
#ifdef DELAY_SLOTS
if (dbr_sched_dump)
{
clean_dump_file (".19.dbr");
if (graph_dump_format != no_graph)
clean_graph_dump_file (dump_base_name, ".19.dbr");
}
#endif
#ifdef STACK_REGS
if (stack_reg_dump)
{
clean_dump_file (".20.stack");
if (graph_dump_format != no_graph)
clean_graph_dump_file (dump_base_name, ".20.stack");
}
#endif
@ -3272,7 +3276,7 @@ compile_file (name)
end_final (dump_base_name);
if (branch_prob_dump)
open_dump_file (".bp", NULL);
open_dump_file (".07.bp", NULL);
TIMEVAR (dump_time, end_branch_prob (rtl_dump_file));
@ -3299,7 +3303,7 @@ compile_file (name)
if (combine_dump)
{
open_dump_file (".combine", NULL);
open_dump_file (".09.combine", NULL);
TIMEVAR (dump_time, dump_combine_total_stats (rtl_dump_file));
close_dump_file (NULL, NULL_RTX);
}
@ -3318,48 +3322,56 @@ compile_file (name)
if (graph_dump_format != no_graph)
{
if (jump_opt_dump)
finish_graph_dump_file (dump_base_name, ".jump");
if (addressof_dump)
finish_graph_dump_file (dump_base_name, ".addressof");
finish_graph_dump_file (dump_base_name, ".01.jump");
if (cse_dump)
finish_graph_dump_file (dump_base_name, ".cse");
if (loop_dump)
finish_graph_dump_file (dump_base_name, ".loop");
if (cse2_dump)
finish_graph_dump_file (dump_base_name, ".cse2");
if (branch_prob_dump)
finish_graph_dump_file (dump_base_name, ".bp");
if (flow_dump)
finish_graph_dump_file (dump_base_name, ".flow");
if (combine_dump)
finish_graph_dump_file (dump_base_name, ".combine");
if (regmove_dump)
finish_graph_dump_file (dump_base_name, ".regmove");
if (sched_dump)
finish_graph_dump_file (dump_base_name, ".sched");
if (local_reg_dump)
finish_graph_dump_file (dump_base_name, ".lreg");
if (global_reg_dump)
finish_graph_dump_file (dump_base_name, ".greg");
if (flow2_dump)
finish_graph_dump_file (dump_base_name, ".flow2");
if (sched2_dump)
finish_graph_dump_file (dump_base_name, ".sched2");
if (jump2_opt_dump)
finish_graph_dump_file (dump_base_name, ".jump2");
#ifdef DELAY_SLOTS
if (dbr_sched_dump)
finish_graph_dump_file (dump_base_name, ".dbr");
#endif
finish_graph_dump_file (dump_base_name, ".02.cse");
if (addressof_dump)
finish_graph_dump_file (dump_base_name, ".03.addressof");
if (gcse_dump)
finish_graph_dump_file (dump_base_name, ".gcse");
#ifdef STACK_REGS
if (stack_reg_dump)
finish_graph_dump_file (dump_base_name, ".stack");
finish_graph_dump_file (dump_base_name, ".04.gcse");
if (loop_dump)
finish_graph_dump_file (dump_base_name, ".05.loop");
if (cse2_dump)
finish_graph_dump_file (dump_base_name, ".06.cse2");
if (branch_prob_dump)
finish_graph_dump_file (dump_base_name, ".07.bp");
if (flow_dump)
finish_graph_dump_file (dump_base_name, ".08.flow");
if (combine_dump)
finish_graph_dump_file (dump_base_name, ".09.combine");
if (regmove_dump)
finish_graph_dump_file (dump_base_name, ".10.regmove");
#ifdef INSN_SCHEDULING
if (sched_dump)
finish_graph_dump_file (dump_base_name, ".11.sched");
#endif
if (local_reg_dump)
finish_graph_dump_file (dump_base_name, ".12.lreg");
if (global_reg_dump)
finish_graph_dump_file (dump_base_name, ".13.greg");
if (flow2_dump)
finish_graph_dump_file (dump_base_name, ".14.flow2");
#ifdef HAVE_peephole2
if (flow2_dump)
finish_graph_dump_file (dump_base_name, ".15.peephole2");
#endif
#ifdef INSN_SCHEDULING
if (sched2_dump)
finish_graph_dump_file (dump_base_name, ".16.sched2");
#endif
if (jump2_opt_dump)
finish_graph_dump_file (dump_base_name, ".17.jump2");
#ifdef MACHINE_DEPENDENT_REORG
if (mach_dep_reorg_dump)
finish_graph_dump_file (dump_base_name, ".mach");
finish_graph_dump_file (dump_base_name, ".18.mach");
#endif
#ifdef DELAY_SLOTS
if (dbr_sched_dump)
finish_graph_dump_file (dump_base_name, ".19.dbr");
#endif
#ifdef STACK_REGS
if (stack_reg_dump)
finish_graph_dump_file (dump_base_name, ".20.stack");
#endif
}
@ -3385,21 +3397,31 @@ compile_file (name)
print_time ("flow", flow_time);
print_time ("combine", combine_time);
print_time ("regmove", regmove_time);
#ifdef INSN_SCHEDULING
print_time ("sched", sched_time);
#endif
print_time ("local-alloc", local_alloc_time);
print_time ("global-alloc", global_alloc_time);
print_time ("flow2", flow2_time);
#ifdef HAVE_peephole2
print_time ("peephole2", peephole2_time);
#endif
#ifdef INSN_SCHEDULING
print_time ("sched2", sched2_time);
#endif
#ifdef DELAY_SLOTS
print_time ("dbranch", dbr_sched_time);
#endif
print_time ("shorten-branch", shorten_branch_time);
#ifdef STACK_REGS
print_time ("stack-reg", stack_reg_time);
#endif
print_time ("final", final_time);
print_time ("varconst", varconst_time);
print_time ("symout", symout_time);
print_time ("dump", dump_time);
print_time ("gc", gc_time);
if (ggc_p)
print_time ("gc", gc_time);
}
}
@ -3565,7 +3587,7 @@ rest_of_compilation (decl)
if (rtl_dump)
{
open_dump_file (".rtl", decl_printable_name (decl, 2));
open_dump_file (".00.rtl", decl_printable_name (decl, 2));
if (DECL_SAVED_INSNS (decl))
fprintf (rtl_dump_file, ";; (integrable)\n\n");
@ -3723,7 +3745,7 @@ rest_of_compilation (decl)
/* Dump rtl code after jump, if we are doing that. */
if (jump_opt_dump)
dump_rtl (".jump", decl, print_rtl, insns);
dump_rtl (".01.jump", decl, print_rtl, insns);
if (ggc_p)
ggc_collect ();
@ -3736,7 +3758,7 @@ rest_of_compilation (decl)
if (optimize > 0)
{
if (cse_dump)
open_dump_file (".cse", decl_printable_name (decl, 2));
open_dump_file (".02.cse", decl_printable_name (decl, 2));
TIMEVAR (cse_time, reg_scan (insns, max_reg_num (), 1));
@ -3768,7 +3790,7 @@ rest_of_compilation (decl)
{
close_dump_file (print_rtl, insns);
if (graph_dump_format != no_graph)
print_rtl_graph_with_bb (dump_base_name, ".cse", insns);
print_rtl_graph_with_bb (dump_base_name, ".02.cse", insns);
}
}
@ -3777,9 +3799,9 @@ rest_of_compilation (decl)
if (addressof_dump)
{
dump_rtl (".addressof", decl, print_rtl, insns);
dump_rtl (".03.addressof", decl, print_rtl, insns);
if (graph_dump_format != no_graph)
print_rtl_graph_with_bb (dump_base_name, ".addressof", insns);
print_rtl_graph_with_bb (dump_base_name, ".03.addressof", insns);
}
if (ggc_p)
@ -3790,7 +3812,7 @@ rest_of_compilation (decl)
if (optimize > 0 && flag_gcse)
{
if (gcse_dump)
open_dump_file (".gcse", decl_printable_name (decl, 2));
open_dump_file (".04.gcse", decl_printable_name (decl, 2));
TIMEVAR (gcse_time, tem = gcse_main (insns, rtl_dump_file));
@ -3807,7 +3829,7 @@ rest_of_compilation (decl)
{
close_dump_file (print_rtl, insns);
if (graph_dump_format != no_graph)
print_rtl_graph_with_bb (dump_base_name, ".gcse", insns);
print_rtl_graph_with_bb (dump_base_name, ".04.gcse", insns);
}
if (ggc_p)
@ -3818,7 +3840,7 @@ rest_of_compilation (decl)
if (optimize > 0)
{
if (loop_dump)
open_dump_file (".loop", decl_printable_name (decl, 2));
open_dump_file (".05.loop", decl_printable_name (decl, 2));
TIMEVAR
(loop_time,
@ -3849,7 +3871,7 @@ rest_of_compilation (decl)
{
close_dump_file (print_rtl, insns);
if (graph_dump_format != no_graph)
print_rtl_graph_with_bb (dump_base_name, ".loop", insns);
print_rtl_graph_with_bb (dump_base_name, ".05.loop", insns);
}
if (ggc_p)
@ -3864,7 +3886,7 @@ rest_of_compilation (decl)
if (optimize > 0)
{
if (cse2_dump)
open_dump_file (".cse2", decl_printable_name (decl, 2));
open_dump_file (".06.cse2", decl_printable_name (decl, 2));
if (flag_rerun_cse_after_loop)
{
@ -3901,7 +3923,7 @@ rest_of_compilation (decl)
{
close_dump_file (print_rtl, insns);
if (graph_dump_format != no_graph)
print_rtl_graph_with_bb (dump_base_name, ".cse2", insns);
print_rtl_graph_with_bb (dump_base_name, ".06.cse2", insns);
}
if (ggc_p)
@ -3911,7 +3933,7 @@ rest_of_compilation (decl)
if (profile_arc_flag || flag_test_coverage || flag_branch_probabilities)
{
if (branch_prob_dump)
open_dump_file (".bp", decl_printable_name (decl, 2));
open_dump_file (".07.bp", decl_printable_name (decl, 2));
TIMEVAR
(branch_prob_time,
@ -3923,7 +3945,7 @@ rest_of_compilation (decl)
{
close_dump_file (print_rtl, insns);
if (graph_dump_format != no_graph)
print_rtl_graph_with_bb (dump_base_name, ".bp", insns);
print_rtl_graph_with_bb (dump_base_name, ".07.bp", insns);
}
if (ggc_p)
@ -3943,7 +3965,7 @@ rest_of_compilation (decl)
because doing the flow analysis makes some of the dump. */
if (flow_dump)
open_dump_file (".flow", decl_printable_name (decl, 2));
open_dump_file (".08.flow", decl_printable_name (decl, 2));
if (obey_regdecls)
{
@ -3979,7 +4001,7 @@ rest_of_compilation (decl)
{
close_dump_file (print_rtl_with_bb, insns);
if (graph_dump_format != no_graph)
print_rtl_graph_with_bb (dump_base_name, ".flow", insns);
print_rtl_graph_with_bb (dump_base_name, ".08.flow", insns);
}
if (ggc_p)
@ -3999,9 +4021,9 @@ rest_of_compilation (decl)
if (combine_dump)
{
dump_rtl (".combine", decl, print_rtl_with_bb, insns);
dump_rtl (".09.combine", decl, print_rtl_with_bb, insns);
if (graph_dump_format != no_graph)
print_rtl_graph_with_bb (dump_base_name, ".combine", insns);
print_rtl_graph_with_bb (dump_base_name, ".09.combine", insns);
}
if (ggc_p)
@ -4013,7 +4035,7 @@ rest_of_compilation (decl)
if (optimize > 0 && (flag_regmove || flag_expensive_optimizations))
{
if (regmove_dump)
open_dump_file (".regmove", decl_printable_name (decl, 2));
open_dump_file (".10.regmove", decl_printable_name (decl, 2));
TIMEVAR (regmove_time, regmove_optimize (insns, max_reg_num (),
rtl_dump_file));
@ -4022,7 +4044,7 @@ rest_of_compilation (decl)
{
close_dump_file (print_rtl_with_bb, insns);
if (graph_dump_format != no_graph)
print_rtl_graph_with_bb (dump_base_name, ".regmove", insns);
print_rtl_graph_with_bb (dump_base_name, ".10.regmove", insns);
}
if (ggc_p)
@ -4032,10 +4054,11 @@ rest_of_compilation (decl)
/* Print function header into sched dump now
because doing the sched analysis makes some of the dump. */
#ifdef INSN_SCHEDULING
if (optimize > 0 && flag_schedule_insns)
{
if (sched_dump)
open_dump_file (".sched", decl_printable_name (decl, 2));
open_dump_file (".11.sched", decl_printable_name (decl, 2));
/* Do control and data sched analysis,
and write some of the results to dump file. */
@ -4048,12 +4071,13 @@ rest_of_compilation (decl)
{
close_dump_file (print_rtl_with_bb, insns);
if (graph_dump_format != no_graph)
print_rtl_graph_with_bb (dump_base_name, ".sched", insns);
print_rtl_graph_with_bb (dump_base_name, ".11.sched", insns);
}
if (ggc_p)
ggc_collect ();
}
#endif
/* Determine if the current function is a leaf before running reload
since this can impact optimizations done by the prologue and
@ -4080,21 +4104,21 @@ rest_of_compilation (decl)
if (local_reg_dump)
{
open_dump_file (".lreg", decl_printable_name (decl, 2));
open_dump_file (".12.lreg", decl_printable_name (decl, 2));
TIMEVAR (dump_time, dump_flow_info (rtl_dump_file));
TIMEVAR (dump_time, dump_local_alloc (rtl_dump_file));
close_dump_file (print_rtl_with_bb, insns);
if (graph_dump_format != no_graph)
print_rtl_graph_with_bb (dump_base_name, ".lreg", insns);
print_rtl_graph_with_bb (dump_base_name, ".12.lreg", insns);
}
if (ggc_p)
ggc_collect ();
if (global_reg_dump)
open_dump_file (".greg", decl_printable_name (decl, 2));
open_dump_file (".13.greg", decl_printable_name (decl, 2));
/* Unless we did stupid register allocation,
allocate remaining pseudo-regs, then do the reload pass
@ -4158,12 +4182,12 @@ rest_of_compilation (decl)
TIMEVAR (dump_time, dump_global_regs (rtl_dump_file));
close_dump_file (print_rtl_with_bb, insns);
if (graph_dump_format != no_graph)
print_rtl_graph_with_bb (dump_base_name, ".greg", insns);
print_rtl_graph_with_bb (dump_base_name, ".13.greg", insns);
}
/* Re-create the death notes which were deleted during reload. */
if (flow2_dump)
open_dump_file (".flow2", decl_printable_name (decl, 2));
open_dump_file (".14.flow2", decl_printable_name (decl, 2));
if (optimize)
{
@ -4191,30 +4215,31 @@ rest_of_compilation (decl)
{
close_dump_file (print_rtl_with_bb, insns);
if (graph_dump_format != no_graph)
print_rtl_graph_with_bb (dump_base_name, ".flow2", insns);
print_rtl_graph_with_bb (dump_base_name, ".14.flow2", insns);
}
#ifdef HAVE_peephole2
if (optimize > 0 && flag_peephole2)
{
if (peephole2_dump)
open_dump_file (".peephole2", decl_printable_name (decl, 2));
open_dump_file (".15.peephole2", decl_printable_name (decl, 2));
peephole2_optimize (rtl_dump_file);
TIMEVAR (peephole2_time, peephole2_optimize (rtl_dump_file));
if (peephole2_dump)
{
close_dump_file (print_rtl_with_bb, insns);
if (graph_dump_format != no_graph)
print_rtl_graph_with_bb (dump_base_name, ".peephole2", insns);
print_rtl_graph_with_bb (dump_base_name, ".15.peephole2", insns);
}
}
#endif
#ifdef INSN_SCHEDULING
if (optimize > 0 && flag_schedule_insns_after_reload)
{
if (sched2_dump)
open_dump_file (".sched2", decl_printable_name (decl, 2));
open_dump_file (".16.sched2", decl_printable_name (decl, 2));
/* Do control and data sched analysis again,
and write some more of the results to dump file. */
@ -4227,12 +4252,13 @@ rest_of_compilation (decl)
{
close_dump_file (print_rtl_with_bb, insns);
if (graph_dump_format != no_graph)
print_rtl_graph_with_bb (dump_base_name, ".sched2", insns);
print_rtl_graph_with_bb (dump_base_name, ".16.sched2", insns);
}
if (ggc_p)
ggc_collect ();
}
#endif
#ifdef LEAF_REGISTERS
current_function_uses_only_leaf_regs
@ -4254,16 +4280,16 @@ rest_of_compilation (decl)
if (jump2_opt_dump)
{
dump_rtl (".jump2", decl, print_rtl_with_bb, insns);
dump_rtl (".17.jump2", decl, print_rtl_with_bb, insns);
if (graph_dump_format != no_graph)
print_rtl_graph_with_bb (dump_base_name, ".jump2", insns);
print_rtl_graph_with_bb (dump_base_name, ".17.jump2", insns);
}
}
/* If a machine dependent reorganization is needed, call it. */
#ifdef MACHINE_DEPENDENT_REORG
if (mach_dep_reorg_dump)
open_dump_file (".mach", decl_printable_name (decl, 2));
open_dump_file (".18.mach", decl_printable_name (decl, 2));
MACHINE_DEPENDENT_REORG (insns);
@ -4271,7 +4297,7 @@ rest_of_compilation (decl)
{
close_dump_file (print_rtl_with_bb, insns);
if (graph_dump_format != no_graph)
print_rtl_graph_with_bb (dump_base_name, ".mach", insns);
print_rtl_graph_with_bb (dump_base_name, ".18.mach", insns);
}
if (ggc_p)
@ -4285,7 +4311,7 @@ rest_of_compilation (decl)
if (optimize > 0 && flag_delayed_branch)
{
if (dbr_sched_dump)
open_dump_file (".dbr", decl_printable_name (decl, 2));
open_dump_file (".19.dbr", decl_printable_name (decl, 2));
TIMEVAR (dbr_sched_time, dbr_schedule (insns, rtl_dump_file));
@ -4293,7 +4319,7 @@ rest_of_compilation (decl)
{
close_dump_file (print_rtl_with_bb, insns);
if (graph_dump_format != no_graph)
print_rtl_graph_with_bb (dump_base_name, ".dbr", insns);
print_rtl_graph_with_bb (dump_base_name, ".19.dbr", insns);
}
}
@ -4309,15 +4335,15 @@ rest_of_compilation (decl)
#ifdef STACK_REGS
if (stack_reg_dump)
open_dump_file (".stack", decl_printable_name (decl, 2));
open_dump_file (".20.stack", decl_printable_name (decl, 2));
TIMEVAR (stack_reg_time, reg_to_stack (insns, rtl_dump_file));
if (stack_reg_dump)
{
dump_rtl (".stack", decl, print_rtl_with_bb, insns);
close_dump_file (print_rtl_with_bb, insns);
if (graph_dump_format != no_graph)
print_rtl_graph_with_bb (dump_base_name, ".stack", insns);
print_rtl_graph_with_bb (dump_base_name, ".20.stack", insns);
}
if (ggc_p)