| /* { 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; |
| } |