diff options
-rw-r--r-- | gcc/testsuite/ChangeLog | 15 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/always_inline3.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/pr15349.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/pr20701.c | 23 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/pr21658.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/pr25501.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/tailrecursion-1.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/tailrecursion-2.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/tailrecursion-3.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/tailrecursion-4.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/vrp05.c | 18 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/vrp11.c | 14 |
12 files changed, 70 insertions, 28 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 9f52d10..c63f074 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,18 @@ +2007-01-11 Jan Hubicka <jh@suse.cz> + + * gcc.dg/tree-ssa/tailrecursion-4.c: Update dump file. + * gcc.dg/tree-ssa/tailrecursion-1.c: Update dump file. + * gcc.dg/tree-ssa/tailrecursion-2.c: Update dump file. + * gcc.dg/tree-ssa/tailrecursion-3.c: Update dump file. + * gcc.dg/tree-ssa/pr21658.c: Likewise. + * gcc.dg/tree-ssa/pr15349.c: Likewise. + * gcc.dg/tree-ssa/pr25501.c: Likewise. + * gcc.dg/tree-ssa/vrp11.c: Make more complex so it still test + transformation in question. + * gcc.dg/tree-ssa/vrp05.c: Likewise. + * gcc.dg/tree-ssa/pr20701.c: Likewise. + * gcc.dg/always_inline3.c: Likewise. + 2007-01-10 Mark Mitchell <mark@codesourcery.com> PR c++/28999 diff --git a/gcc/testsuite/gcc.dg/always_inline3.c b/gcc/testsuite/gcc.dg/always_inline3.c index b183770..e1a337c 100644 --- a/gcc/testsuite/gcc.dg/always_inline3.c +++ b/gcc/testsuite/gcc.dg/always_inline3.c @@ -1,8 +1,10 @@ /* { dg-do compile } */ /* { dg-options "-Winline -O2" } */ +void do_something_evil (void); inline __attribute__ ((always_inline)) void q2(void) { /* { dg-error "recursive" "" } */ + do_something_evil (); q2(); /* { dg-error "called from here" "" } */ q2(); /* { dg-error "called from here" "" } */ } diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr15349.c b/gcc/testsuite/gcc.dg/tree-ssa/pr15349.c index 5c440e6..080aa81 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/pr15349.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/pr15349.c @@ -22,5 +22,5 @@ foo (int a, int b) return t; } -/* { dg-final { scan-tree-dump-times "PHI" 1 "mergephi"} } */ -/* { dg-final { cleanup-tree-dump "mergephi" } } */ +/* { dg-final { scan-tree-dump-times "PHI" 1 "mergephi2"} } */ +/* { dg-final { cleanup-tree-dump "mergephi2" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr20701.c b/gcc/testsuite/gcc.dg/tree-ssa/pr20701.c index 708bee1..6721155 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/pr20701.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/pr20701.c @@ -1,30 +1,39 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-vrp1" } */ +/* { dg-options "-O2 -fdump-tree-vrp2 -fno-early-inlining" } */ typedef struct { int code; } *rtx; +static inline void *zero () +{ + return 0; +} +static inline int three () +{ + return 3; +} + int can_combine_p (rtx insn, rtx elt) { rtx set; - set = 0; - if (insn->code == 3) + set = zero (); + if (insn->code == three ()) set = insn; else { set = elt; - if (set == 0) + if (set == zero ()) return 0; } - if (set == 0) + if (set == zero ()) return 1; return 0; } -/* { dg-final { scan-tree-dump-times "Folding predicate.*to 0" 1 "vrp1" } } */ -/* { dg-final { cleanup-tree-dump "vrp1" } } */ +/* { dg-final { scan-tree-dump-times "Folding predicate.*to 0" 1 "vrp2" } } */ +/* { dg-final { cleanup-tree-dump "vrp2" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr21658.c b/gcc/testsuite/gcc.dg/tree-ssa/pr21658.c index 2fa45b4..16893b0 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/pr21658.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/pr21658.c @@ -17,5 +17,5 @@ f (void) link_error (); } -/* { dg-final { scan-tree-dump-times "Folded statement: if " 1 "ccp"} } */ -/* { dg-final { cleanup-tree-dump "ccp" } } */ +/* { dg-final { scan-tree-dump-times "Folded statement: if " 1 "ccp1"} } */ +/* { dg-final { cleanup-tree-dump "ccp1" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr25501.c b/gcc/testsuite/gcc.dg/tree-ssa/pr25501.c index aa70994..7fb2bcc 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/pr25501.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/pr25501.c @@ -32,5 +32,5 @@ foo (int a) return 13; } -/* { dg-final { scan-tree-dump-times "Removing basic block" 0 "mergephi"} } */ +/* { dg-final { scan-tree-dump-times "Removing basic block" 0 "mergephi1"} } */ /* { dg-final { cleanup-tree-dump "mergephi" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/tailrecursion-1.c b/gcc/testsuite/gcc.dg/tree-ssa/tailrecursion-1.c index 8802bc8..64de788 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/tailrecursion-1.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/tailrecursion-1.c @@ -8,5 +8,5 @@ t(int a) else return 0; } -/* { dg-final { scan-tree-dump-times "Eliminated tail recursion" 1 "tailr"} } */ -/* { dg-final { cleanup-tree-dump "tailr" } } */ +/* { dg-final { scan-tree-dump-times "Eliminated tail recursion" 1 "tailr1"} } */ +/* { dg-final { cleanup-tree-dump "tailr1" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/tailrecursion-2.c b/gcc/testsuite/gcc.dg/tree-ssa/tailrecursion-2.c index 9fe3af9..9ef4fdb 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/tailrecursion-2.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/tailrecursion-2.c @@ -9,5 +9,5 @@ t(char *a) else return 0; } -/* { dg-final { scan-tree-dump-times "Eliminated tail recursion" 1 "tailr"} } */ -/* { dg-final { cleanup-tree-dump "tailr" } } */ +/* { dg-final { scan-tree-dump-times "Eliminated tail recursion" 1 "tailr1"} } */ +/* { dg-final { cleanup-tree-dump "tailr1" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/tailrecursion-3.c b/gcc/testsuite/gcc.dg/tree-ssa/tailrecursion-3.c index ca727df..37b19af 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/tailrecursion-3.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/tailrecursion-3.c @@ -12,5 +12,5 @@ t(int a) r=r; return r; } -/* { dg-final { scan-tree-dump-times "Eliminated tail recursion" 1 "tailr"} } */ -/* { dg-final { cleanup-tree-dump "tailr" } } */ +/* { dg-final { scan-tree-dump-times "Eliminated tail recursion" 1 "tailr1"} } */ +/* { dg-final { cleanup-tree-dump "tailr1" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/tailrecursion-4.c b/gcc/testsuite/gcc.dg/tree-ssa/tailrecursion-4.c index bb43d76..34689e6 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/tailrecursion-4.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/tailrecursion-4.c @@ -14,5 +14,5 @@ t(int a) r=r; return r; } -/* { dg-final { scan-tree-dump-times "Eliminated tail recursion" 2 "tailr"} } */ -/* { dg-final { cleanup-tree-dump "tailr" } } */ +/* { dg-final { scan-tree-dump-times "Eliminated tail recursion" 2 "tailr1"} } */ +/* { dg-final { cleanup-tree-dump "tailr1" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/vrp05.c b/gcc/testsuite/gcc.dg/tree-ssa/vrp05.c index 201f8ee..7b8b61b 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/vrp05.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/vrp05.c @@ -1,19 +1,29 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-vrp1" } */ +/* { dg-options "-O2 -fdump-tree-vrp1 -fno-early-inlining" } */ + + +inline int ten() +{ + return 10; +} +inline int zero() +{ + return 0; +} foo (int k, int j) { - if (k >= 10) + if (k >= ten()) { if (j > k) { /* We should fold this to if (1). */ - if (j > 0) + if (j > zero()) return j; } } - return j; + return j+1; } /* { dg-final { scan-tree-dump-times "Folding predicate j_.*to 1" 1 "vrp1" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/vrp11.c b/gcc/testsuite/gcc.dg/tree-ssa/vrp11.c index d219856..69e3e74 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/vrp11.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/vrp11.c @@ -1,5 +1,11 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-vrp1" } */ +/* { dg-options "-O2 -fdump-tree-vrp1 -fno-early-inlining" } */ + +int +bounce (int arg) +{ + return arg; +} foo (int k, int j, int z) { @@ -8,13 +14,13 @@ foo (int k, int j, int z) if (j > k) { /* We should fold this to if (1). */ - if (j > z) + if (j > bounce (z)) return j; } } - return j; + return j+1; } -/* { dg-final { scan-tree-dump-times "Folding predicate.*to 1" 1 "vrp1" } } */ +/* { dg-final { scan-tree-dump-times "Folding predicate.*to 1" 1 "vrp2" } } */ /* { dg-final { cleanup-tree-dump "vrp1" } } */ |