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)