diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-01-10 14:33:04 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-01-10 14:33:04 +0000 |
commit | a15d5ede1b745b109884a8f94950aefc66836037 (patch) | |
tree | bbc73f1eb46e75ef826904a55147a08ff0e52674 /gcc/passes.c | |
parent | 759a30b2ba2287a83e867f8fd905e51b498ce220 (diff) | |
download | gcc-a15d5ede1b745b109884a8f94950aefc66836037.tar.gz |
PR tree-optimization/47234
* tree-pass.h (TODO_rebuild_cgraph_edges): New TODO.
(pass_feedback_split_functions): Declare.
* passes.c (init_optimization_passes): Add ipa-split as subpass of
tree-profile.
* ipa-split.c (gate_split_functions): Update comments; disable
split-functions for profile_arc_flag and branch_probabilities.
(gate_feedback_split_functions): New function.
(execute_feedback_split_functions): New function.
(pass_feedback_split_functions): New global var.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168632 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/passes.c')
-rw-r--r-- | gcc/passes.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/passes.c b/gcc/passes.c index 4be61a9455e..804ac9f2a60 100644 --- a/gcc/passes.c +++ b/gcc/passes.c @@ -785,6 +785,10 @@ init_optimization_passes (void) NEXT_PASS (pass_inline_parameters); } NEXT_PASS (pass_ipa_tree_profile); + { + struct opt_pass **p = &pass_ipa_tree_profile.pass.sub; + NEXT_PASS (pass_feedback_split_functions); + } NEXT_PASS (pass_ipa_increase_alignment); NEXT_PASS (pass_ipa_matrix_reorg); NEXT_PASS (pass_ipa_lower_emutls); @@ -1227,6 +1231,9 @@ execute_function_todo (void *data) if (flags & TODO_rebuild_frequencies) rebuild_frequencies (); + if (flags & TODO_rebuild_cgraph_edges) + rebuild_cgraph_edges (); + /* If we've seen errors do not bother running any verifiers. */ if (seen_error ()) return; |