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
This commit is contained in:
parent
793d9a16a2
commit
bb313b932b
@ -1,3 +1,20 @@
|
||||
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.
|
||||
|
||||
2013-04-10 Richard Biener <rguenther@suse.de>
|
||||
|
||||
* tree-vectorizer.h (struct _slp_oprnd_info): Remove
|
||||
|
@ -1520,8 +1520,7 @@ struct rtl_opt_pass pass_branch_target_load_optimize1 =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_verify_rtl_sharing |
|
||||
TODO_ggc_collect, /* todo_flags_finish */
|
||||
TODO_verify_rtl_sharing, /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
||||
@ -1570,6 +1569,6 @@ struct rtl_opt_pass pass_branch_target_load_optimize2 =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_ggc_collect, /* todo_flags_finish */
|
||||
0, /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
@ -3055,7 +3055,7 @@ struct rtl_opt_pass pass_jump =
|
||||
0, /* properties_required */
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
TODO_ggc_collect, /* todo_flags_start */
|
||||
0, /* todo_flags_start */
|
||||
TODO_verify_rtl_sharing, /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
@ -3082,7 +3082,7 @@ struct rtl_opt_pass pass_jump2 =
|
||||
0, /* properties_required */
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
TODO_ggc_collect, /* todo_flags_start */
|
||||
0, /* todo_flags_start */
|
||||
TODO_verify_rtl_sharing, /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
@ -4864,6 +4864,6 @@ struct rtl_opt_pass pass_expand =
|
||||
PROP_ssa | PROP_trees, /* properties_destroyed */
|
||||
TODO_verify_ssa | TODO_verify_flow
|
||||
| TODO_verify_stmts, /* todo_flags_start */
|
||||
TODO_ggc_collect /* todo_flags_finish */
|
||||
0 /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
@ -659,7 +659,6 @@ struct rtl_opt_pass pass_stack_adjustments =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_df_finish | TODO_verify_rtl_sharing |
|
||||
TODO_ggc_collect, /* todo_flags_finish */
|
||||
TODO_df_finish | TODO_verify_rtl_sharing /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
@ -13818,7 +13818,6 @@ struct rtl_opt_pass pass_combine =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_df_finish | TODO_verify_rtl_sharing |
|
||||
TODO_ggc_collect, /* todo_flags_finish */
|
||||
TODO_df_finish | TODO_verify_rtl_sharing /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
@ -669,7 +669,6 @@ struct rtl_opt_pass pass_compare_elim_after_reload =
|
||||
0, /* todo_flags_start */
|
||||
TODO_df_finish
|
||||
| TODO_df_verify
|
||||
| TODO_verify_rtl_sharing
|
||||
| TODO_ggc_collect /* todo_flags_finish */
|
||||
| TODO_verify_rtl_sharing /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
@ -3930,7 +3930,7 @@ static void
|
||||
ix86_option_override (void)
|
||||
{
|
||||
static struct register_pass_info insert_vzeroupper_info
|
||||
= { &pass_insert_vzeroupper.pass, "reload",
|
||||
= { &pass_insert_vzeroupper.pass, "ira",
|
||||
1, PASS_POS_INSERT_AFTER
|
||||
};
|
||||
|
||||
|
@ -1930,6 +1930,6 @@ struct rtl_opt_pass pass_rtl_cprop =
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_df_finish | TODO_verify_rtl_sharing |
|
||||
TODO_verify_flow | TODO_ggc_collect /* todo_flags_finish */
|
||||
TODO_verify_flow /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
@ -7466,8 +7466,7 @@ struct rtl_opt_pass pass_cse =
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_df_finish | TODO_verify_rtl_sharing |
|
||||
TODO_ggc_collect |
|
||||
TODO_verify_flow, /* todo_flags_finish */
|
||||
TODO_verify_flow /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
||||
@ -7529,7 +7528,6 @@ struct rtl_opt_pass pass_cse2 =
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_df_finish | TODO_verify_rtl_sharing |
|
||||
TODO_ggc_collect |
|
||||
TODO_verify_flow /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
@ -7590,7 +7588,6 @@ struct rtl_opt_pass pass_cse_after_global_opts =
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_df_finish | TODO_verify_rtl_sharing |
|
||||
TODO_ggc_collect |
|
||||
TODO_verify_flow /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
@ -802,8 +802,7 @@ struct rtl_opt_pass pass_ud_rtl_dce =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_df_finish | TODO_verify_rtl_sharing |
|
||||
TODO_ggc_collect /* todo_flags_finish */
|
||||
TODO_df_finish | TODO_verify_rtl_sharing /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
||||
@ -1218,7 +1217,6 @@ struct rtl_opt_pass pass_fast_rtl_dce =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_df_finish | TODO_verify_rtl_sharing |
|
||||
TODO_ggc_collect /* todo_flags_finish */
|
||||
TODO_df_finish | TODO_verify_rtl_sharing /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
@ -3745,8 +3745,7 @@ struct rtl_opt_pass pass_rtl_dse1 =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_df_finish | TODO_verify_rtl_sharing |
|
||||
TODO_ggc_collect /* todo_flags_finish */
|
||||
TODO_df_finish | TODO_verify_rtl_sharing /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
||||
@ -3766,7 +3765,6 @@ struct rtl_opt_pass pass_rtl_dse2 =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_df_finish | TODO_verify_rtl_sharing |
|
||||
TODO_ggc_collect /* todo_flags_finish */
|
||||
TODO_df_finish | TODO_verify_rtl_sharing /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
@ -811,8 +811,7 @@ struct rtl_opt_pass pass_compute_alignments =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_verify_rtl_sharing
|
||||
| TODO_ggc_collect /* todo_flags_finish */
|
||||
TODO_verify_rtl_sharing /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
||||
@ -4396,7 +4395,7 @@ struct rtl_opt_pass pass_final =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_ggc_collect /* todo_flags_finish */
|
||||
0 /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -6999,9 +6999,8 @@ struct rtl_opt_pass pass_thread_prologue_and_epilogue =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
TODO_verify_flow, /* todo_flags_start */
|
||||
TODO_df_verify |
|
||||
TODO_df_finish | TODO_verify_rtl_sharing |
|
||||
TODO_ggc_collect /* todo_flags_finish */
|
||||
TODO_df_verify | TODO_df_finish
|
||||
| TODO_verify_rtl_sharing /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -4148,7 +4148,7 @@ struct rtl_opt_pass pass_rtl_pre =
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_df_finish | TODO_verify_rtl_sharing |
|
||||
TODO_verify_flow | TODO_ggc_collect /* todo_flags_finish */
|
||||
TODO_verify_flow /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
||||
@ -4169,7 +4169,7 @@ struct rtl_opt_pass pass_rtl_hoist =
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_df_finish | TODO_verify_rtl_sharing |
|
||||
TODO_verify_flow | TODO_ggc_collect /* todo_flags_finish */
|
||||
TODO_verify_flow /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -4514,8 +4514,7 @@ struct rtl_opt_pass pass_if_after_combine =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_df_finish | TODO_verify_rtl_sharing |
|
||||
TODO_ggc_collect /* todo_flags_finish */
|
||||
TODO_df_finish | TODO_verify_rtl_sharing /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
||||
@ -4551,7 +4550,6 @@ struct rtl_opt_pass pass_if_after_reload =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_df_finish | TODO_verify_rtl_sharing |
|
||||
TODO_ggc_collect /* todo_flags_finish */
|
||||
TODO_df_finish | TODO_verify_rtl_sharing /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
@ -3660,7 +3660,7 @@ struct ipa_opt_pass_d pass_ipa_cp =
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_dump_symtab |
|
||||
TODO_remove_functions | TODO_ggc_collect /* todo_flags_finish */
|
||||
TODO_remove_functions /* todo_flags_finish */
|
||||
},
|
||||
ipcp_generate_summary, /* generate_summary */
|
||||
ipcp_write_summary, /* write_summary */
|
||||
|
@ -2123,7 +2123,7 @@ struct ipa_opt_pass_d pass_ipa_inline =
|
||||
0, /* properties_destroyed */
|
||||
TODO_remove_functions, /* todo_flags_finish */
|
||||
TODO_dump_symtab
|
||||
| TODO_remove_functions | TODO_ggc_collect /* todo_flags_finish */
|
||||
| TODO_remove_functions /* todo_flags_finish */
|
||||
},
|
||||
inline_generate_summary, /* generate_summary */
|
||||
inline_write_summary, /* write_summary */
|
||||
|
@ -914,8 +914,7 @@ struct simple_ipa_opt_pass pass_ipa_function_and_variable_visibility =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_remove_functions | TODO_dump_symtab
|
||||
| TODO_ggc_collect /* todo_flags_finish */
|
||||
TODO_remove_functions | TODO_dump_symtab /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
||||
@ -944,7 +943,7 @@ struct simple_ipa_opt_pass pass_ipa_free_inline_summary =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_ggc_collect /* todo_flags_finish */
|
||||
0 /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
||||
@ -983,8 +982,7 @@ struct ipa_opt_pass_d pass_ipa_whole_program_visibility =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_remove_functions | TODO_dump_symtab
|
||||
| TODO_ggc_collect /* todo_flags_finish */
|
||||
TODO_remove_functions | TODO_dump_symtab /* todo_flags_finish */
|
||||
},
|
||||
NULL, /* generate_summary */
|
||||
NULL, /* write_summary */
|
||||
|
42
gcc/ira.c
42
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 */
|
||||
}
|
||||
};
|
||||
|
@ -318,7 +318,7 @@ struct rtl_opt_pass pass_loop2 =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_ggc_collect /* todo_flags_finish */
|
||||
0 /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -1699,7 +1699,6 @@ struct rtl_opt_pass pass_lower_subreg =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_ggc_collect |
|
||||
TODO_verify_flow /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
@ -1721,7 +1720,6 @@ struct rtl_opt_pass pass_lower_subreg2 =
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_df_finish | TODO_verify_rtl_sharing |
|
||||
TODO_ggc_collect |
|
||||
TODO_verify_flow /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
@ -3369,7 +3369,6 @@ struct rtl_opt_pass pass_sms =
|
||||
0, /* todo_flags_start */
|
||||
TODO_df_finish
|
||||
| TODO_verify_flow
|
||||
| TODO_verify_rtl_sharing
|
||||
| TODO_ggc_collect /* todo_flags_finish */
|
||||
| TODO_verify_rtl_sharing /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
14
gcc/passes.c
14
gcc/passes.c
@ -406,7 +406,7 @@ static struct rtl_opt_pass pass_rest_of_compilation =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_ggc_collect /* todo_flags_finish */
|
||||
0 /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
||||
@ -432,7 +432,7 @@ static struct rtl_opt_pass pass_postreload =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_ggc_collect | TODO_verify_rtl_sharing /* todo_flags_finish */
|
||||
TODO_verify_rtl_sharing /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
||||
@ -1620,7 +1620,6 @@ init_optimization_passes (void)
|
||||
NEXT_PASS (pass_sms);
|
||||
NEXT_PASS (pass_sched);
|
||||
NEXT_PASS (pass_ira);
|
||||
NEXT_PASS (pass_reload);
|
||||
NEXT_PASS (pass_postreload);
|
||||
{
|
||||
struct opt_pass **p = &pass_postreload.pass.sub;
|
||||
@ -2014,9 +2013,6 @@ execute_todo (unsigned int flags)
|
||||
fflush (dump_file);
|
||||
}
|
||||
|
||||
if (flags & TODO_ggc_collect)
|
||||
ggc_collect ();
|
||||
|
||||
/* Now that the dumping has been done, we can get rid of the optional
|
||||
df problems. */
|
||||
if (flags & TODO_df_finish)
|
||||
@ -2188,6 +2184,9 @@ execute_one_ipa_transform_pass (struct cgraph_node *node,
|
||||
pass_fini_dump_file (pass);
|
||||
|
||||
current_pass = NULL;
|
||||
|
||||
/* Signal this is a suitable GC collection point. */
|
||||
ggc_collect ();
|
||||
}
|
||||
|
||||
/* For the current function, execute all ipa transforms. */
|
||||
@ -2365,6 +2364,9 @@ execute_one_pass (struct opt_pass *pass)
|
||||
|
||||
current_pass = NULL;
|
||||
|
||||
/* Signal this is a suitable GC collection point. */
|
||||
ggc_collect ();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -1339,6 +1339,6 @@ struct rtl_opt_pass pass_gcse2 =
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_verify_rtl_sharing
|
||||
| TODO_verify_flow | TODO_ggc_collect /* todo_flags_finish */
|
||||
| TODO_verify_flow /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
@ -2916,7 +2916,7 @@ struct gimple_opt_pass pass_profile =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_ggc_collect | TODO_verify_ssa /* todo_flags_finish */
|
||||
TODO_verify_ssa /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
||||
@ -2936,7 +2936,7 @@ struct gimple_opt_pass pass_strip_predict_hints =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_ggc_collect | TODO_verify_ssa /* todo_flags_finish */
|
||||
TODO_verify_ssa /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -957,7 +957,6 @@ struct rtl_opt_pass pass_ree =
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_df_finish
|
||||
| TODO_ggc_collect
|
||||
| TODO_verify_rtl_sharing, /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
@ -3344,7 +3344,6 @@ struct rtl_opt_pass pass_stack_regs_run =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_df_finish | TODO_verify_rtl_sharing |
|
||||
TODO_ggc_collect /* todo_flags_finish */
|
||||
TODO_df_finish | TODO_verify_rtl_sharing /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
@ -1377,7 +1377,6 @@ struct rtl_opt_pass pass_regmove =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_df_finish | TODO_verify_rtl_sharing |
|
||||
TODO_ggc_collect /* todo_flags_finish */
|
||||
TODO_df_finish | TODO_verify_rtl_sharing /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
@ -3886,7 +3886,7 @@ struct rtl_opt_pass pass_delay_slots =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_ggc_collect /* todo_flags_finish */
|
||||
0 /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
||||
@ -3921,6 +3921,6 @@ struct rtl_opt_pass pass_machine_reorg =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_ggc_collect /* todo_flags_finish */
|
||||
0 /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
@ -3630,8 +3630,7 @@ struct rtl_opt_pass pass_sched =
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_df_finish | TODO_verify_rtl_sharing |
|
||||
TODO_verify_flow |
|
||||
TODO_ggc_collect /* todo_flags_finish */
|
||||
TODO_verify_flow /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
||||
@ -3652,7 +3651,6 @@ struct rtl_opt_pass pass_sched2 =
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_df_finish | TODO_verify_rtl_sharing |
|
||||
TODO_verify_flow |
|
||||
TODO_ggc_collect /* todo_flags_finish */
|
||||
TODO_verify_flow /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
@ -1249,6 +1249,6 @@ struct rtl_opt_pass pass_rtl_store_motion =
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_df_finish | TODO_verify_rtl_sharing |
|
||||
TODO_verify_flow | TODO_ggc_collect /* todo_flags_finish */
|
||||
TODO_verify_flow /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
@ -1,3 +1,7 @@
|
||||
2013-04-10 Richard Biener <rguenther@suse.de>
|
||||
|
||||
* g++.dg/pr55604.C: Use -fdump-rtl-ira.
|
||||
|
||||
2013-04-10 Richard Biener <rguenther@suse.de>
|
||||
|
||||
* gcc.dg/vect/slp-39.c: New testcase.
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-O -fdump-rtl-reload" } */
|
||||
/* { dg-options "-O -fdump-rtl-ira" } */
|
||||
|
||||
main ()
|
||||
{
|
||||
@ -8,4 +8,4 @@ main ()
|
||||
__builtin_printf ("%d %s\n", t, s);
|
||||
}
|
||||
|
||||
/* { dg-final { cleanup-rtl-dump "reload" } } */
|
||||
/* { dg-final { cleanup-rtl-dump "ira" } } */
|
||||
|
@ -992,7 +992,6 @@ struct gimple_opt_pass pass_merge_phi =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_ggc_collect /* todo_flags_finish */
|
||||
| TODO_verify_ssa
|
||||
TODO_verify_ssa /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
@ -1648,9 +1648,8 @@ struct gimple_opt_pass pass_lower_complex =
|
||||
PROP_gimple_lcx, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_ggc_collect
|
||||
| TODO_update_ssa
|
||||
| TODO_verify_stmts /* todo_flags_finish */
|
||||
TODO_update_ssa
|
||||
| TODO_verify_stmts /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
||||
@ -1679,8 +1678,7 @@ struct gimple_opt_pass pass_lower_complex_O0 =
|
||||
PROP_gimple_lcx, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_ggc_collect
|
||||
| TODO_update_ssa
|
||||
| TODO_verify_stmts /* todo_flags_finish */
|
||||
TODO_update_ssa
|
||||
| TODO_verify_stmts /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
@ -798,7 +798,7 @@ ipa_lower_emutls (void)
|
||||
access_vars.release ();
|
||||
free_varpool_node_set (tls_vars);
|
||||
|
||||
return TODO_ggc_collect | TODO_verify_all;
|
||||
return TODO_verify_all;
|
||||
}
|
||||
|
||||
/* If the target supports TLS natively, we need do nothing here. */
|
||||
|
@ -1605,7 +1605,6 @@ struct gimple_opt_pass pass_loop_distribution =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_ggc_collect
|
||||
| TODO_verify_ssa /* todo_flags_finish */
|
||||
TODO_verify_ssa /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
@ -285,7 +285,7 @@ struct gimple_opt_pass pass_nrv =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_ggc_collect /* todo_flags_finish */
|
||||
0 /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -154,7 +154,6 @@ struct simple_ipa_opt_pass
|
||||
(PROP_gimple_any | PROP_gimple_lcf | PROP_gimple_leh | PROP_gimple_lomp)
|
||||
|
||||
/* To-do flags. */
|
||||
#define TODO_ggc_collect (1 << 1)
|
||||
#define TODO_verify_ssa (1 << 2)
|
||||
#define TODO_verify_flow (1 << 3)
|
||||
#define TODO_verify_stmts (1 << 4)
|
||||
@ -446,7 +445,6 @@ extern struct rtl_opt_pass pass_mode_switching;
|
||||
extern struct rtl_opt_pass pass_sms;
|
||||
extern struct rtl_opt_pass pass_sched;
|
||||
extern struct rtl_opt_pass pass_ira;
|
||||
extern struct rtl_opt_pass pass_reload;
|
||||
extern struct rtl_opt_pass pass_clean_state;
|
||||
extern struct rtl_opt_pass pass_branch_prob;
|
||||
extern struct rtl_opt_pass pass_value_profile_transformations;
|
||||
|
@ -3450,7 +3450,6 @@ struct gimple_opt_pass pass_sra_early =
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_update_ssa
|
||||
| TODO_ggc_collect
|
||||
| TODO_verify_ssa /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
@ -3472,7 +3471,6 @@ struct gimple_opt_pass pass_sra =
|
||||
0, /* properties_destroyed */
|
||||
TODO_update_address_taken, /* todo_flags_start */
|
||||
TODO_update_ssa
|
||||
| TODO_ggc_collect
|
||||
| TODO_verify_ssa /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
@ -2139,7 +2139,7 @@ struct gimple_opt_pass pass_ccp =
|
||||
0, /* todo_flags_start */
|
||||
TODO_verify_ssa
|
||||
| TODO_update_address_taken
|
||||
| TODO_verify_stmts | TODO_ggc_collect/* todo_flags_finish */
|
||||
| TODO_verify_stmts /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -844,7 +844,6 @@ struct gimple_opt_pass pass_copy_prop =
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_cleanup_cfg
|
||||
| TODO_ggc_collect
|
||||
| TODO_verify_ssa
|
||||
| TODO_update_ssa /* todo_flags_finish */
|
||||
}
|
||||
|
@ -3076,7 +3076,6 @@ struct gimple_opt_pass pass_phi_only_cprop =
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_cleanup_cfg
|
||||
| TODO_ggc_collect
|
||||
| TODO_verify_ssa
|
||||
| TODO_verify_stmts
|
||||
| TODO_update_ssa /* todo_flags_finish */
|
||||
|
@ -375,7 +375,6 @@ struct gimple_opt_pass pass_dse =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_ggc_collect
|
||||
| TODO_verify_ssa /* todo_flags_finish */
|
||||
TODO_verify_ssa /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
@ -3152,8 +3152,7 @@ struct gimple_opt_pass pass_forwprop =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_ggc_collect
|
||||
| TODO_update_ssa
|
||||
TODO_update_ssa
|
||||
| TODO_verify_ssa /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
@ -664,8 +664,7 @@ struct gimple_opt_pass pass_tree_ifcombine =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_ggc_collect
|
||||
| TODO_update_ssa
|
||||
TODO_update_ssa
|
||||
| TODO_verify_ssa /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
@ -56,8 +56,8 @@ struct gimple_opt_pass pass_tree_loop =
|
||||
PROP_cfg, /* properties_required */
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
TODO_ggc_collect, /* todo_flags_start */
|
||||
TODO_verify_ssa | TODO_ggc_collect /* todo_flags_finish */
|
||||
0, /* todo_flags_start */
|
||||
TODO_verify_ssa /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
||||
@ -170,7 +170,7 @@ struct gimple_opt_pass pass_tree_unswitch =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_ggc_collect /* todo_flags_finish */
|
||||
0 /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
||||
@ -245,7 +245,7 @@ struct gimple_opt_pass pass_vectorize =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_ggc_collect /* todo_flags_finish */
|
||||
0 /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
||||
@ -491,7 +491,7 @@ struct gimple_opt_pass pass_complete_unroll =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_ggc_collect /* todo_flags_finish */
|
||||
0 /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
||||
@ -538,8 +538,7 @@ struct gimple_opt_pass pass_complete_unrolli =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_verify_flow
|
||||
| TODO_ggc_collect /* todo_flags_finish */
|
||||
TODO_verify_flow /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
||||
@ -653,7 +652,7 @@ struct gimple_opt_pass pass_iv_optimize =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_update_ssa | TODO_ggc_collect /* todo_flags_finish */
|
||||
TODO_update_ssa /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -2013,8 +2013,7 @@ struct gimple_opt_pass pass_phiopt =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_ggc_collect
|
||||
| TODO_verify_ssa
|
||||
TODO_verify_ssa
|
||||
| TODO_verify_flow
|
||||
| TODO_verify_stmts /* todo_flags_finish */
|
||||
}
|
||||
@ -2042,8 +2041,7 @@ struct gimple_opt_pass pass_cselim =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_ggc_collect
|
||||
| TODO_verify_ssa
|
||||
TODO_verify_ssa
|
||||
| TODO_verify_flow
|
||||
| TODO_verify_stmts /* todo_flags_finish */
|
||||
}
|
||||
|
@ -420,8 +420,7 @@ struct gimple_opt_pass pass_phiprop =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_ggc_collect
|
||||
| TODO_update_ssa
|
||||
TODO_update_ssa
|
||||
| TODO_verify_ssa /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
@ -4788,7 +4788,7 @@ struct gimple_opt_pass pass_pre =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
TODO_rebuild_alias, /* todo_flags_start */
|
||||
TODO_ggc_collect | TODO_verify_ssa /* todo_flags_finish */
|
||||
TODO_verify_ssa /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
||||
@ -4840,6 +4840,6 @@ struct gimple_opt_pass pass_fre =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_ggc_collect | TODO_verify_ssa /* todo_flags_finish */
|
||||
TODO_verify_ssa /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
@ -4293,7 +4293,6 @@ struct gimple_opt_pass pass_reassoc =
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_verify_ssa
|
||||
| TODO_verify_flow
|
||||
| TODO_ggc_collect /* todo_flags_finish */
|
||||
| TODO_verify_flow /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
@ -597,7 +597,6 @@ struct gimple_opt_pass pass_sink_code =
|
||||
0, /* todo_flags_start */
|
||||
TODO_update_ssa
|
||||
| TODO_verify_ssa
|
||||
| TODO_verify_flow
|
||||
| TODO_ggc_collect /* todo_flags_finish */
|
||||
| TODO_verify_flow /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
@ -2020,7 +2020,6 @@ struct gimple_opt_pass pass_strlen =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_ggc_collect
|
||||
| TODO_verify_ssa /* todo_flags_finish */
|
||||
TODO_verify_ssa /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
@ -1477,7 +1477,7 @@ struct gimple_opt_pass pass_convert_switch =
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_update_ssa
|
||||
| TODO_ggc_collect | TODO_verify_ssa
|
||||
| TODO_verify_ssa
|
||||
| TODO_verify_stmts
|
||||
| TODO_verify_flow /* todo_flags_finish */
|
||||
}
|
||||
|
@ -214,8 +214,7 @@ struct gimple_opt_pass pass_slp_vectorize =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_ggc_collect
|
||||
| TODO_verify_ssa
|
||||
TODO_verify_ssa
|
||||
| TODO_update_ssa
|
||||
| TODO_verify_stmts /* todo_flags_finish */
|
||||
}
|
||||
|
@ -9408,7 +9408,6 @@ struct gimple_opt_pass pass_vrp =
|
||||
TODO_cleanup_cfg
|
||||
| TODO_update_ssa
|
||||
| TODO_verify_ssa
|
||||
| TODO_verify_flow
|
||||
| TODO_ggc_collect /* todo_flags_finish */
|
||||
| TODO_verify_flow /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
@ -5299,7 +5299,7 @@ struct simple_ipa_opt_pass pass_ipa_free_lang_data =
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_ggc_collect /* todo_flags_finish */
|
||||
0 /* todo_flags_finish */
|
||||
}
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user