https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95283
Bug ID: 95283 Summary: ICE: in hoist_memory_references, at tree-ssa-loop-im.c:2607 Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: vsevolod.livinskij at frtk dot ru Target Milestone: --- Reproducer: short c; bool d; unsigned e, f; char g, h; extern bool i[]; void j() { for (char a = 0; a < 100; a++) for (char b = 0; b < 20; b += 2) { if (e) d = f = 0; else g = i[8] = 0; h = c; } } Error: >$ g++ -O3 func.cpp -c during GIMPLE pass: lim func.cpp: In function ‘void j()’: func.cpp:6:6: internal compiler error: in hoist_memory_references, at tree-ssa-loop-im.c:2607 6 | void j() { | ^ 0x822f8a hoist_memory_references gcc_src/gcc/tree-ssa-loop-im.c:2607 0x822f8a store_motion_loop gcc_src/gcc/tree-ssa-loop-im.c:2904 0x12381da do_store_motion gcc_src/gcc/tree-ssa-loop-im.c:2929 0x12381da tree_ssa_lim gcc_src/gcc/tree-ssa-loop-im.c:3148 0x12381da execute gcc_src/gcc/tree-ssa-loop-im.c:3198 GCC version: 11.0.0 (bcb63eb2cbd3caf212b9cf42d8c218c09dc6ff8b)