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 <hjl@gcc.gnu.org>2012-08-02 09:58:33 -0700
commita8da72b86c262f75d65665c3803a658d8089a679 (patch)
treed7b9cce913a50eb193504126c582c39d052a604e /gcc/passes.c
parentca26f665dd7204fa930dc7f6a936ac526cd66f74 (diff)
downloadgcc-a8da72b86c262f75d65665c3803a658d8089a679.zip
gcc-a8da72b86c262f75d65665c3803a658d8089a679.tar.gz
gcc-a8da72b86c262f75d65665c3803a658d8089a679.tar.bz2
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. From-SVN: r190090
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 877a768..31e1f25 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;