diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/tree-ssa/20041122-1.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/20041122-1.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/20041122-1.c b/gcc/testsuite/gcc.dg/tree-ssa/20041122-1.c index d72d133e154..6007949546e 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/20041122-1.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/20041122-1.c @@ -1,6 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O1 -fdump-tree-dom2" } */ - +/* { dg-options "-O1 -fstrict-aliasing -fdump-tree-fre" } */ __extension__ typedef __SIZE_TYPE__ size_t; extern void *xmalloc (size_t) __attribute__ ((__malloc__)); @@ -17,10 +16,10 @@ struct basic_block_def typedef struct basic_block_def *basic_block; extern int n_basic_blocks; extern edge frob (); -void -find_unreachable_blocks (int frobit) +basic_block * +find_unreachable_blocks (void) { - basic_block *tos, *worklist, bb; + basic_block *tos, *worklist; tos = worklist = xmalloc (sizeof (basic_block) * n_basic_blocks); edge e = frob(); if (!(e->dest->flags & 4)) @@ -28,11 +27,12 @@ find_unreachable_blocks (int frobit) e->dest->flags |= 4; *tos++ = e->dest; } + return worklist; } /* If the aliasing code does its job properly, then we should be able to determine that modifying e->dest->flags does not - modify e or e->dest. The net result is that we only need one - load of e->dest. */ -/* { dg-final { scan-tree-dump-times "->dest" 1 "dom2" { xfail *-*-* } } } */ -/* { dg-final { cleanup-tree-dump "dom2" } } */ + modify e or e->dest if we can assert strict-aliasing rules. + The net result is that we only need one load of e->dest. */ +/* { dg-final { scan-tree-dump-times "->dest" 1 "fre" } } */ +/* { dg-final { cleanup-tree-dump "fre" } } */ |