bb-reorder.c (pass_duplicate_computed_gotos, [...]): Add dump.

2005-08-09  Paolo Bonzini  <bonzini@gnu.org>

	* bb-reorder.c (pass_duplicate_computed_gotos, pass_partition_blocks):
	Add dump.
	* cfglayout.c (pass_insn_locators_initialize): Add dump.
	* emit-rtl.c (pass_unshare_all_rtl, pass_remove_unnecessary_notes):
	Add dump.
	* except.c (pass_convert_to_eh_region_ranges): Add dump.
	* final.c (pass_shorten_branches): Add dump.
	* flow.c (pass_recompute_reg_usage, pass_remove_death_notes): Add dump.
	(pass_life): Rename dump.
	(rest_of_handle_flow2): Remove initial verify_flow_info.
	* function.c (pass_instantiate_virtual_regs): Add dump.
	* integrate.c (pass_initial_value_sets): Add dump.
	* jump.c (pass_cleanup_barriers, pass_purge_lineno_notes): Add dump.
	* loop-init.c (pass_rtl_loop_init, pass_rtl_loop_done): Rename dump.
	(pass_rtl_move_loop_invariants, pass_rtl_unswitch, pass_rtl_doloop,
	pass_rtl_unroll_and_peel_loops): Rename dump and add gate.
	(gate_rtl_move_loop_invariants, gate_rtl_unswitch, gate_rtl_doloop,
	gate_rtl_unrool_and_peel_loops): New.
	(rtl_move_loop_invariants, rtl_unswitch, rtl_unrool_and_peel_loops,
	rtl_doloop): Do not look at flags.
	* mode-switching.c (pass_mode_switching): Add dump.
	* recog.c (pass_split_all_insns, pass_split_for_shorten_branches,
	pass_split_before_regstack): Add dump.
	* regmove.c (pass_stack_adjustments): Add dump.
	* tree-optimize.c (pass_fixup_cfg): Add dump.

From-SVN: r102945
This commit is contained in:
Paolo Bonzini 2005-08-10 09:02:48 +00:00 committed by Paolo Bonzini
parent 2a6a63c1ae
commit defb77dcaa
15 changed files with 111 additions and 59 deletions

View File

@ -1,3 +1,31 @@
2005-08-09 Paolo Bonzini <bonzini@gnu.org>
* bb-reorder.c (pass_duplicate_computed_gotos, pass_partition_blocks):
Add dump.
* cfglayout.c (pass_insn_locators_initialize): Add dump.
* emit-rtl.c (pass_unshare_all_rtl, pass_remove_unnecessary_notes):
Add dump.
* except.c (pass_convert_to_eh_region_ranges): Add dump.
* final.c (pass_shorten_branches): Add dump.
* flow.c (pass_recompute_reg_usage, pass_remove_death_notes): Add dump.
(pass_life): Rename dump.
(rest_of_handle_flow2): Remove initial verify_flow_info.
* function.c (pass_instantiate_virtual_regs): Add dump.
* integrate.c (pass_initial_value_sets): Add dump.
* jump.c (pass_cleanup_barriers, pass_purge_lineno_notes): Add dump.
* loop-init.c (pass_rtl_loop_init, pass_rtl_loop_done): Rename dump.
(pass_rtl_move_loop_invariants, pass_rtl_unswitch, pass_rtl_doloop,
pass_rtl_unroll_and_peel_loops): Rename dump and add gate.
(gate_rtl_move_loop_invariants, gate_rtl_unswitch, gate_rtl_doloop,
gate_rtl_unrool_and_peel_loops): New.
(rtl_move_loop_invariants, rtl_unswitch, rtl_unrool_and_peel_loops,
rtl_doloop): Do not look at flags.
* mode-switching.c (pass_mode_switching): Add dump.
* recog.c (pass_split_all_insns, pass_split_for_shorten_branches,
pass_split_before_regstack): Add dump.
* regmove.c (pass_stack_adjustments): Add dump.
* tree-optimize.c (pass_fixup_cfg): Add dump.
2005-08-10 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
PR 23309

View File

@ -2086,7 +2086,7 @@ done:
struct tree_opt_pass pass_duplicate_computed_gotos =
{
NULL, /* name */
"compgotos", /* name */
gate_duplicate_computed_gotos, /* gate */
duplicate_computed_gotos, /* execute */
NULL, /* sub */
@ -2097,7 +2097,7 @@ struct tree_opt_pass pass_duplicate_computed_gotos =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
0, /* todo_flags_finish */
TODO_dump_func, /* todo_flags_finish */
0 /* letter */
};
@ -2276,7 +2276,7 @@ rest_of_handle_partition_blocks (void)
struct tree_opt_pass pass_partition_blocks =
{
NULL, /* name */
"bbpart", /* name */
gate_handle_partition_blocks, /* gate */
rest_of_handle_partition_blocks, /* execute */
NULL, /* sub */
@ -2287,7 +2287,7 @@ struct tree_opt_pass pass_partition_blocks =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
0, /* todo_flags_finish */
TODO_dump_func, /* todo_flags_finish */
0 /* letter */
};

View File

@ -333,7 +333,7 @@ insn_locators_initialize (void)
struct tree_opt_pass pass_insn_locators_initialize =
{
NULL, /* name */
"locators", /* name */
NULL, /* gate */
insn_locators_initialize, /* execute */
NULL, /* sub */
@ -344,7 +344,7 @@ struct tree_opt_pass pass_insn_locators_initialize =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
0, /* todo_flags_finish */
TODO_dump_func, /* todo_flags_finish */
0 /* letter */
};

View File

@ -2139,7 +2139,7 @@ unshare_all_rtl (void)
struct tree_opt_pass pass_unshare_all_rtl =
{
NULL, /* name */
"unshare", /* name */
NULL, /* gate */
unshare_all_rtl, /* execute */
NULL, /* sub */
@ -2150,7 +2150,7 @@ struct tree_opt_pass pass_unshare_all_rtl =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
0, /* todo_flags_finish */
TODO_dump_func, /* todo_flags_finish */
0 /* letter */
};
@ -3727,7 +3727,7 @@ remove_unnecessary_notes (void)
struct tree_opt_pass pass_remove_unnecessary_notes =
{
NULL, /* name */
"eunotes", /* name */
NULL, /* gate */
remove_unnecessary_notes, /* execute */
NULL, /* sub */
@ -3738,7 +3738,7 @@ struct tree_opt_pass pass_remove_unnecessary_notes =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
0, /* todo_flags_finish */
TODO_dump_func, /* todo_flags_finish */
0 /* letter */
};

View File

@ -3241,7 +3241,7 @@ convert_to_eh_region_ranges (void)
struct tree_opt_pass pass_convert_to_eh_region_ranges =
{
NULL, /* name */
"eh-ranges", /* name */
NULL, /* gate */
convert_to_eh_region_ranges, /* execute */
NULL, /* sub */
@ -3252,7 +3252,7 @@ struct tree_opt_pass pass_convert_to_eh_region_ranges =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
0, /* todo_flags_finish */
TODO_dump_func, /* todo_flags_finish */
0 /* letter */
};

View File

@ -3974,7 +3974,7 @@ rest_of_handle_shorten_branches (void)
struct tree_opt_pass pass_shorten_branches =
{
NULL, /* name */
"shorten", /* name */
NULL, /* gate */
rest_of_handle_shorten_branches, /* execute */
NULL, /* sub */
@ -3985,7 +3985,7 @@ struct tree_opt_pass pass_shorten_branches =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
0, /* todo_flags_finish */
TODO_dump_func, /* todo_flags_finish */
0 /* letter */
};

View File

@ -4356,11 +4356,14 @@ recompute_reg_usage (void)
in sched1 to die. To solve this update the DEATH_NOTES
here. */
update_life_info (NULL, UPDATE_LIFE_LOCAL, PROP_REG_INFO | PROP_DEATH_NOTES);
if (dump_file)
dump_flow_info (dump_file);
}
struct tree_opt_pass pass_recompute_reg_usage =
{
NULL, /* name */
"life2", /* name */
NULL, /* gate */
recompute_reg_usage, /* execute */
NULL, /* sub */
@ -4371,8 +4374,8 @@ struct tree_opt_pass pass_recompute_reg_usage =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
0, /* todo_flags_finish */
0 /* letter */
TODO_dump_func, /* todo_flags_finish */
'f' /* letter */
};
/* Optionally removes all the REG_DEAD and REG_UNUSED notes from a set of
@ -4538,7 +4541,7 @@ rest_of_handle_remove_death_notes (void)
struct tree_opt_pass pass_remove_death_notes =
{
NULL, /* name */
"ednotes", /* name */
gate_remove_death_notes, /* gate */
rest_of_handle_remove_death_notes, /* execute */
NULL, /* sub */
@ -4587,7 +4590,7 @@ rest_of_handle_life (void)
struct tree_opt_pass pass_life =
{
"life", /* name */
"life1", /* name */
NULL, /* gate */
rest_of_handle_life, /* execute */
NULL, /* sub */
@ -4606,11 +4609,6 @@ struct tree_opt_pass pass_life =
static void
rest_of_handle_flow2 (void)
{
/* Re-create the death notes which were deleted during reload. */
#ifdef ENABLE_CHECKING
verify_flow_info ();
#endif
/* If optimizing, then go ahead and split insns now. */
#ifndef STACK_REGS
if (optimize > 0)

View File

@ -1665,7 +1665,7 @@ instantiate_virtual_regs (void)
struct tree_opt_pass pass_instantiate_virtual_regs =
{
NULL, /* name */
"vregs", /* name */
NULL, /* gate */
instantiate_virtual_regs, /* execute */
NULL, /* sub */
@ -1676,7 +1676,7 @@ struct tree_opt_pass pass_instantiate_virtual_regs =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
0, /* todo_flags_finish */
TODO_dump_func, /* todo_flags_finish */
0 /* letter */
};

View File

@ -299,7 +299,7 @@ emit_initial_value_sets (void)
struct tree_opt_pass pass_initial_value_sets =
{
NULL, /* name */
"initvals", /* name */
NULL, /* gate */
emit_initial_value_sets, /* execute */
NULL, /* sub */
@ -310,7 +310,7 @@ struct tree_opt_pass pass_initial_value_sets =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
0, /* todo_flags_finish */
TODO_dump_func, /* todo_flags_finish */
0 /* letter */
};

View File

@ -124,7 +124,7 @@ cleanup_barriers (void)
struct tree_opt_pass pass_cleanup_barriers =
{
NULL, /* name */
"barriers", /* name */
NULL, /* gate */
cleanup_barriers, /* execute */
NULL, /* sub */
@ -135,7 +135,7 @@ struct tree_opt_pass pass_cleanup_barriers =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
0, /* todo_flags_finish */
TODO_dump_func, /* todo_flags_finish */
0 /* letter */
};
@ -179,7 +179,7 @@ purge_line_number_notes (void)
struct tree_opt_pass pass_purge_lineno_notes =
{
NULL, /* name */
"elnotes", /* name */
NULL, /* gate */
purge_line_number_notes, /* execute */
NULL, /* sub */
@ -190,7 +190,7 @@ struct tree_opt_pass pass_purge_lineno_notes =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
0, /* todo_flags_finish */
TODO_dump_func, /* todo_flags_finish */
0 /* letter */
};

View File

@ -171,7 +171,7 @@ rtl_loop_init (void)
struct tree_opt_pass pass_rtl_loop_init =
{
"loopinit", /* name */
"loop2_init", /* name */
NULL, /* gate */
rtl_loop_init, /* execute */
NULL, /* sub */
@ -215,7 +215,7 @@ rtl_loop_done (void)
struct tree_opt_pass pass_rtl_loop_done =
{
"loopdone", /* name */
"loop2_done", /* name */
NULL, /* gate */
rtl_loop_done, /* execute */
NULL, /* sub */
@ -232,17 +232,23 @@ struct tree_opt_pass pass_rtl_loop_done =
/* Loop invariant code motion. */
static bool
gate_rtl_move_loop_invariants (void)
{
return flag_move_loop_invariants;
}
static void
rtl_move_loop_invariants (void)
{
if (current_loops && flag_move_loop_invariants)
if (current_loops)
move_loop_invariants (current_loops);
}
struct tree_opt_pass pass_rtl_move_loop_invariants =
{
"loop_invariant", /* name */
NULL, /* gate */
"loop2_invariant", /* name */
gate_rtl_move_loop_invariants, /* gate */
rtl_move_loop_invariants, /* execute */
NULL, /* sub */
NULL, /* next */
@ -258,17 +264,23 @@ struct tree_opt_pass pass_rtl_move_loop_invariants =
/* Loop unswitching for RTL. */
static bool
gate_rtl_unswitch (void)
{
return flag_unswitch_loops;
}
static void
rtl_unswitch (void)
{
if (current_loops && flag_unswitch_loops)
if (current_loops)
unswitch_loops (current_loops);
}
struct tree_opt_pass pass_rtl_unswitch =
{
"loop_unswitch", /* name */
NULL, /* gate */
"loop2_unswitch", /* name */
gate_rtl_unswitch, /* gate */
rtl_unswitch, /* execute */
NULL, /* sub */
NULL, /* next */
@ -284,11 +296,16 @@ struct tree_opt_pass pass_rtl_unswitch =
/* Loop unswitching for RTL. */
static bool
gate_rtl_unroll_and_peel_loops (void)
{
return (flag_peel_loops || flag_unroll_loops || flag_unroll_all_loops);
}
static void
rtl_unroll_and_peel_loops (void)
{
if (current_loops
&& (flag_peel_loops || flag_unroll_loops || flag_unroll_all_loops))
if (current_loops)
{
int flags = 0;
@ -305,8 +322,8 @@ rtl_unroll_and_peel_loops (void)
struct tree_opt_pass pass_rtl_unroll_and_peel_loops =
{
"loop_unroll", /* name */
NULL, /* gate */
"loop2_unroll", /* name */
gate_rtl_unroll_and_peel_loops, /* gate */
rtl_unroll_and_peel_loops, /* execute */
NULL, /* sub */
NULL, /* next */
@ -322,20 +339,29 @@ struct tree_opt_pass pass_rtl_unroll_and_peel_loops =
/* The doloop optimization. */
static bool
gate_rtl_doloop (void)
{
#ifdef HAVE_doloop_end
return (flag_branch_on_count_reg && HAVE_doloop_end);
#else
return 0;
#endif
}
static void
rtl_doloop (void)
{
#ifdef HAVE_doloop_end
if (current_loops
&& (flag_branch_on_count_reg && HAVE_doloop_end))
if (current_loops)
doloop_optimize_loops (current_loops);
#endif
}
struct tree_opt_pass pass_rtl_doloop =
{
"loop_doloop", /* name */
NULL, /* gate */
"loop2_doloop", /* name */
gate_rtl_doloop, /* gate */
rtl_doloop, /* execute */
NULL, /* sub */
NULL, /* next */

View File

@ -736,7 +736,7 @@ rest_of_handle_mode_switching (void)
struct tree_opt_pass pass_mode_switching =
{
NULL, /* name */
"mode-sw", /* name */
gate_mode_switching, /* gate */
rest_of_handle_mode_switching, /* execute */
NULL, /* sub */
@ -747,6 +747,6 @@ struct tree_opt_pass pass_mode_switching =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
0, /* todo_flags_finish */
TODO_dump_func, /* todo_flags_finish */
0 /* letter */
};

View File

@ -3460,7 +3460,7 @@ rest_of_handle_split_all_insns (void)
struct tree_opt_pass pass_split_all_insns =
{
NULL, /* name */
"split1", /* name */
NULL, /* gate */
rest_of_handle_split_all_insns, /* execute */
NULL, /* sub */
@ -3471,7 +3471,7 @@ struct tree_opt_pass pass_split_all_insns =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
0, /* todo_flags_finish */
TODO_dump_func, /* todo_flags_finish */
0 /* letter */
};
@ -3489,7 +3489,7 @@ gate_do_final_split (void)
struct tree_opt_pass pass_split_for_shorten_branches =
{
NULL, /* name */
"split3", /* name */
gate_do_final_split, /* gate */
split_all_insns_noflow, /* execute */
NULL, /* sub */
@ -3500,7 +3500,7 @@ struct tree_opt_pass pass_split_for_shorten_branches =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
0, /* todo_flags_finish */
TODO_dump_func, /* todo_flags_finish */
0 /* letter */
};
@ -3525,7 +3525,7 @@ gate_handle_split_before_regstack (void)
struct tree_opt_pass pass_split_before_regstack =
{
NULL, /* name */
"split2", /* name */
gate_handle_split_before_regstack, /* gate */
rest_of_handle_split_all_insns, /* execute */
NULL, /* sub */
@ -3536,6 +3536,6 @@ struct tree_opt_pass pass_split_before_regstack =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
0, /* todo_flags_finish */
TODO_dump_func, /* todo_flags_finish */
0 /* letter */
};

View File

@ -2524,7 +2524,7 @@ rest_of_handle_stack_adjustments (void)
struct tree_opt_pass pass_stack_adjustments =
{
NULL, /* name */
"csa", /* name */
gate_handle_stack_adjustments, /* gate */
rest_of_handle_stack_adjustments, /* execute */
NULL, /* sub */

View File

@ -258,7 +258,7 @@ execute_fixup_cfg (void)
struct tree_opt_pass pass_fixup_cfg =
{
NULL, /* name */
"fixupcfg", /* name */
NULL, /* gate */
execute_fixup_cfg, /* execute */
NULL, /* sub */
@ -269,7 +269,7 @@ struct tree_opt_pass pass_fixup_cfg =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
0, /* todo_flags_finish */
TODO_dump_func, /* todo_flags_finish */
0 /* letter */
};