https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78413
--- Comment #1 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- Another testcase markus@x4 /tmp % cat test2.i struct S { _Bool bo; }; int a, b, c, d; void fn1() { do do do { struct S *e = (struct S *)1; do b = a / (e->bo ? 2 : 1); while (b); } while (0); while (d); while (c); } markus@x4 /tmp % gcc -O3 -fno-strict-aliasing -c test2.i test2.i: In function ‘fn1’: test2.i:5:6: internal compiler error: in single_pred_edge, at basic-block.h:361