https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68057
--- Comment #4 from Mikhail Maltsev <miyuki at gcc dot gnu.org> --- Created attachment 36570 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36570&action=edit reproducer Compile like this: /opt/gcc-6.0.0/bin/g++ -O3 -flto tu{1,2,3}.cc lto1: internal compiler error: in record_target_from_binfo, at ipa-devirt.c:2599 0x80492d record_target_from_binfo /home/miyuki/gcc/src/gcc/ipa-devirt.c:2599 0x804405 record_target_from_binfo /home/miyuki/gcc/src/gcc/ipa-devirt.c:2640 0x804e44 possible_polymorphic_call_targets_1 /home/miyuki/gcc/src/gcc/ipa-devirt.c:2687 0x80b8fc possible_polymorphic_call_targets(tree_node*, long, ipa_polymorphic_call_context, bool*, void**, bool) /home/miyuki/gcc/src/gcc/ipa-devirt.c:3216 0x80d1fc try_speculative_devirtualization(tree_node*, long, ipa_polymorphic_call_context) /home/miyuki/gcc/src/gcc/ipa-devirt.c:3576 0x109aec9 ipa_get_indirect_edge_target_1 /home/miyuki/gcc/src/gcc/ipa-cp.c:2142 0x81fb52 estimate_edge_devirt_benefit /home/miyuki/gcc/src/gcc/ipa-inline-analysis.c:3048 0x81ff5b estimate_edge_size_and_time <...> I did not preserve validity, i.e. compiling without optimization gives link error: tu3.cc:(.text._ZN9SPxPricerC2Ev[_ZN9SPxPricerC5Ev]+0x9): undefined reference to `vtable for SPxPricer' (because of missing definition for SPxPricer::load).