blob: 17a4a0faf24255d896c91db13acf68bf2f30de90 [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-cddce1" } */
void foo();
void l(unsigned int r) {
unsigned int q = 0;
unsigned int c = r;
for (unsigned int x = 0; x<r; x++) {
if (q == c) {
foo();
c *= 2;
}
q++;
}
}
/* We should be able to elide the body of the function by means of
figuring out the equality between the two IVs and then simplifying
the q == c test. */
/* { dg-final { scan-tree-dump-not "foo" "cddce1" } } */
/* { dg-final { scan-tree-dump-times "bb" 1 "cddce1" } } */