https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64218
--- Comment #14 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Good, now it reproduces. The problem is that inliner removes the alias target
and it leaves the alias itself to be removed by remove_unreachable_nodes. It
however manages to crash ealrier looking if the alias shall be inlined as
called once in somewhat convoluted test whether symbol is an alias.
Index: ipa-inline.c
===================================================================
--- ipa-inline.c (revision 219826)
+++ ipa-inline.c (working copy)
@@ -866,7 +866,8 @@ want_inline_function_to_all_callers_p (s
{
bool has_hot_call = false;
- if (node->ultimate_alias_target () != node)
+ /* Aliases gets inlined along with the function they alias. */
+ if (node->alias)
return false;
/* Already inlined? */
if (node->global.inlined_to)