This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
dump files tweek
- To: gcc-patches at gcc dot gnu dot org
- Subject: dump files tweek
- From: Richard Henderson <rth at cygnus dot com>
- Date: Mon, 4 Oct 1999 21:08:39 -0700
Sometimes I find it annoying to grep for the first occurrence of
an insn in the set of dump files, since the files are not sorted
in any way.
This patch adds a pass number to the dump file name (eg foo.c.02.cse)
so that "grep 'insn[^0-9]* 179 foo.c.*" will do the Right Thing.
r~
* 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.
Index: toplev.c
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/toplev.c,v
retrieving revision 1.235
diff -c -p -d -r1.235 toplev.c
*** toplev.c 1999/10/04 18:30:10 1.235
--- toplev.c 1999/10/05 04:01:26
*************** int sched_time;
*** 1306,1315 ****
int local_alloc_time;
int global_alloc_time;
int flow2_time;
int sched2_time;
- #ifdef DELAY_SLOTS
int dbr_sched_time;
- #endif
int shorten_branch_time;
int stack_reg_time;
int final_time;
--- 1306,1314 ----
int local_alloc_time;
int global_alloc_time;
int flow2_time;
+ int peephole2_time;
int sched2_time;
int dbr_sched_time;
int shorten_branch_time;
int stack_reg_time;
int final_time;
*************** compile_file (name)
*** 2829,2838 ****
local_alloc_time = 0;
global_alloc_time = 0;
flow2_time = 0;
sched2_time = 0;
- #ifdef DELAY_SLOTS
dbr_sched_time = 0;
- #endif
shorten_branch_time = 0;
stack_reg_time = 0;
final_time = 0;
--- 2828,2836 ----
local_alloc_time = 0;
global_alloc_time = 0;
flow2_time = 0;
+ peephole2_time = 0;
sched2_time = 0;
dbr_sched_time = 0;
shorten_branch_time = 0;
stack_reg_time = 0;
final_time = 0;
*************** compile_file (name)
*** 2881,3011 ****
/* Clear the dump files. */
if (rtl_dump)
! clean_dump_file (".rtl");
if (jump_opt_dump)
{
! clean_dump_file (".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");
}
! if (cse_dump)
{
! clean_dump_file (".cse");
if (graph_dump_format != no_graph)
! clean_graph_dump_file (dump_base_name, ".cse");
}
if (loop_dump)
{
! clean_dump_file (".loop");
if (graph_dump_format != no_graph)
! clean_graph_dump_file (dump_base_name, ".loop");
}
if (cse2_dump)
{
! clean_dump_file (".cse2");
if (graph_dump_format != no_graph)
! clean_graph_dump_file (dump_base_name, ".cse2");
}
if (branch_prob_dump)
{
! clean_dump_file (".bp");
if (graph_dump_format != no_graph)
! clean_graph_dump_file (dump_base_name, ".bp");
}
if (flow_dump)
{
! clean_dump_file (".flow");
if (graph_dump_format != no_graph)
! clean_graph_dump_file (dump_base_name, ".flow");
}
if (combine_dump)
{
! clean_dump_file (".combine");
if (graph_dump_format != no_graph)
! clean_graph_dump_file (dump_base_name, ".combine");
}
if (regmove_dump)
{
! clean_dump_file (".regmove");
if (graph_dump_format != no_graph)
! clean_graph_dump_file (dump_base_name, ".regmove");
}
if (sched_dump)
{
! clean_dump_file (".sched");
if (graph_dump_format != no_graph)
! clean_graph_dump_file (dump_base_name, ".sched");
}
if (local_reg_dump)
{
! clean_dump_file (".lreg");
if (graph_dump_format != no_graph)
! clean_graph_dump_file (dump_base_name, ".lreg");
}
if (global_reg_dump)
{
! clean_dump_file (".greg");
if (graph_dump_format != no_graph)
! clean_graph_dump_file (dump_base_name, ".greg");
}
if (flow2_dump)
{
! clean_dump_file (".flow2");
if (graph_dump_format != no_graph)
! clean_graph_dump_file (dump_base_name, ".flow2");
}
if (peephole2_dump)
{
! clean_dump_file (".peephole2");
if (graph_dump_format != no_graph)
! clean_graph_dump_file (dump_base_name, ".peephole2");
}
if (sched2_dump)
{
! clean_dump_file (".sched2");
if (graph_dump_format != no_graph)
! clean_graph_dump_file (dump_base_name, ".sched2");
}
if (jump2_opt_dump)
{
! clean_dump_file (".jump2");
if (graph_dump_format != no_graph)
! clean_graph_dump_file (dump_base_name, ".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");
if (graph_dump_format != no_graph)
! clean_graph_dump_file (dump_base_name, ".mach");
}
#endif
--- 2879,3015 ----
/* Clear the dump files. */
if (rtl_dump)
! clean_dump_file (".00.rtl");
if (jump_opt_dump)
{
! clean_dump_file (".01.jump");
if (graph_dump_format != no_graph)
! clean_graph_dump_file (dump_base_name, ".01.jump");
! }
! if (cse_dump)
! {
! clean_dump_file (".02.cse");
! if (graph_dump_format != no_graph)
! 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 (".05.loop");
if (graph_dump_format != no_graph)
! clean_graph_dump_file (dump_base_name, ".05.loop");
}
if (cse2_dump)
{
! clean_dump_file (".06.cse2");
if (graph_dump_format != no_graph)
! clean_graph_dump_file (dump_base_name, ".06.cse2");
}
if (branch_prob_dump)
{
! clean_dump_file (".07.bp");
if (graph_dump_format != no_graph)
! clean_graph_dump_file (dump_base_name, ".07.bp");
}
if (flow_dump)
{
! clean_dump_file (".08.flow");
if (graph_dump_format != no_graph)
! clean_graph_dump_file (dump_base_name, ".08.flow");
}
if (combine_dump)
{
! clean_dump_file (".09.combine");
if (graph_dump_format != no_graph)
! clean_graph_dump_file (dump_base_name, ".09.combine");
}
if (regmove_dump)
{
! clean_dump_file (".10.regmove");
if (graph_dump_format != no_graph)
! clean_graph_dump_file (dump_base_name, ".10.regmove");
}
+ #ifdef INSN_SCHEDULING
if (sched_dump)
{
! clean_dump_file (".11.sched");
if (graph_dump_format != no_graph)
! clean_graph_dump_file (dump_base_name, ".11.sched");
}
+ #endif
if (local_reg_dump)
{
! clean_dump_file (".12.lreg");
if (graph_dump_format != no_graph)
! clean_graph_dump_file (dump_base_name, ".12.lreg");
}
if (global_reg_dump)
{
! clean_dump_file (".13.greg");
if (graph_dump_format != no_graph)
! clean_graph_dump_file (dump_base_name, ".13.greg");
}
if (flow2_dump)
{
! clean_dump_file (".14.flow2");
if (graph_dump_format != no_graph)
! clean_graph_dump_file (dump_base_name, ".14.flow2");
}
+ #ifdef HAVE_peephole2
if (peephole2_dump)
{
! clean_dump_file (".15.peephole2");
if (graph_dump_format != no_graph)
! clean_graph_dump_file (dump_base_name, ".15.peephole2");
}
+ #endif
+ #ifdef INSN_SCHEDULING
if (sched2_dump)
{
! clean_dump_file (".16.sched2");
if (graph_dump_format != no_graph)
! clean_graph_dump_file (dump_base_name, ".16.sched2");
}
+ #endif
if (jump2_opt_dump)
{
! clean_dump_file (".17.jump2");
if (graph_dump_format != no_graph)
! clean_graph_dump_file (dump_base_name, ".17.jump2");
}
! #ifdef MACHINE_DEPENDENT_REORG
! if (mach_dep_reorg_dump)
{
! clean_dump_file (".18.mach");
if (graph_dump_format != no_graph)
! 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
*************** compile_file (name)
*** 3272,3278 ****
end_final (dump_base_name);
if (branch_prob_dump)
! open_dump_file (".bp", NULL);
TIMEVAR (dump_time, end_branch_prob (rtl_dump_file));
--- 3276,3282 ----
end_final (dump_base_name);
if (branch_prob_dump)
! open_dump_file (".07.bp", NULL);
TIMEVAR (dump_time, end_branch_prob (rtl_dump_file));
*************** compile_file (name)
*** 3299,3305 ****
if (combine_dump)
{
! open_dump_file (".combine", NULL);
TIMEVAR (dump_time, dump_combine_total_stats (rtl_dump_file));
close_dump_file (NULL, NULL_RTX);
}
--- 3303,3309 ----
if (combine_dump)
{
! open_dump_file (".09.combine", NULL);
TIMEVAR (dump_time, dump_combine_total_stats (rtl_dump_file));
close_dump_file (NULL, NULL_RTX);
}
*************** compile_file (name)
*** 3318,3365 ****
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");
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
- 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");
! #endif
! #ifdef MACHINE_DEPENDENT_REORG
! if (mach_dep_reorg_dump)
! finish_graph_dump_file (dump_base_name, ".mach");
#endif
}
--- 3322,3377 ----
if (graph_dump_format != no_graph)
{
if (jump_opt_dump)
! finish_graph_dump_file (dump_base_name, ".01.jump");
if (cse_dump)
! 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, ".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, ".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
}
*************** compile_file (name)
*** 3385,3405 ****
print_time ("flow", flow_time);
print_time ("combine", combine_time);
print_time ("regmove", regmove_time);
print_time ("sched", sched_time);
print_time ("local-alloc", local_alloc_time);
print_time ("global-alloc", global_alloc_time);
print_time ("flow2", flow2_time);
print_time ("sched2", sched2_time);
#ifdef DELAY_SLOTS
print_time ("dbranch", dbr_sched_time);
#endif
print_time ("shorten-branch", shorten_branch_time);
print_time ("stack-reg", stack_reg_time);
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);
}
}
--- 3397,3427 ----
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);
! if (ggc_p)
! print_time ("gc", gc_time);
}
}
*************** rest_of_compilation (decl)
*** 3565,3571 ****
if (rtl_dump)
{
! open_dump_file (".rtl", decl_printable_name (decl, 2));
if (DECL_SAVED_INSNS (decl))
fprintf (rtl_dump_file, ";; (integrable)\n\n");
--- 3587,3593 ----
if (rtl_dump)
{
! open_dump_file (".00.rtl", decl_printable_name (decl, 2));
if (DECL_SAVED_INSNS (decl))
fprintf (rtl_dump_file, ";; (integrable)\n\n");
*************** rest_of_compilation (decl)
*** 3723,3729 ****
/* Dump rtl code after jump, if we are doing that. */
if (jump_opt_dump)
! dump_rtl (".jump", decl, print_rtl, insns);
if (ggc_p)
ggc_collect ();
--- 3745,3751 ----
/* Dump rtl code after jump, if we are doing that. */
if (jump_opt_dump)
! dump_rtl (".01.jump", decl, print_rtl, insns);
if (ggc_p)
ggc_collect ();
*************** rest_of_compilation (decl)
*** 3736,3742 ****
if (optimize > 0)
{
if (cse_dump)
! open_dump_file (".cse", decl_printable_name (decl, 2));
TIMEVAR (cse_time, reg_scan (insns, max_reg_num (), 1));
--- 3758,3764 ----
if (optimize > 0)
{
if (cse_dump)
! open_dump_file (".02.cse", decl_printable_name (decl, 2));
TIMEVAR (cse_time, reg_scan (insns, max_reg_num (), 1));
*************** rest_of_compilation (decl)
*** 3768,3774 ****
{
close_dump_file (print_rtl, insns);
if (graph_dump_format != no_graph)
! print_rtl_graph_with_bb (dump_base_name, ".cse", insns);
}
}
--- 3790,3796 ----
{
close_dump_file (print_rtl, insns);
if (graph_dump_format != no_graph)
! print_rtl_graph_with_bb (dump_base_name, ".02.cse", insns);
}
}
*************** rest_of_compilation (decl)
*** 3777,3785 ****
if (addressof_dump)
{
! dump_rtl (".addressof", decl, print_rtl, insns);
if (graph_dump_format != no_graph)
! print_rtl_graph_with_bb (dump_base_name, ".addressof", insns);
}
if (ggc_p)
--- 3799,3807 ----
if (addressof_dump)
{
! dump_rtl (".03.addressof", decl, print_rtl, insns);
if (graph_dump_format != no_graph)
! print_rtl_graph_with_bb (dump_base_name, ".03.addressof", insns);
}
if (ggc_p)
*************** rest_of_compilation (decl)
*** 3790,3796 ****
if (optimize > 0 && flag_gcse)
{
if (gcse_dump)
! open_dump_file (".gcse", decl_printable_name (decl, 2));
TIMEVAR (gcse_time, tem = gcse_main (insns, rtl_dump_file));
--- 3812,3818 ----
if (optimize > 0 && flag_gcse)
{
if (gcse_dump)
! open_dump_file (".04.gcse", decl_printable_name (decl, 2));
TIMEVAR (gcse_time, tem = gcse_main (insns, rtl_dump_file));
*************** rest_of_compilation (decl)
*** 3807,3813 ****
{
close_dump_file (print_rtl, insns);
if (graph_dump_format != no_graph)
! print_rtl_graph_with_bb (dump_base_name, ".gcse", insns);
}
if (ggc_p)
--- 3829,3835 ----
{
close_dump_file (print_rtl, insns);
if (graph_dump_format != no_graph)
! print_rtl_graph_with_bb (dump_base_name, ".04.gcse", insns);
}
if (ggc_p)
*************** rest_of_compilation (decl)
*** 3818,3824 ****
if (optimize > 0)
{
if (loop_dump)
! open_dump_file (".loop", decl_printable_name (decl, 2));
TIMEVAR
(loop_time,
--- 3840,3846 ----
if (optimize > 0)
{
if (loop_dump)
! open_dump_file (".05.loop", decl_printable_name (decl, 2));
TIMEVAR
(loop_time,
*************** rest_of_compilation (decl)
*** 3849,3855 ****
{
close_dump_file (print_rtl, insns);
if (graph_dump_format != no_graph)
! print_rtl_graph_with_bb (dump_base_name, ".loop", insns);
}
if (ggc_p)
--- 3871,3877 ----
{
close_dump_file (print_rtl, insns);
if (graph_dump_format != no_graph)
! print_rtl_graph_with_bb (dump_base_name, ".05.loop", insns);
}
if (ggc_p)
*************** rest_of_compilation (decl)
*** 3864,3870 ****
if (optimize > 0)
{
if (cse2_dump)
! open_dump_file (".cse2", decl_printable_name (decl, 2));
if (flag_rerun_cse_after_loop)
{
--- 3886,3892 ----
if (optimize > 0)
{
if (cse2_dump)
! open_dump_file (".06.cse2", decl_printable_name (decl, 2));
if (flag_rerun_cse_after_loop)
{
*************** rest_of_compilation (decl)
*** 3901,3907 ****
{
close_dump_file (print_rtl, insns);
if (graph_dump_format != no_graph)
! print_rtl_graph_with_bb (dump_base_name, ".cse2", insns);
}
if (ggc_p)
--- 3923,3929 ----
{
close_dump_file (print_rtl, insns);
if (graph_dump_format != no_graph)
! print_rtl_graph_with_bb (dump_base_name, ".06.cse2", insns);
}
if (ggc_p)
*************** rest_of_compilation (decl)
*** 3911,3917 ****
if (profile_arc_flag || flag_test_coverage || flag_branch_probabilities)
{
if (branch_prob_dump)
! open_dump_file (".bp", decl_printable_name (decl, 2));
TIMEVAR
(branch_prob_time,
--- 3933,3939 ----
if (profile_arc_flag || flag_test_coverage || flag_branch_probabilities)
{
if (branch_prob_dump)
! open_dump_file (".07.bp", decl_printable_name (decl, 2));
TIMEVAR
(branch_prob_time,
*************** rest_of_compilation (decl)
*** 3923,3929 ****
{
close_dump_file (print_rtl, insns);
if (graph_dump_format != no_graph)
! print_rtl_graph_with_bb (dump_base_name, ".bp", insns);
}
if (ggc_p)
--- 3945,3951 ----
{
close_dump_file (print_rtl, insns);
if (graph_dump_format != no_graph)
! print_rtl_graph_with_bb (dump_base_name, ".07.bp", insns);
}
if (ggc_p)
*************** rest_of_compilation (decl)
*** 3943,3949 ****
because doing the flow analysis makes some of the dump. */
if (flow_dump)
! open_dump_file (".flow", decl_printable_name (decl, 2));
if (obey_regdecls)
{
--- 3965,3971 ----
because doing the flow analysis makes some of the dump. */
if (flow_dump)
! open_dump_file (".08.flow", decl_printable_name (decl, 2));
if (obey_regdecls)
{
*************** rest_of_compilation (decl)
*** 3979,3985 ****
{
close_dump_file (print_rtl_with_bb, insns);
if (graph_dump_format != no_graph)
! print_rtl_graph_with_bb (dump_base_name, ".flow", insns);
}
if (ggc_p)
--- 4001,4007 ----
{
close_dump_file (print_rtl_with_bb, insns);
if (graph_dump_format != no_graph)
! print_rtl_graph_with_bb (dump_base_name, ".08.flow", insns);
}
if (ggc_p)
*************** rest_of_compilation (decl)
*** 3999,4007 ****
if (combine_dump)
{
! dump_rtl (".combine", decl, print_rtl_with_bb, insns);
if (graph_dump_format != no_graph)
! print_rtl_graph_with_bb (dump_base_name, ".combine", insns);
}
if (ggc_p)
--- 4021,4029 ----
if (combine_dump)
{
! dump_rtl (".09.combine", decl, print_rtl_with_bb, insns);
if (graph_dump_format != no_graph)
! print_rtl_graph_with_bb (dump_base_name, ".09.combine", insns);
}
if (ggc_p)
*************** rest_of_compilation (decl)
*** 4013,4019 ****
if (optimize > 0 && (flag_regmove || flag_expensive_optimizations))
{
if (regmove_dump)
! open_dump_file (".regmove", decl_printable_name (decl, 2));
TIMEVAR (regmove_time, regmove_optimize (insns, max_reg_num (),
rtl_dump_file));
--- 4035,4041 ----
if (optimize > 0 && (flag_regmove || flag_expensive_optimizations))
{
if (regmove_dump)
! open_dump_file (".10.regmove", decl_printable_name (decl, 2));
TIMEVAR (regmove_time, regmove_optimize (insns, max_reg_num (),
rtl_dump_file));
*************** rest_of_compilation (decl)
*** 4022,4028 ****
{
close_dump_file (print_rtl_with_bb, insns);
if (graph_dump_format != no_graph)
! print_rtl_graph_with_bb (dump_base_name, ".regmove", insns);
}
if (ggc_p)
--- 4044,4050 ----
{
close_dump_file (print_rtl_with_bb, insns);
if (graph_dump_format != no_graph)
! print_rtl_graph_with_bb (dump_base_name, ".10.regmove", insns);
}
if (ggc_p)
*************** rest_of_compilation (decl)
*** 4032,4041 ****
/* Print function header into sched dump now
because doing the sched analysis makes some of the dump. */
if (optimize > 0 && flag_schedule_insns)
{
if (sched_dump)
! open_dump_file (".sched", decl_printable_name (decl, 2));
/* Do control and data sched analysis,
and write some of the results to dump file. */
--- 4054,4064 ----
/* 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 (".11.sched", decl_printable_name (decl, 2));
/* Do control and data sched analysis,
and write some of the results to dump file. */
*************** rest_of_compilation (decl)
*** 4048,4059 ****
{
close_dump_file (print_rtl_with_bb, insns);
if (graph_dump_format != no_graph)
! print_rtl_graph_with_bb (dump_base_name, ".sched", insns);
}
if (ggc_p)
ggc_collect ();
}
/* Determine if the current function is a leaf before running reload
since this can impact optimizations done by the prologue and
--- 4071,4083 ----
{
close_dump_file (print_rtl_with_bb, insns);
if (graph_dump_format != no_graph)
! 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
*************** rest_of_compilation (decl)
*** 4080,4100 ****
if (local_reg_dump)
{
! open_dump_file (".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);
}
if (ggc_p)
ggc_collect ();
if (global_reg_dump)
! open_dump_file (".greg", decl_printable_name (decl, 2));
/* Unless we did stupid register allocation,
allocate remaining pseudo-regs, then do the reload pass
--- 4104,4124 ----
if (local_reg_dump)
{
! 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, ".12.lreg", insns);
}
if (ggc_p)
ggc_collect ();
if (global_reg_dump)
! 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
*************** rest_of_compilation (decl)
*** 4158,4169 ****
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);
}
/* Re-create the death notes which were deleted during reload. */
if (flow2_dump)
! open_dump_file (".flow2", decl_printable_name (decl, 2));
if (optimize)
{
--- 4182,4193 ----
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, ".13.greg", insns);
}
/* Re-create the death notes which were deleted during reload. */
if (flow2_dump)
! open_dump_file (".14.flow2", decl_printable_name (decl, 2));
if (optimize)
{
*************** rest_of_compilation (decl)
*** 4191,4220 ****
{
close_dump_file (print_rtl_with_bb, insns);
if (graph_dump_format != no_graph)
! print_rtl_graph_with_bb (dump_base_name, ".flow2", insns);
}
#ifdef HAVE_peephole2
if (optimize > 0 && flag_peephole2)
{
if (peephole2_dump)
! open_dump_file (".peephole2", decl_printable_name (decl, 2));
! 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);
}
}
#endif
if (optimize > 0 && flag_schedule_insns_after_reload)
{
if (sched2_dump)
! open_dump_file (".sched2", decl_printable_name (decl, 2));
/* Do control and data sched analysis again,
and write some more of the results to dump file. */
--- 4215,4245 ----
{
close_dump_file (print_rtl_with_bb, insns);
if (graph_dump_format != no_graph)
! 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 (".15.peephole2", decl_printable_name (decl, 2));
! 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, ".15.peephole2", insns);
}
}
#endif
+ #ifdef INSN_SCHEDULING
if (optimize > 0 && flag_schedule_insns_after_reload)
{
if (sched2_dump)
! 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. */
*************** rest_of_compilation (decl)
*** 4227,4238 ****
{
close_dump_file (print_rtl_with_bb, insns);
if (graph_dump_format != no_graph)
! print_rtl_graph_with_bb (dump_base_name, ".sched2", insns);
}
if (ggc_p)
ggc_collect ();
}
#ifdef LEAF_REGISTERS
current_function_uses_only_leaf_regs
--- 4252,4264 ----
{
close_dump_file (print_rtl_with_bb, insns);
if (graph_dump_format != no_graph)
! 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
*************** rest_of_compilation (decl)
*** 4254,4269 ****
if (jump2_opt_dump)
{
! dump_rtl (".jump2", decl, print_rtl_with_bb, insns);
if (graph_dump_format != no_graph)
! print_rtl_graph_with_bb (dump_base_name, ".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));
MACHINE_DEPENDENT_REORG (insns);
--- 4280,4295 ----
if (jump2_opt_dump)
{
! dump_rtl (".17.jump2", decl, print_rtl_with_bb, insns);
if (graph_dump_format != no_graph)
! 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 (".18.mach", decl_printable_name (decl, 2));
MACHINE_DEPENDENT_REORG (insns);
*************** rest_of_compilation (decl)
*** 4271,4277 ****
{
close_dump_file (print_rtl_with_bb, insns);
if (graph_dump_format != no_graph)
! print_rtl_graph_with_bb (dump_base_name, ".mach", insns);
}
if (ggc_p)
--- 4297,4303 ----
{
close_dump_file (print_rtl_with_bb, insns);
if (graph_dump_format != no_graph)
! print_rtl_graph_with_bb (dump_base_name, ".18.mach", insns);
}
if (ggc_p)
*************** rest_of_compilation (decl)
*** 4285,4291 ****
if (optimize > 0 && flag_delayed_branch)
{
if (dbr_sched_dump)
! open_dump_file (".dbr", decl_printable_name (decl, 2));
TIMEVAR (dbr_sched_time, dbr_schedule (insns, rtl_dump_file));
--- 4311,4317 ----
if (optimize > 0 && flag_delayed_branch)
{
if (dbr_sched_dump)
! open_dump_file (".19.dbr", decl_printable_name (decl, 2));
TIMEVAR (dbr_sched_time, dbr_schedule (insns, rtl_dump_file));
*************** rest_of_compilation (decl)
*** 4293,4299 ****
{
close_dump_file (print_rtl_with_bb, insns);
if (graph_dump_format != no_graph)
! print_rtl_graph_with_bb (dump_base_name, ".dbr", insns);
}
}
--- 4319,4325 ----
{
close_dump_file (print_rtl_with_bb, insns);
if (graph_dump_format != no_graph)
! print_rtl_graph_with_bb (dump_base_name, ".19.dbr", insns);
}
}
*************** rest_of_compilation (decl)
*** 4309,4323 ****
#ifdef STACK_REGS
if (stack_reg_dump)
! open_dump_file (".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);
if (graph_dump_format != no_graph)
! print_rtl_graph_with_bb (dump_base_name, ".stack", insns);
}
if (ggc_p)
--- 4335,4349 ----
#ifdef STACK_REGS
if (stack_reg_dump)
! 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)
{
! close_dump_file (print_rtl_with_bb, insns);
if (graph_dump_format != no_graph)
! print_rtl_graph_with_bb (dump_base_name, ".20.stack", insns);
}
if (ggc_p)
Index: invoke.texi
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/invoke.texi,v
retrieving revision 1.145
diff -c -p -d -r1.145 invoke.texi
*** invoke.texi 1999/10/02 18:29:08 1.145
--- invoke.texi 1999/10/05 04:01:26
*************** block and arc execution counts from the
*** 2066,2124 ****
@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:
@table @samp
@item b
! Dump after computing branch probabilities, to @file{@var{file}.bp}.
@item c
! Dump after instruction combination, to the file @file{@var{file}.combine}.
@item d
! Dump after delayed branch scheduling, to @file{@var{file}.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}.
@item f
! Dump after flow analysis, to @file{@var{file}.flow}.
@item g
! Dump after global register allocation, to @file{@var{file}.greg}.
@item G
! Dump after GCSE, to @file{@var{file}.gcse}.
@item j
! Dump after first jump optimization, to @file{@var{file}.jump}.
@item J
! Dump after last jump optimization, to @file{@var{file}.jump2}.
@item k
! Dump after conversion from registers to stack, to @file{@var{file}.stack}.
@item l
! Dump after local register allocation, to @file{@var{file}.lreg}.
@item L
! Dump after loop optimization, to @file{@var{file}.loop}.
@item M
Dump after performing the machine dependent reorganisation pass, to
! @file{@var{file}.mach}.
@item N
! Dump after the register move pass, to @file{@var{file}.regmove}.
@item r
! Dump after RTL generation, to @file{@var{file}.rtl}.
@item R
! Dump after the second instruction scheduling pass, to @file{@var{file}.sched2}.
@item s
Dump after CSE (including the jump optimization that sometimes follows
! CSE), to @file{@var{file}.cse}.
@item S
! Dump after the first instruction scheduling pass, to @file{@var{file}.sched}.
@item t
Dump after the second CSE pass (including the jump optimization that
! sometimes follows CSE), to @file{@var{file}.cse2}.
@item a
Produce all the dumps listed above.
@item m
--- 2066,2124 ----
@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 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}.07.bp}.
@item c
! Dump after instruction combination, to the file @file{@var{file}.09.combine}.
@item d
! 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 F
! Dump after purging ADDRESSOF, to @file{@var{file}.03.addressof}.
@item f
! Dump after flow analysis, to @file{@var{file}.08.flow}.
@item g
! Dump after global register allocation, to @file{@var{file}.13.greg}.
@item G
! Dump after GCSE, to @file{@var{file}.04.gcse}.
@item j
! Dump after first jump optimization, to @file{@var{file}.01.jump}.
@item J
! Dump after last jump optimization, to @file{@var{file}.17.jump2}.
@item k
! Dump after conversion from registers to stack, to @file{@var{file}.20.stack}.
@item l
! Dump after local register allocation, to @file{@var{file}.12.lreg}.
@item L
! Dump after loop optimization, to @file{@var{file}.05.loop}.
@item M
Dump after performing the machine dependent reorganisation pass, to
! @file{@var{file}.18.mach}.
@item N
! Dump after the register move pass, to @file{@var{file}.10.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}.
@item s
Dump after CSE (including the jump optimization that sometimes follows
! CSE), to @file{@var{file}.02.cse}.
@item S
! 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}.06.cse2}.
@item a
Produce all the dumps listed above.
@item m
*************** standard error.
*** 2128,2140 ****
Annotate the assembler output with a comment indicating which
pattern and alternative was used. The length of each instruction is
also printed.
@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.
@end table
@item -fdump-unnumbered
--- 2128,2146 ----
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 z
! Dump after the peephole2 pass to @file{@var{file}.15.peephole2}.
@end table
@item -fdump-unnumbered