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.