Commit 6e62db84 by Sebastian Pop Committed by Sebastian Pop

Fix patterns in lim and dceloop testcases.

2009-07-30  Sebastian Pop  <sebastian.pop@amd.com>

	* gcc.dg/tree-ssa/20050314-1.c: Fix patterns for lim and dceloop.
	* gcc.dg/tree-ssa/loop-32.c: Same.
	* gcc.dg/tree-ssa/loop-33.c: Same.
	* gcc.dg/tree-ssa/loop-34.c: Same.
	* gcc.dg/tree-ssa/loop-35.c: Same.
	* gcc.dg/tree-ssa/loop-7.c: Same.
	* gcc.dg/tree-ssa/pr23109.c: Same.
	* gcc.dg/tree-ssa/restrict-2.c: Same.
	* gcc.dg/tree-ssa/restrict-3.c: Same.
	* gcc.dg/tree-ssa/ssa-lim-1.c: Same.
	* gcc.dg/tree-ssa/ssa-lim-2.c: Same.
	* gcc.dg/tree-ssa/ssa-lim-3.c: Same.
	* gcc.dg/tree-ssa/ssa-lim-6.c: Same.
	* gcc.dg/tree-ssa/structopt-1.c: Same.
	* gcc.dg/vect/dump-tree-dceloop-pr26359.c: Same.
	* gfortran.dg/pr32921.f: Same.

From-SVN: r150304
parent 99e0e30f
2009-07-30 Sebastian Pop <sebastian.pop@amd.com> 2009-07-30 Sebastian Pop <sebastian.pop@amd.com>
* gcc.dg/tree-ssa/20050314-1.c: Fix patterns for lim and dceloop.
* gcc.dg/tree-ssa/loop-32.c: Same.
* gcc.dg/tree-ssa/loop-33.c: Same.
* gcc.dg/tree-ssa/loop-34.c: Same.
* gcc.dg/tree-ssa/loop-35.c: Same.
* gcc.dg/tree-ssa/loop-7.c: Same.
* gcc.dg/tree-ssa/pr23109.c: Same.
* gcc.dg/tree-ssa/restrict-2.c: Same.
* gcc.dg/tree-ssa/restrict-3.c: Same.
* gcc.dg/tree-ssa/ssa-lim-1.c: Same.
* gcc.dg/tree-ssa/ssa-lim-2.c: Same.
* gcc.dg/tree-ssa/ssa-lim-3.c: Same.
* gcc.dg/tree-ssa/ssa-lim-6.c: Same.
* gcc.dg/tree-ssa/structopt-1.c: Same.
* gcc.dg/vect/dump-tree-dceloop-pr26359.c: Same.
* gfortran.dg/pr32921.f: Same.
2009-07-30 Sebastian Pop <sebastian.pop@amd.com>
* gcc.dg/graphite/graphite_autopar/force-parallel-1.c: New. * gcc.dg/graphite/graphite_autopar/force-parallel-1.c: New.
* gcc.dg/graphite/graphite_autopar/force-parallel-2.c: New. * gcc.dg/graphite/graphite_autopar/force-parallel-2.c: New.
* gcc.dg/graphite/graphite_autopar/force-parallel-3.c: New. * gcc.dg/graphite/graphite_autopar/force-parallel-3.c: New.
......
...@@ -17,5 +17,5 @@ void xxx (void) ...@@ -17,5 +17,5 @@ void xxx (void)
/* Store motion may be applied to the assignment to a[k], since sinf /* Store motion may be applied to the assignment to a[k], since sinf
cannot read nor write the memory. */ cannot read nor write the memory. */
/* { dg-final { scan-tree-dump-times "Moving statement" 1 "lim" } } */ /* { dg-final { scan-tree-dump-times "Moving statement" 1 "lim1" } } */
/* { dg-final { cleanup-tree-dump "lim" } } */ /* { dg-final { cleanup-tree-dump "lim\[1-2\]" } } */
...@@ -42,5 +42,5 @@ void test3(struct a *A) ...@@ -42,5 +42,5 @@ void test3(struct a *A)
} }
} }
/* { dg-final { scan-tree-dump-times "Executing store motion of" 3 "lim" } } */ /* { dg-final { scan-tree-dump-times "Executing store motion of" 3 "lim1" } } */
/* { dg-final { cleanup-tree-dump "lim" } } */ /* { dg-final { cleanup-tree-dump "lim\[1-2\]" } } */
...@@ -36,5 +36,5 @@ void test5(struct a *A, unsigned b) ...@@ -36,5 +36,5 @@ void test5(struct a *A, unsigned b)
} }
} }
/* { dg-final { scan-tree-dump-times "Executing store motion of" 4 "lim" { xfail lp64 } } } */ /* { dg-final { scan-tree-dump-times "Executing store motion of" 4 "lim1" { xfail lp64 } } } */
/* { dg-final { cleanup-tree-dump "lim" } } */ /* { dg-final { cleanup-tree-dump "lim\[1-2\]" } } */
...@@ -17,5 +17,5 @@ void f (int n) ...@@ -17,5 +17,5 @@ void f (int n)
} }
/* { dg-final { scan-tree-dump-times "Executing store motion of r" 6 "lim" } } */ /* { dg-final { scan-tree-dump-times "Executing store motion of r" 6 "lim1" } } */
/* { dg-final { cleanup-tree-dump "lim" } } */ /* { dg-final { cleanup-tree-dump "lim\[1-2\]" } } */
...@@ -60,6 +60,6 @@ void test4(struct a *A, unsigned long b) ...@@ -60,6 +60,6 @@ void test4(struct a *A, unsigned long b)
} }
} }
/* long index not hoisted for avr target PR 36561 */ /* long index not hoisted for avr target PR 36561 */
/* { dg-final { scan-tree-dump-times "Executing store motion of" 8 "lim" { xfail { "avr-*-*" } } } } */ /* { dg-final { scan-tree-dump-times "Executing store motion of" 8 "lim1" { xfail { "avr-*-*" } } } } */
/* { dg-final { scan-tree-dump-times "Executing store motion of" 6 "lim" { target { "avr-*-*" } } } } */ /* { dg-final { scan-tree-dump-times "Executing store motion of" 6 "lim1" { target { "avr-*-*" } } } } */
/* { dg-final { cleanup-tree-dump "lim" } } */ /* { dg-final { cleanup-tree-dump "lim\[1-2\]" } } */
...@@ -31,5 +31,5 @@ int xxx (void) ...@@ -31,5 +31,5 @@ int xxx (void)
Calls to cst_fun2 and pure_fun2 should not be, since calling Calls to cst_fun2 and pure_fun2 should not be, since calling
with k = 0 may be invalid. */ with k = 0 may be invalid. */
/* { dg-final { scan-tree-dump-times "Moving statement" 3 "lim" } } */ /* { dg-final { scan-tree-dump-times "Moving statement" 3 "lim1" } } */
/* { dg-final { cleanup-tree-dump "lim" } } */ /* { dg-final { cleanup-tree-dump "lim\[1-2\]" } } */
...@@ -29,8 +29,8 @@ int main() ...@@ -29,8 +29,8 @@ int main()
/* LIM only performs the transformation in the no-trapping-math case. In /* LIM only performs the transformation in the no-trapping-math case. In
the future we will do it for trapping-math as well in recip, check that the future we will do it for trapping-math as well in recip, check that
this is not wrongly optimized. */ this is not wrongly optimized. */
/* { dg-final { scan-tree-dump-not "reciptmp" "lim" } } */ /* { dg-final { scan-tree-dump-not "reciptmp" "lim1" } } */
/* { dg-final { scan-tree-dump-not "reciptmp" "recip" } } */ /* { dg-final { scan-tree-dump-not "reciptmp" "recip" } } */
/* { dg-final { cleanup-tree-dump "recip" } } */ /* { dg-final { cleanup-tree-dump "recip" } } */
/* { dg-final { cleanup-tree-dump "lim" } } */ /* { dg-final { cleanup-tree-dump "lim\[1-2\]" } } */
...@@ -10,5 +10,5 @@ void foo (float * __restrict__ a, float * __restrict__ b, int n, int j) ...@@ -10,5 +10,5 @@ void foo (float * __restrict__ a, float * __restrict__ b, int n, int j)
/* We should move the RHS of the store out of the loop. */ /* We should move the RHS of the store out of the loop. */
/* { dg-final { scan-tree-dump-times "Moving statement" 11 "lim" } } */ /* { dg-final { scan-tree-dump-times "Moving statement" 11 "lim1" } } */
/* { dg-final { cleanup-tree-dump "lim" } } */ /* { dg-final { cleanup-tree-dump "lim\[1-2\]" } } */
...@@ -14,5 +14,5 @@ void f(int * __restrict__ r, ...@@ -14,5 +14,5 @@ void f(int * __restrict__ r,
/* We should apply store motion to the store to *r. */ /* We should apply store motion to the store to *r. */
/* { dg-final { scan-tree-dump "Executing store motion of \\\*r" "lim" } } */ /* { dg-final { scan-tree-dump "Executing store motion of \\\*r" "lim1" } } */
/* { dg-final { cleanup-tree-dump "lim" } } */ /* { dg-final { cleanup-tree-dump "lim\[1-2\]" } } */
...@@ -18,5 +18,5 @@ quantum_toffoli (int control1, int control2, int target, ...@@ -18,5 +18,5 @@ quantum_toffoli (int control1, int control2, int target,
} }
} }
/* { dg-final { scan-tree-dump-times "1 <<" 3 "lim" } } */ /* { dg-final { scan-tree-dump-times "1 <<" 3 "lim1" } } */
/* { dg-final { cleanup-tree-dump "lim" } } */ /* { dg-final { cleanup-tree-dump "lim\[1-2\]" } } */
...@@ -18,5 +18,5 @@ int size) ...@@ -18,5 +18,5 @@ int size)
} }
} }
/* { dg-final { scan-tree-dump-times "1 <<" 3 "lim" } } */ /* { dg-final { scan-tree-dump-times "1 <<" 3 "lim1" } } */
/* { dg-final { cleanup-tree-dump "lim" } } */ /* { dg-final { cleanup-tree-dump "lim\[1-2\]" } } */
...@@ -9,6 +9,6 @@ void foo(int n) ...@@ -9,6 +9,6 @@ void foo(int n)
global.y += global.x*global.x; global.y += global.x*global.x;
} }
/* { dg-final { scan-tree-dump "Executing store motion of global.y" "lim" } } */ /* { dg-final { scan-tree-dump "Executing store motion of global.y" "lim1" } } */
/* { dg-final { scan-tree-dump "Moving statement.*global.x.*out of loop 1" "lim" } } */ /* { dg-final { scan-tree-dump "Moving statement.*global.x.*out of loop 1" "lim1" } } */
/* { dg-final { cleanup-tree-dump "lim" } } */ /* { dg-final { cleanup-tree-dump "lim\[1-2\]" } } */
...@@ -10,5 +10,5 @@ void foo(void) ...@@ -10,5 +10,5 @@ void foo(void)
y[j] = y[j] + a[i][j] * x[i]; y[j] = y[j] + a[i][j] * x[i];
} }
/* { dg-final { scan-tree-dump "Executing store motion of y" "lim" } } */ /* { dg-final { scan-tree-dump "Executing store motion of y" "lim1" } } */
/* { dg-final { cleanup-tree-dump "lim" } } */ /* { dg-final { cleanup-tree-dump "lim\[1-2\]" } } */
...@@ -10,6 +10,6 @@ int foo() { ...@@ -10,6 +10,6 @@ int foo() {
global.y += global.x*global.x; global.y += global.x*global.x;
} }
/* { dg-final { scan-tree-dump-times "Executing store motion of global.y" 1 "lim" } } */ /* { dg-final { scan-tree-dump-times "Executing store motion of global.y" 1 "lim1" } } */
/* XXX: We should also check for the load motion of global.x, but there is no easy way to do this. */ /* XXX: We should also check for the load motion of global.x, but there is no easy way to do this. */
/* { dg-final { cleanup-tree-dump "lim" } } */ /* { dg-final { cleanup-tree-dump "lim\[1-2\]" } } */
...@@ -11,6 +11,6 @@ foo () { ...@@ -11,6 +11,6 @@ foo () {
} }
} }
/* { dg-final { scan-tree-dump-times "Deleting : vect_" 0 "dceloop2" } } */ /* { dg-final { scan-tree-dump-times "Deleting : vect_" 0 "dceloop3" } } */
/* { dg-final { cleanup-tree-dump "dceloop\[1-2\]" } } */ /* { dg-final { cleanup-tree-dump "dceloop\[1-3\]" } } */
/* { dg-final { cleanup-tree-dump "vect" } } */ /* { dg-final { cleanup-tree-dump "vect" } } */
...@@ -45,6 +45,6 @@ ...@@ -45,6 +45,6 @@
RETURN RETURN
END END
! { dg-final { scan-tree-dump-times "stride" 4 "lim" } } ! { dg-final { scan-tree-dump-times "stride" 4 "lim1" } }
! { dg-final { cleanup-tree-dump "lim" } } ! { dg-final { cleanup-tree-dump "lim\[1-2\]" } }
! { dg-final { cleanup-modules "LES3D_DATA" } } ! { dg-final { cleanup-modules "LES3D_DATA" } }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment