aboutsummaryrefslogtreecommitdiff
path: root/gcc/ira.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2013-04-10 11:33:31 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2013-04-10 11:33:31 +0000
commitbb313b932bb976243e5d2a5e0bc38f8adfc1a235 (patch)
tree343ea98fe2010bf89962a5e0aee3ab18b4410a4a /gcc/ira.c
parent793d9a16a2f863af4552edf27d846a1a71815b9c (diff)
downloadgcc-bb313b932bb976243e5d2a5e0bc38f8adfc1a235.zip
gcc-bb313b932bb976243e5d2a5e0bc38f8adfc1a235.tar.gz
gcc-bb313b932bb976243e5d2a5e0bc38f8adfc1a235.tar.bz2
passes.c (execute_todo): Do not call ggc_collect conditional here.
2013-04-10 Richard Biener <rguenther@suse.de> * passes.c (execute_todo): Do not call ggc_collect conditional here. (execute_one_ipa_transform_pass): But unconditionally here. (execute_one_pass): And here. (init_optimization_passes): Remove reload pass. * tree-pass.h (TODO_ggc_collect): Remove. (pass_reload): Likewise. * ira.c (do_reload): Merge into ... (ira): ... this. (rest_of_handle_reload): Remove. (pass_reload): Likewise. * config/i386/i386.c (ix86_option_override): Refer to ira instead of reload for vzeroupper pass placement. * <everywhere>: Remove TODO_ggc_collect from todo_flags_start and todo_flags_finish of all passes. * g++.dg/pr55604.C: Use -fdump-rtl-ira. From-SVN: r197671
Diffstat (limited to 'gcc/ira.c')
-rw-r--r--gcc/ira.c42
1 files changed, 3 insertions, 39 deletions
diff --git a/gcc/ira.c b/gcc/ira.c
index 03b3368..edfc974 100644
--- a/gcc/ira.c
+++ b/gcc/ira.c
@@ -4359,6 +4359,8 @@ ira (FILE *f)
int rebuild_p;
bool saved_flag_caller_saves = flag_caller_saves;
enum ira_region saved_flag_ira_region = flag_ira_region;
+ basic_block bb;
+ bool need_dce;
ira_conflicts_p = optimize > 0;
@@ -4588,13 +4590,6 @@ ira (FILE *f)
flag_caller_saves = saved_flag_caller_saves;
flag_ira_region = saved_flag_ira_region;
}
-}
-
-static void
-do_reload (void)
-{
- basic_block bb;
- bool need_dce;
if (flag_ira_verbose < 10)
ira_dump_file = dump_file;
@@ -4634,8 +4629,6 @@ do_reload (void)
timevar_pop (TV_RELOAD);
- timevar_push (TV_IRA);
-
if (ira_conflicts_p && ! ira_use_lra_p)
{
ira_free (ira_spilled_reg_stack_slots);
@@ -4693,8 +4686,6 @@ do_reload (void)
if (need_dce && optimize)
run_fast_dce ();
-
- timevar_pop (TV_IRA);
}
/* Run the integrated register allocator. */
@@ -4721,33 +4712,6 @@ struct rtl_opt_pass pass_ira =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
- 0, /* todo_flags_finish */
- }
-};
-
-static unsigned int
-rest_of_handle_reload (void)
-{
- do_reload ();
- return 0;
-}
-
-struct rtl_opt_pass pass_reload =
-{
- {
- RTL_PASS,
- "reload", /* name */
- OPTGROUP_NONE, /* optinfo_flags */
- NULL, /* gate */
- rest_of_handle_reload, /* execute */
- NULL, /* sub */
- NULL, /* next */
- 0, /* static_pass_number */
- TV_RELOAD, /* tv_id */
- 0, /* properties_required */
- 0, /* properties_provided */
- 0, /* properties_destroyed */
- 0, /* todo_flags_start */
- TODO_ggc_collect /* todo_flags_finish */
+ 0 /* todo_flags_finish */
}
};