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