Commit 8f3a7ad6 by Jeff Law Committed by Jeff Law

20030821-1.c: Verify that the computed goto was folded away.

        * gcc.dg/tree-ssa/20030821-1.c: Verify that the computed goto
        was folded away.
        * gcc.dg/tree-ssa/pr18133-1.c: New test.
        * gcc.dg/tree-ssa/pr18133-2.c: New test.

From-SVN: r96085
parent be477406
2005-03-07 Jeff Law <law@redhat.com>
* gcc.dg/tree-ssa/20030821-1.c: Verify that the computed goto
was folded away.
* gcc.dg/tree-ssa/pr18133-1.c: New test.
* gcc.dg/tree-ssa/pr18133-2.c: New test.
2005-03-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* g++.dg/warn/weak1.C: Skip test on hppa*-*-hpux*.
......
/* { dg-do compile } */
/* { dg-options "-O1 -fdump-tree-optimized" } */
/* { dg-options "-O1 -fdump-tree-dom1 -fdump-tree-optimized" } */
void foo(int k)
{
......@@ -21,3 +21,6 @@ y: ;
}
/* { dg-final { scan-tree-dump-times "dont_remove \\(\\)" 1 "optimized"} } */
/* We should have folded away the goto &x */
/* { dg-final { scan-tree-dump-times "goto &x" 0 "optimized"} } */
/* { dg-do compile } */
/* { dg-options "-O1 -fdump-tree-optimized-blocks" } */
void foo (void)
{
void *p;
p = &&L0;
goto *p;
L0:
return;
}
/* The goto &L0 should have been optimized away during CFG
cleanups. */
/* { dg-final { scan-tree-dump-times "goto &L0" 0 "optimized" } } */
/* There should not be any abnormal edges as DOM removed the
computed goto. */
/* { dg-final { scan-tree-dump-times "ab" 0 "optimized" } } */
/* And verify that we have fixed the fallthru flag as well.
After DOM we will have two fallthru edges (e->0, 0->1),
but in the dump files we mention the 0->1 two times. So
scan for 3 instances of "fallthru". */
/* { dg-final { scan-tree-dump-times "fallthru" 3 "optimized" } } */
/* { dg-do compile } */
/* { dg-options "-O1 -fdump-tree-optimized-blocks" } */
int c, d;
int
bar (int a)
{
void *p;
int b;
if (a!=0)
{
b = 3;
p = &&L0;
}
else
{
b = 5;
p = &&L1;
}
goto *p;
L0:
c = b;
return 1;
L1:
d = b;
return 0;
}
/* The both paths to the block containing the goto *p should
have been threaded, thus eliminating the need for the goto *p. */
/* { dg-final { scan-tree-dump-times "goto p" 0 "optimized" } } */
/* There should not be any abnormal edges as DOM removed the
computed goto. */
/* { dg-final { scan-tree-dump-times "ab" 0 "optimized" } } */
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