https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95025
Bug ID: 95025
Summary: [11 Regression] ICE in execute_sm_exit at
gcc/tree-ssa-loop-im.c:2224 since
r11-161-g283cb9ea6293e813
Product: gcc
Version: 10.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: regression
Assignee: unassigned at gcc dot gnu.org
Reporter: marxin at gcc dot gnu.org
CC: rguenth at gcc dot gnu.org
Target Milestone: ---
The following is causing ICE:
$ cat lim.ii
struct a {
int b;
} * c;
struct d {
d *e;
};
struct f {
bool done;
d *g;
};
int h;
int i(f *j) {
if (j->g) {
j->g = j->g->e;
return h;
}
j->done = true;
return 0;
}
void k(bool j) { c->b = j; }
void l() {
f a;
for (; !(&a)->done; i(&a))
k(true);
}
$ ./xgcc -B. /tmp/tree-into-ssa.ii -c -O2 -fsanitize=address
during GIMPLE pass: lim
../../gcc/tree-into-ssa.c: In member function ‘virtual edge_def*
mark_def_dom_walker::before_dom_children(basic_block)’:
../../gcc/tree-into-ssa.c:2336:1: internal compiler error: Segmentation fault
2336 | mark_def_dom_walker::before_dom_children (basic_block bb)
| ^~~~~~~~~~~~~~~~~~~
0xf217cf crash_signal
../../gcc/toplev.c:328
0x1089b3e execute_sm_exit
../../gcc/tree-ssa-loop-im.c:2224
0x108fa03 hoist_memory_references
../../gcc/tree-ssa-loop-im.c:2562
0x108fa03 store_motion_loop
../../gcc/tree-ssa-loop-im.c:2824
0x108e94d store_motion_loop
../../gcc/tree-ssa-loop-im.c:2830
0x1090d3a store_motion
../../gcc/tree-ssa-loop-im.c:2845
0x1090d3a tree_ssa_lim
../../gcc/tree-ssa-loop-im.c:3065
0x1090d3a execute
../../gcc/tree-ssa-loop-im.c:3115