https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87894

            Bug ID: 87894
           Summary: ICE inslpeel_duplicate_current_defs_from_edges at
                    tree-vect-loop-manip.c:984 since r265812
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
                CC: rguenth at gcc dot gnu.org
  Target Milestone: ---

Following causes a new ICE:

$ cat ice.i
int a, b, c, d;
double e;

void f(double g[][1]) {
  for (;;) {
    double h;
    for (; b < c; b++) {
      if (b >= 0)
        ;
      else if (d)
        h = 2.0;
      else
        h = 0.0;
      if (e)
        g[a][b] = 0.0;
      g[a][b] = h;
    }
  }
}

$ ./xgcc -B. ice.i -c -Ofast
during GIMPLE pass: vect
ice.i: In function ‘f’:
ice.i:4:6: internal compiler error: Segmentation fault
    4 | void f(double g[][1]) {
      |      ^
0x1192692 crash_signal
        /home/marxin/Programming/gcc/gcc/toplev.c:325
0x7ffff6bc310f ???
       
/usr/src/debug/glibc-2.27-6.1.x86_64/signal/../sysdeps/unix/sysv/linux/x86_64/sigaction.c:0
0x857a19 contains_struct_check(tree_node*, tree_node_structure_enum, char
const*, int, char const*)
        /home/marxin/Programming/gcc/gcc/tree.h:3231
0x1558ddb slpeel_duplicate_current_defs_from_edges
        /home/marxin/Programming/gcc/gcc/tree-vect-loop-manip.c:984
0x1559204 slpeel_tree_duplicate_loop_to_edge_cfg(loop*, loop*, edge_def*)
        /home/marxin/Programming/gcc/gcc/tree-vect-loop-manip.c:1074
0x155d784 vect_do_peeling(_loop_vec_info*, tree_node*, tree_node*, tree_node**,
tree_node**, tree_node**, int, bool, bool)
        /home/marxin/Programming/gcc/gcc/tree-vect-loop-manip.c:2580
0x154e144 vect_transform_loop(_loop_vec_info*)
        /home/marxin/Programming/gcc/gcc/tree-vect-loop.c:8243
0x1579808 try_vectorize_loop_1
        /home/marxin/Programming/gcc/gcc/tree-vectorizer.c:965
0x1579ab0 try_vectorize_loop
        /home/marxin/Programming/gcc/gcc/tree-vectorizer.c:1015
0x1579c8c vectorize_loops()
        /home/marxin/Programming/gcc/gcc/tree-vectorizer.c:1097
0x13dd4ad execute
        /home/marxin/Programming/gcc/gcc/tree-ssa-loop.c:414

Reply via email to