https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107044
Bug ID: 107044
Summary: internal compiler error: in
dump_possible_polymorphic_call_targets, at
ipa-devirt.cc:3456
Product: gcc
Version: 13.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: ipa
Assignee: unassigned at gcc dot gnu.org
Reporter: macro at orcam dot me.uk
CC: marxin at gcc dot gnu.org
Target Milestone: ---
Target: riscv64-linux-gnu
Created attachment 53630
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53630&action=edit
Reproducer, taken from 483.xalancbmk in SPEC CPU2006
With the `riscv64-linux-gnu' target and the attached source I get an ICE:
during GIMPLE pass: fre
dump file: TokenFactory.ii.112t.fre3
TokenFactory.ii: In member function 'xercesc_2_5::Token*
xercesc_2_5::TokenFactory::getGraphemePattern()':
TokenFactory.ii:177:3: internal compiler error: in
dump_possible_polymorphic_call_targets, at ipa-devirt.cc:3456
177 | TokenFactory::getGraphemePattern ()
| ^~~~~~~~~~~~
0x11427cf7 dump_possible_polymorphic_call_targets(_IO_FILE*, tree_node*, long,
ipa_polymorphic_call_context const&, bool)
/path/to/src/gcc/gcc/ipa-devirt.cc:3456
0x11d4ed63 eliminate_dom_walker::eliminate_stmt(basic_block_def*,
gimple_stmt_iterator*)
/path/to/src/gcc/gcc/tree-ssa-sccvn.cc:7007
0x11d4fa03 eliminate_dom_walker::before_dom_children(basic_block_def*)
/path/to/src/gcc/gcc/tree-ssa-sccvn.cc:7159
0x12915f1b dom_walker::walk(basic_block_def*)
/path/to/src/gcc/gcc/domwalk.cc:311
0x11d506a7 eliminate_with_rpo_vn(bitmap_head*)
/path/to/src/gcc/gcc/tree-ssa-sccvn.cc:7339
0x11d55c83 do_rpo_vn_1
/path/to/src/gcc/gcc/tree-ssa-sccvn.cc:8451
0x11d560d3 execute
/path/to/src/gcc/gcc/tree-ssa-sccvn.cc:8537
Please submit a full bug report, with preprocessed source.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
Preprocessed source stored into /tmp/ccZIsvk3.out file, please attach this to
your bugreport.
with this compiler invocation:
$ riscv64-linux-gnu-g++ -fdump-tree-all -S -o TokenFactory.s -Ofast
--param=max-inline-insns-size=90 -march=rv64gc -mabi=lp64d TokenFactory.ii
GCC built with `-O0 -g' for the purpose of obtaining a reliable backtrace
only, the same ICE triggers with the usual `-O2' compilation.
NB this comes from the same program and is the same assertion as with
PR ipa/79931 and PR tree-optimization/80249.