Commit 29ba5b7a by Jeff Law Committed by Jeff Law

pr21559.c: New test.

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

From-SVN: r110713
parent 1104b28b
...@@ -5,6 +5,8 @@ ...@@ -5,6 +5,8 @@
2006-02-07 Jeff Law <law@redhat.com> 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 * gcc.dg/tree-ssa/vrp01.c: Update dumpfile names now that we have
multiple VRP passes. multiple VRP passes.
* gcc.dg/tree-ssa/vrp09.c: Likewise. * gcc.dg/tree-ssa/vrp09.c: Likewise.
/* { 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" } } */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment