diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/tree-ssa')
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/20030731-2.c | 6 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/20030917-1.c | 6 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/20030917-3.c | 6 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/20040721-1.c | 6 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/20041008-1.c | 38 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-1.c | 6 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-12.c | 32 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-2.c | 6 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-3.c | 6 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-7.c | 6 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-9.c | 6 |
11 files changed, 97 insertions, 27 deletions
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/20030731-2.c b/gcc/testsuite/gcc.dg/tree-ssa/20030731-2.c index 885bca11771..9b205813caf 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/20030731-2.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/20030731-2.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O1 -fdump-tree-ccp" } */ +/* { dg-options "-O1 -fdump-tree-store_ccp" } */ bar (int i, int partial, int args_addr) @@ -13,5 +13,5 @@ bar (int i, int partial, int args_addr) /* There should be only one IF conditional since the first does nothing useful. */ -/* { dg-final { scan-tree-dump-times "if " 1 "ccp"} } */ -/* { dg-final { cleanup-tree-dump "ccp" } } */ +/* { dg-final { scan-tree-dump-times "if " 1 "store_ccp"} } */ +/* { dg-final { cleanup-tree-dump "store_ccp" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/20030917-1.c b/gcc/testsuite/gcc.dg/tree-ssa/20030917-1.c index 62f5b2497cc..b7a5450619c 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/20030917-1.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/20030917-1.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O1 -fdump-tree-ccp" } */ +/* { dg-options "-O1 -fdump-tree-store_ccp" } */ extern int board[]; @@ -15,5 +15,5 @@ findbestextension (int blah, int blah2) } /* The argument to "foo" should be a variable, not a constant. */ -/* { dg-final { scan-tree-dump-times "foo .defval" 1 "ccp"} } */ -/* { dg-final { cleanup-tree-dump "ccp" } } */ +/* { dg-final { scan-tree-dump-times "foo .defval" 1 "store_ccp"} } */ +/* { dg-final { cleanup-tree-dump "store_ccp" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/20030917-3.c b/gcc/testsuite/gcc.dg/tree-ssa/20030917-3.c index bfa2f8a7379..24201469069 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/20030917-3.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/20030917-3.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O1 -fno-tree-dominator-opts -fdump-tree-ccp" } */ +/* { dg-options "-O1 -fno-tree-dominator-opts -fdump-tree-store_ccp" } */ extern int printf (const char *, ...); @@ -20,5 +20,5 @@ main () /* The argument to "printf" should be a constant, not a variable. */ -/* { dg-final { scan-tree-dump-times "printf.*, 0" 1 "ccp"} } */ -/* { dg-final { cleanup-tree-dump "ccp" } } */ +/* { dg-final { scan-tree-dump-times "printf.*, 0" 1 "store_ccp"} } */ +/* { dg-final { cleanup-tree-dump "store_ccp" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/20040721-1.c b/gcc/testsuite/gcc.dg/tree-ssa/20040721-1.c index 44dacef0d9c..4df313c7bc1 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/20040721-1.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/20040721-1.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O1 -fdump-tree-ccp-vops" } */ +/* { dg-options "-O2 -fdump-tree-store_ccp-vops" } */ /* Test to check whether global variables are being constant propagated. */ @@ -24,5 +24,5 @@ main () } /* There should be no G on the RHS of an assignment. */ -/* { dg-final { scan-tree-dump-times "= G;" 0 "ccp"} } */ -/* { dg-final { cleanup-tree-dump "ccp" } } */ +/* { dg-final { scan-tree-dump-times "= G;" 0 "store_ccp"} } */ +/* { dg-final { cleanup-tree-dump "store_ccp" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/20041008-1.c b/gcc/testsuite/gcc.dg/tree-ssa/20041008-1.c new file mode 100644 index 00000000000..ca24427b65c --- /dev/null +++ b/gcc/testsuite/gcc.dg/tree-ssa/20041008-1.c @@ -0,0 +1,38 @@ +/* { dg-do run } */ +/* { dg-options "-O2" } */ + +struct A { + int x; + int y; +}; + +baz (struct A *a) +{ + a->x = 3; + a->y = 2; +} + +foo (int i) +{ + struct A a; + + /* Make sure we can't scalarize 'a'. */ + baz (&a); + + if (i > 10) + a.x = i; + else + a.x = i; + + /* Copy propagation should prove that this predicate is always false. */ + if (a.x != i) + link_error (); + + return a.x; +} + +main () +{ + foo (30); + return 0; +} diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-1.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-1.c index a7d5cd82a50..259d12ac683 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-1.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-1.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O1 -fdump-tree-ccp" } */ +/* { dg-options "-O1 -fdump-tree-store_ccp" } */ extern void link_error (void); @@ -71,5 +71,5 @@ void test11111 (int p, int q, int r) /* There should be not link_error calls, if there is any the optimization has failed */ -/* { dg-final { scan-tree-dump-times "link_error" 0 "ccp"} } */ -/* { dg-final { cleanup-tree-dump "ccp" } } */ +/* { dg-final { scan-tree-dump-times "link_error" 0 "store_ccp"} } */ +/* { dg-final { cleanup-tree-dump "store_ccp" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-12.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-12.c new file mode 100644 index 00000000000..8ee9eb8d0e4 --- /dev/null +++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-12.c @@ -0,0 +1,32 @@ +/* { dg-do run } */ +/* { dg-options "-O2" } */ + +struct A +{ + int a; + int b; +}; + +struct A a; +const int B = 42; + +void foo (int i) +{ + if (i > 10) + a.a = 42; + else + { + a.b = 21; + a.a = a.b + 21; + } + + /* This should be folded to 'if (0)' as a.a and B are both 42. */ + if (a.a != B) + link_error (); +} + +main () +{ + foo (3); + return 0; +} diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-2.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-2.c index aad1a3f3cc4..5f614f08212 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-2.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-2.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O1 -fdump-tree-ccp" } */ +/* { dg-options "-O1 -fdump-tree-store_ccp" } */ extern void link_error (void); @@ -168,5 +168,5 @@ int test99999 (void) /* There should be not link_error calls, if there is any the optimization has failed */ -/* { dg-final { scan-tree-dump-times "link_error" 0 "ccp"} } */ -/* { dg-final { cleanup-tree-dump "ccp" } } */ +/* { dg-final { scan-tree-dump-times "link_error" 0 "store_ccp"} } */ +/* { dg-final { cleanup-tree-dump "store_ccp" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-3.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-3.c index f15ba1ee113..d978511c281 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-3.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-3.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O1 -fdump-tree-ccp" } */ +/* { dg-options "-O1 -fdump-tree-store_ccp" } */ extern void link_error (void); @@ -131,5 +131,5 @@ int* test666 (int * __restrict__ rp1, int * __restrict__ rp2, int *p1) optimization has failed */ /* ??? While we indeed don't handle some of these, a couple of the restrict tests are incorrect. */ -/* { dg-final { scan-tree-dump-times "link_error" 0 "ccp" { xfail *-*-* } } } */ -/* { dg-final { cleanup-tree-dump "ccp" } } */ +/* { dg-final { scan-tree-dump-times "link_error" 0 "store_ccp" { xfail *-*-* } } } */ +/* { dg-final { cleanup-tree-dump "store_ccp" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-7.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-7.c index bd97b897c3e..7f20f062ddb 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-7.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-7.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O1 -fdump-tree-ccp" } */ +/* { dg-options "-O1 -fdump-tree-store_ccp" } */ extern void link_error (void); @@ -23,5 +23,5 @@ int test7 (int a) /* There should be not link_error calls, if there is any the optimization has failed */ -/* { dg-final { scan-tree-dump-times "link_error" 0 "ccp"} } */ -/* { dg-final { cleanup-tree-dump "ccp" } } */ +/* { dg-final { scan-tree-dump-times "link_error" 0 "store_ccp"} } */ +/* { dg-final { cleanup-tree-dump "store_ccp" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-9.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-9.c index db19b00d145..1508ff06eec 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-9.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-9.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O1 -fdump-tree-ccp" } */ +/* { dg-options "-O1 -fdump-tree-store_ccp" } */ /* Check that cprop works for assignments to array elements and structs. */ @@ -51,5 +51,5 @@ test99999 (int *arr, int j) /* There should be no link_error calls, if there is any, the optimization has failed */ -/* { dg-final { scan-tree-dump-times "link_error" 0 "ccp"} } */ -/* { dg-final { cleanup-tree-dump "ccp" } } */ +/* { dg-final { scan-tree-dump-times "link_error" 0 "store_ccp"} } */ +/* { dg-final { cleanup-tree-dump "store_ccp" } } */ |