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

            Bug ID: 87259
           Summary: [9 Regression] ICE:  error: definition in block 3 does
                    not dominate use in block 2
           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: ktkachov at gcc dot gnu.org, rguenth at gcc dot gnu.org
  Target Milestone: ---
              Host: x86_64-linux-gnu

Starting from r264126 I see:

$ cat solver.i
int a, b, c;
int *e;
float f;
void h() {
  for (int g;;) {
    float d = b, i = 0 / f, j = a / (f * f), k, l = 0 / d;
    c = i + j;
    g = l;
    e[g] = c / d * k / d;
  }
}

$ gcc solver.i -Ofast -c
solver.i: In function ‘h’:
solver.i:4:6: error: definition in block 3 does not dominate use in block 2
4 | void h() {
  |      ^
for SSA_NAME: d_19 in statement:
reciptmp.10_54 = 1.0e+0 / d_19;
during GIMPLE pass: recip
solver.i:4:6: internal compiler error: verify_ssa failed
0xf5b516 verify_ssa(bool, bool)
        /home/marxin/Programming/gcc/gcc/tree-ssa.c:1188
0xc697d0 execute_function_todo
        /home/marxin/Programming/gcc/gcc/passes.c:1950
0xc69fea execute_todo
        /home/marxin/Programming/gcc/gcc/passes.c:1997
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.

Reply via email to