/* { dg-require-effective-target int32plus } */ /* PR tree-optimization/112581 */ /* reassociation, used to combine 2 bb to together, that made an unitialized variable unconditional used which then at runtime would cause an infinite loop. */ int a = -1, b = 2501896061, c, d, e, f = 3, g; int main() { unsigned h; int i; d = 0; for (; d < 1; d++) { int j = ~-((6UL ^ a) / b); if (b) L: if (!f) continue; if (c) i = 1; if (j) { i = 0; while (e) ; } g = -1 % b; h = ~(b || h); f = g || 0; a = a || 0; if (!a) h = 0; while (h > 4294967294) if (i) break; if (c) goto L; } return 0; }