pr21559.c: New test.

* gcc.dg/tree-ssa/pr21559.c: New test.

From-SVN: r110713
This commit is contained in:
Jeff Law 2006-02-07 12:59:34 -07:00 committed by Jeff Law
parent 1104b28bc8
commit 29ba5b7a7c
2 changed files with 47 additions and 0 deletions

View File

@ -5,6 +5,8 @@
2006-02-07 Jeff Law <law@redhat.com>
* gcc.dg/tree-ssa/pr21559.c: New test.
* gcc.dg/tree-ssa/vrp01.c: Update dumpfile names now that we have
multiple VRP passes.
* gcc.dg/tree-ssa/vrp09.c: Likewise.

View File

@ -0,0 +1,45 @@
/* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-vrp1-details" } */
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;
}
/* First, we should simplify the bits < 0 test within the loop. */
/* { dg-final { scan-tree-dump-times "Simplified relational" 1 "vrp1" } } */
/* Second, we should thread the edge out of the loop via the break
statement. */
/* { dg-final { scan-tree-dump-times "Threaded jump" 1 "vrp1" } } */
/* Now if we were really good, we'd realize that the final bytes == 0
test is totally useless. That's not likely to happen anytime soon. */
/* { dg-final { cleanup-tree-dump "vrp1" } } */