aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa-split.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/ipa-split.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/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 d6aad89..7155f99 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");