[Bug ipa/64218] [5 Regression] ICE: Segmentation fault (symtab_node::get_alias_target()) running Boost testsuite

hubicka at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Dec 15 00:58:00 GMT 2014


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64218

--- Comment #7 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
I guess the problem is that we inline function but do not eliminate its (now
dead) alias.  Probably it is better to do so in inline-transform like this:
Index: ipa-inline-transform.c
===================================================================
--- ipa-inline-transform.c      (revision 218722)
+++ ipa-inline-transform.c      (working copy)
@@ -199,6 +199,12 @@
             until after these clones are materialized.  */
          && !master_clone_with_noninline_clones_p (e->callee))
        {
+         ipa_ref *alias;
+         /* Remove aliases (that must be dead by can_remove_node_now_p)
+            so they do not confuse us later.  */
+         while (e->callee->iterate_direct_aliases (0, alias))
+           alias->referred->remove ();
+
          /* TODO: When callee is in a comdat group, we could remove all of it,
             including all inline clones inlined into it.  That would however
             need small function inlining to register edge removal hook to

will need to find a way to reproduce this though.

Honza



More information about the Gcc-bugs mailing list