| /* { dg-do compile } */ |
| /* { dg-options "-O1 -funswitch-loops -fdump-tree-unswitch-blocks" } */ |
| |
| int bla(int p) |
| { |
| unsigned i, s = 1; |
| |
| for (i = 4; i < 100; i++) |
| { |
| if (p) |
| s += i/2; |
| else |
| s *= i/2; |
| } |
| |
| return s; |
| } |
| |
| /* We used to make the probability that the first of the loops created |
| by unswitching is entered 100%, which is not correct. */ |
| |
| /* { dg-final { scan-tree-dump-not "Invalid sum" "unswitch"} } */ |
| /* { dg-final { scan-tree-dump-not "SUCC: 3 .100.0%" "unswitch"} } */ |
| /* { dg-final { cleanup-tree-dump "unswitch" } } */ |