https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108086
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed| |2022-12-14 CC| |rsandifo at gcc dot gnu.org Status|UNCONFIRMED |NEW Ever confirmed|0 |1 --- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> --- Confirmed with 12.2.0 during RTL pass: fwprop1 main.cpp: In function ‘int main()’: main.cpp:230:1: internal compiler error: in set_accesses, at rtl-ssa/internals.inl:449 0x6ca5e3 rtl_ssa::insn_info::set_accesses(rtl_ssa::access_info**, unsigned int, unsigned int) /space/rguenther/src/gcc-12-branch/gcc/rtl-ssa/internals.inl:449 0x6ca5e3 rtl_ssa::insn_info::set_accesses(rtl_ssa::access_info**, unsigned int, unsigned int) /space/rguenther/src/gcc-12-branch/gcc/rtl-ssa/internals.inl:444 0x6ca5e3 rtl_ssa::function_info::finish_insn_accesses(rtl_ssa::insn_info*) /space/rguenther/src/gcc-12-branch/gcc/rtl-ssa/insns.cc:407 0x1b0cabc rtl_ssa::function_info::start_block(rtl_ssa::function_info::build_info&, rtl_ssa::bb_info*) /space/rguenther/src/gcc-12-branch/gcc/rtl-ssa/blocks.cc:1022 0x1b0cb5f rtl_ssa::function_info::bb_walker::before_dom_children(basic_block_def*) /space/rguenther/src/gcc-12-branch/gcc/rtl-ssa/blocks.cc:129 0x195216e dom_walker::walk(basic_block_def*) /space/rguenther/src/gcc-12-branch/gcc/domwalk.cc:309 0x1b0d871 rtl_ssa::function_info::process_all_blocks() /space/rguenther/src/gcc-12-branch/gcc/rtl-ssa/blocks.cc:1252 0x1a83ba1 rtl_ssa::function_info::function_info(function*) /space/rguenther/src/gcc-12-branch/gcc/rtl-ssa/functions.cc:50 0x1961033 fwprop_init /space/rguenther/src/gcc-12-branch/gcc/fwprop.cc:906 0x1961033 fwprop /space/rguenther/src/gcc-12-branch/gcc/fwprop.cc:976 we have // Change the list of instruction accesses to ACCESSES, which contains // NUM_DEFS definitions followed by NUM_USES uses. inline void insn_info::set_accesses (access_info **accesses, unsigned int num_defs, unsigned int num_uses) { m_accesses = accesses; m_num_defs = num_defs; gcc_assert (num_defs == m_num_defs); that's a strange assert ...