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

            Bug ID: 95761
           Summary: [11 regression] ICE during GIMPLE pass: slp verify_ssa
                    failed
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dimhen at gmail dot com
  Target Milestone: ---

r11-1451 PASS
r11-1512 FAIL

`gcc -O2' PASS

$ gcc -O3 -c x_1.i
x_1.i: In function 'k':
x_1.i:10:6: error: definition in block 3 follows the use
   10 | void k() {
      |      ^
for SSA_NAME: vect__2.17_23 in statement:
vect__124.21_25 = vect_cst__58 + vect__2.17_23;
during GIMPLE pass: slp
x_1.i:10:6: internal compiler error: verify_ssa failed
0x123ff3d verify_ssa(bool, bool)
        /home/dimhen/src/gcc_current/gcc/tree-ssa.c:1208
0xf37d25 execute_function_todo
        /home/dimhen/src/gcc_current/gcc/passes.c:1992
0xf38a5c do_per_function
        /home/dimhen/src/gcc_current/gcc/passes.c:1640
0xf38a5c execute_todo
        /home/dimhen/src/gcc_current/gcc/passes.c:2039
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

$ cat x_1.i
typedef int a[10];
typedef struct {
  a b;
  a c;
  a d;
  a e;
} f;
f g;
int *j;
void k() {
  for (;;) {
    a l;
    j[0] = g.b[0];
    int *h = g.d;
    int i = 0;
    for (; i < 10; i++)
      h[i] = l[0] - g.e[0];
    h = g.e;
    i = 0;
    for (; i < 10; i++)
      h[i] = l[1] + g.e[i];
  }
}

Sorry for hyper-reduction

Reply via email to