[Bug ipa/96059] ICE: in remove_unreachable_nodes, at ipa.c:575 with -fdevirtualize-at-ltrans

jamborm at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Mar 15 18:31:58 GMT 2023


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

--- Comment #5 from Martin Jambor <jamborm at gcc dot gnu.org> ---
Which means that the following (untested) patch might be the correct fix:

diff --git a/gcc/ipa.cc b/gcc/ipa.cc
index 5c15b60a603..c2d94163dc2 100644
--- a/gcc/ipa.cc
+++ b/gcc/ipa.cc
@@ -199,6 +199,11 @@ walk_polymorphic_call_targets (hash_set<void *>
*reachable_call_targets,
          n->indirect_call_target = true;
          symtab_node *body = n->function_symbol ();

+         /* We have already decided that an offlie copy which could be a
+            target of a virtual call is not necessary.  */
+         if (n->inlined_to)
+           continue;
+         
          /* Prior inlining, keep alive bodies of possible targets for
             devirtualization.  */
          if (n->definition


More information about the Gcc-bugs mailing list