aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/testsuite/ChangeLog15
-rw-r--r--gcc/testsuite/gcc.dg/always_inline3.c2
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/pr15349.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/pr20701.c23
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/pr21658.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/pr25501.c2
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/tailrecursion-1.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/tailrecursion-2.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/tailrecursion-3.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/tailrecursion-4.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/vrp05.c18
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/vrp11.c14
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" } } */