https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113616
Bug ID: 113616 Summary: [14 Regression] ICE in process_uses_of_deleted_def, at rtl-ssa/changes.cc:252 Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: jakub at gcc dot gnu.org Target Milestone: --- struct A { struct A *a; } foo (); struct B { long b; }; struct C { struct B c; struct A d; } *e; void bar (void) { int f; struct C *g; struct A *h; for (g = 0, g = e ? (void *) e - (char) (__SIZE_TYPE__) &g->d : 0, h = g ? (&g->d)->a : 0; g; g = 0, g = h ? (void *) h - (char) (__SIZE_TYPE__) &g->d : 0, h = h ? h->a : 0) { f = (int) (__SIZE_TYPE__) g; foo (((struct B *) g)->b); } } ICEs with -g -O2 on aarch64-linux: during RTL pass: ldp_fusion rh2260449.i: In function ‘bar’: rh2260449.i:17:1: internal compiler error: in process_uses_of_deleted_def, at rtl-ssa/changes.cc:252 17 | } | ^ 0x2c6f609 rtl_ssa::function_info::process_uses_of_deleted_def(rtl_ssa::set_info*) ../../gcc/rtl-ssa/changes.cc:252 0x2c718e1 rtl_ssa::function_info::change_insns(array_slice<rtl_ssa::insn_change*>) ../../gcc/rtl-ssa/changes.cc:839 0x1dc3cbb ldp_bb_info::fuse_pair(bool, unsigned int, int, rtl_ssa::insn_info*, rtl_ssa::insn_info*, base_cand&, rtl_ssa::insn_range_info const&) ../../gcc/config/aarch64/aarch64-ldp-fusion.cc:2063 0x1dc539e ldp_bb_info::try_fuse_pair(bool, unsigned int, rtl_ssa::insn_info*, rtl_ssa::insn_info*) ../../gcc/config/aarch64/aarch64-ldp-fusion.cc:2782 0x1dc5627 ldp_bb_info::merge_pairs(std::__cxx11::list<rtl_ssa::insn_info*, std::allocator<rtl_ssa::insn_info*> >&, std::__cxx11::list<rtl_ssa::insn_info*, std::allocator<rtl_ssa::insn_info*> >&, bool, unsigned int) ../../gcc/config/aarch64/aarch64-ldp-fusion.cc:2871 0x1dc5816 ldp_bb_info::transform_for_base(int, access_group&) ../../gcc/config/aarch64/aarch64-ldp-fusion.cc:2904 0x1dc801c void ldp_bb_info::traverse_base_map<ordered_hash_map<pair_hash<nofree_ptr_hash<rtl_ssa::def_info>, int_hash<int, -1, -2> >, access_group, simple_hashmap_traits<default_hash_traits<pair_hash<nofree_ptr_hash<rtl_ssa::def_info>, int_hash<int, -1, -2> > >, access_group> > >(ordered_hash_map<pair_hash<nofree_ptr_hash<rtl_ssa::def_info>, int_hash<int, -1, -2> >, access_group, simple_hashmap_traits<default_hash_traits<pair_hash<nofree_ptr_hash<rtl_ssa::def_info>, int_hash<int, -1, -2> > >, access_group> >&) ../../gcc/config/aarch64/aarch64-ldp-fusion.cc:2963 0x1dc5a75 ldp_bb_info::transform() ../../gcc/config/aarch64/aarch64-ldp-fusion.cc:2971 0x1dc01fb ldp_fusion_bb(rtl_ssa::bb_info*) ../../gcc/config/aarch64/aarch64-ldp-fusion.cc:3209 0x1dc0285 ldp_fusion() ../../gcc/config/aarch64/aarch64-ldp-fusion.cc:3218 0x1dc0398 execute ../../gcc/config/aarch64/aarch64-ldp-fusion.cc:3268 Please submit a full bug report, with preprocessed source (by using -freport-bug). Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions.