Hi,
this patch fixes heurstics in ipa-split that disables splitting for functions 
called once
(which may need revisiting anyway). When function has alias, the other uses may 
come
through that alias.

Bootstrapped/regtested x86_64.
        PR ipa/63566 
        * ipa-split.c (execute_split_functions): Split if function has aliases.
Index: ipa-split.c
===================================================================
--- ipa-split.c (revision 220509)
+++ ipa-split.c (working copy)
@@ -1736,6 +1736,7 @@ execute_split_functions (void)
        /* Local functions called once will be completely inlined most of time. 
 */
        || (!node->callers->next_caller && node->local.local))
       && !node->address_taken
+      && !node->has_aliases_p ()
       && (!flag_lto || !node->externally_visible))
     {
       if (dump_file)

Reply via email to