aboutsummaryrefslogtreecommitdiff
path: root/gcc/passes.c
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2012-08-02 16:58:33 +0000
committerH.J. Lu <hongjiu.lu@intel.com>2012-08-02 16:58:33 +0000
commit7955fcbe85db7b6800bf4d7072311f5dc7e4186e (patch)
treed7b9cce913a50eb193504126c582c39d052a604e /gcc/passes.c
parent9ef5116e85130bc56f1876c49f93706e2c2a8629 (diff)
Add free inline summary pass after pass_early_local_passes
PR middle-end/53321 PR middle-end/53865 * ipa-inline-analysis.c (inline_free_summary): Return if inline_edge_summary_vec is NULL. * ipa-split.c (execute_split_functions): Check if a function is inlinable only if inline_edge_summary_vec != NULL. * ipa.c (symtab_remove_unreachable_nodes): Restore cgraph_propagate_frequency call when something was changed. (free_inline_summary): New function. (pass_ipa_free_inline_summary): New pass. * passes.c (init_optimization_passes): Add pass_ipa_free_inline_summary before pass_ipa_tree_profile. * timevar.def (TV_IPA_FREE_INLINE_SUMMARY): New. * tree-pass.h (pass_ipa_free_inline_summary): New. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@190090 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/passes.c')
-rw-r--r--gcc/passes.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/passes.c b/gcc/passes.c
index 877a768515a..31e1f25a67d 100644
--- a/gcc/passes.c
+++ b/gcc/passes.c
@@ -1323,6 +1323,7 @@ init_optimization_passes (void)
NEXT_PASS (pass_rebuild_cgraph_edges);
NEXT_PASS (pass_inline_parameters);
}
+ NEXT_PASS (pass_ipa_free_inline_summary);
NEXT_PASS (pass_ipa_tree_profile);
{
struct opt_pass **p = &pass_ipa_tree_profile.pass.sub;