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

Reply via email to