https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63166
Bug ID: 63166 Summary: [5 Regression] ICE (LTO): ipa_intraprocedural_devirtualization, at ipa-prop.c:2611 Product: gcc Version: 5.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: lto Assignee: unassigned at gcc dot gnu.org Reporter: burnus at gcc dot gnu.org CC: hubicka at gcc dot gnu.org Created attachment 33447 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33447&action=edit Test file "one2.ii" For the big program, it is surely a regression and the code is (should be) valid. I am less sure about the reduced test case. Reproduce: $ g++ -flto -w -O2 -c one2.ii two.ii $ .../libexec/gcc/x86_64-unknown-linux-gnu/5.0.0/lto1 -quiet -o /dev/null one2.o two.o -O2 two.ii: In function ‘validate’: two.ii:85:1: internal compiler error: in ipa_intraprocedural_devirtualization, at ipa-prop.c:2611 validate () ^ 0x82ba7d ipa_intraprocedural_devirtualization(gimple_statement_base*) ../../gcc/ipa-prop.c:2611 0xb0b28b eliminate_dom_walker::before_dom_children(basic_block_def*) ../../gcc/tree-ssa-pre.c:4323 0xecdc47 dom_walker::walk(basic_block_def*) ../../gcc/domwalk.c:177