summaryrefslogtreecommitdiff
path: root/gcc/ipa-split.c
diff options
context:
space:
mode:
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>2012-08-02 16:58:33 +0000
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>2012-08-02 16:58:33 +0000
commitf8bfd7f74a9ade93babb76eb86ead5b9e9ffe91e (patch)
treed7b9cce913a50eb193504126c582c39d052a604e /gcc/ipa-split.c
parentc33994bea00461d5c408a64fc11f601831a7c74c (diff)
downloadgcc-f8bfd7f74a9ade93babb76eb86ead5b9e9ffe91e.tar.gz
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: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190090 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ipa-split.c')
-rw-r--r--gcc/ipa-split.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/ipa-split.c b/gcc/ipa-split.c
index d6aad8977e9..7155f9965a7 100644
--- a/gcc/ipa-split.c
+++ b/gcc/ipa-split.c
@@ -1397,7 +1397,7 @@ execute_split_functions (void)
}
/* This can be relaxed; function might become inlinable after splitting
away the uninlinable part. */
- if (!inline_summary (node)->inlinable)
+ if (inline_edge_summary_vec && !inline_summary (node)->inlinable)
{
if (dump_file)
fprintf (dump_file, "Not splitting: not inlinable.\n");