Index: gcc/gcc/testsuite/gcc.dg/tree-ssa/20041122-1.c |
diff --git a/gcc/gcc/testsuite/gcc.dg/tree-ssa/20041122-1.c b/gcc/gcc/testsuite/gcc.dg/tree-ssa/20041122-1.c |
index d72d133e154d391d01f77c708a5837b0d4dce753..6007949546e2235a8d833cc6122a134b37598c1c 100644 |
--- a/gcc/gcc/testsuite/gcc.dg/tree-ssa/20041122-1.c |
+++ b/gcc/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" } } */ |