| /* { dg-do compile } */ |
| /* { dg-options "-O2 -fdump-tree-vrp1" } */ |
| /* LLVM LOCAL test not applicable */ |
| /* { dg-require-fdump "" } */ |
| |
| static int blocksize = 4096; |
| |
| int bar (int); |
| |
| void foo (void) |
| { |
| int toread; |
| int bytes; |
| static char eof_reached = 0; |
| |
| toread = blocksize; |
| bytes = 1; |
| |
| while (toread != 0) |
| { |
| bytes = bar (toread); |
| if (bytes <= 0) |
| { |
| if (bytes < 0) |
| continue; |
| break; |
| } |
| toread -= bytes; |
| } |
| |
| if (bytes == 0) |
| eof_reached = 1; |
| } |
| |
| /* { dg-final { scan-tree-dump-times "Simplified relational" 1 "vrp1" } } */ |
| /* { dg-final { cleanup-tree-dump "vrp1" } } */ |