Commit ba4a11ba by Uros Bizjak Committed by Uros Bizjak

20050314-1.c: Dump and cleanup lim1 pass only.

	* gcc.dg/tree-ssa/20050314-1.c: Dump and cleanup lim1 pass only.
	* gcc.dg/tree-ssa/pr23109.c: Ditto.
	* gcc.dg/tree-ssa/loop-7.c: Ditto.
	* gcc.dg/tree-ssa/loop-32.c: Ditto.
	* gcc.dg/tree-ssa/loop-33.c: Ditto.
	* gcc.dg/tree-ssa/loop-34.c: Ditto.
	* gcc.dg/tree-ssa/loop-35.c: Ditto.
	* gcc.dg/tree-ssa/restrict-3.c: Ditto.
	* gcc.dg/tree-ssa/ssa-lim-2.c: Ditto.
	* gcc.dg/tree-ssa/ssa-lim-1.c: Ditto.
	* gcc.dg/tree-ssa/ssa-lim-3.c: Ditto.
	* gcc.dg/tree-ssa/ssa-lim-6.c: Ditto.
	* gcc.dg/tree-ssa/structopt-1.c: Ditto.
	* g++.dg/tree-ssa/pr33615.C: Ditto.
	* g++.dg/tree-ssa/restrict1.C: Ditto.
	* c-c++-common/restrict-2.c: Ditto.
	* gfortran.dg/pr32921.f: Ditto.
	* gcc.dg/tree-ssa/ssa-dse-10.c: Dump and cleanup dse1 pass only.
	* gcc.dg/fold-compare-2.c: Dump and cleanup vrp1 pass only.
	* gcc.dg/tree-ssa/vrp47.c: Ditto.
	* gcc.dg/tree-ssa/pr25501.c: Dump and cleanup mergephi1 pass only.
	* gcc.dg/tree-ssa/pr15349.c: Dump and cleanup mergephi2 pass only.
	* gcc.dg/tree-ssa/tailrecursion-1.c: Dump and cleanup tailr1 pass only.
	* gcc.dg/tree-ssa/tailrecursion-2.c: Ditto.
	* gcc.dg/tree-ssa/tailrecursion-3.c: Ditto.
	* gcc.dg/tree-ssa/tailrecursion-4.c: Ditto.
	* gcc.dg/tree-ssa/tailrecursion-6.c: Ditto.

From-SVN: r176978
parent 360dffa3
2011-07-31 Uros Bizjak <ubizjak@gmail.com> 2011-07-31 Uros Bizjak <ubizjak@gmail.com>
* gcc.dg/tree-ssa/20050314-1.c: Dump and cleanup lim1 pass only.
* gcc.dg/tree-ssa/pr23109.c: Ditto.
* gcc.dg/tree-ssa/loop-7.c: Ditto.
* gcc.dg/tree-ssa/loop-32.c: Ditto.
* gcc.dg/tree-ssa/loop-33.c: Ditto.
* gcc.dg/tree-ssa/loop-34.c: Ditto.
* gcc.dg/tree-ssa/loop-35.c: Ditto.
* gcc.dg/tree-ssa/restrict-3.c: Ditto.
* gcc.dg/tree-ssa/ssa-lim-2.c: Ditto.
* gcc.dg/tree-ssa/ssa-lim-1.c: Ditto.
* gcc.dg/tree-ssa/ssa-lim-3.c: Ditto.
* gcc.dg/tree-ssa/ssa-lim-6.c: Ditto.
* gcc.dg/tree-ssa/structopt-1.c: Ditto.
* g++.dg/tree-ssa/pr33615.C: Ditto.
* g++.dg/tree-ssa/restrict1.C: Ditto.
* c-c++-common/restrict-2.c: Ditto.
* gfortran.dg/pr32921.f: Ditto.
* gcc.dg/tree-ssa/ssa-dse-10.c: Dump and cleanup dse1 pass only.
* gcc.dg/fold-compare-2.c: Dump and cleanup vrp1 pass only.
* gcc.dg/tree-ssa/vrp47.c: Ditto.
* gcc.dg/tree-ssa/pr25501.c: Dump and cleanup mergephi1 pass only.
* gcc.dg/tree-ssa/pr15349.c: Dump and cleanup mergephi2 pass only.
* gcc.dg/tree-ssa/tailrecursion-1.c: Dump and cleanup tailr1 pass only.
* gcc.dg/tree-ssa/tailrecursion-2.c: Ditto.
* gcc.dg/tree-ssa/tailrecursion-3.c: Ditto.
* gcc.dg/tree-ssa/tailrecursion-4.c: Ditto.
* gcc.dg/tree-ssa/tailrecursion-6.c: Ditto.
2011-07-31 Uros Bizjak <ubizjak@gmail.com>
* lib/gcc-dg.exp (cleanup-dump): Also remove .exe. and * lib/gcc-dg.exp (cleanup-dump): Also remove .exe. and
.exe.ltrans[0-9]*. dump files. .exe.ltrans[0-9]*. dump files.
......
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-O -fno-strict-aliasing -fdump-tree-lim-details" } */ /* { dg-options "-O -fno-strict-aliasing -fdump-tree-lim1-details" } */
void foo (float * __restrict__ a, float * __restrict__ b, int n, int j) void foo (float * __restrict__ a, float * __restrict__ b, int n, int j)
{ {
...@@ -11,4 +11,4 @@ void foo (float * __restrict__ a, float * __restrict__ b, int n, int j) ...@@ -11,4 +11,4 @@ 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 "lim1" } } */ /* { dg-final { scan-tree-dump-times "Moving statement" 11 "lim1" } } */
/* { dg-final { cleanup-tree-dump "lim\[1-2\]" } } */ /* { dg-final { cleanup-tree-dump "lim1" } } */
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-O -fnon-call-exceptions -fdump-tree-lim-details -w" } */ /* { dg-options "-O -fnon-call-exceptions -fdump-tree-lim1-details -w" } */
extern volatile int y; extern volatile int y;
...@@ -17,4 +17,4 @@ foo (double a, int x) ...@@ -17,4 +17,4 @@ foo (double a, int x)
// The expression 1.0 / 0.0 should not be treated as a loop invariant // The expression 1.0 / 0.0 should not be treated as a loop invariant
// if it may throw an exception. // if it may throw an exception.
// { dg-final { scan-tree-dump-times "invariant up to" 0 "lim1" } } // { dg-final { scan-tree-dump-times "invariant up to" 0 "lim1" } }
// { dg-final { cleanup-tree-dump "lim\[1-2\]" } } // { dg-final { cleanup-tree-dump "lim1" } }
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-lim-details" } */ /* { dg-options "-O2 -fdump-tree-lim1-details" } */
struct Foo struct Foo
{ {
......
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-vrp" } */ /* { dg-options "-O2 -fdump-tree-vrp1" } */
extern void abort (void); extern void abort (void);
...@@ -16,5 +16,5 @@ main(void) ...@@ -16,5 +16,5 @@ main(void)
} }
/* { dg-final { scan-tree-dump-times "Removing basic block" 2 "vrp1" } } */ /* { dg-final { scan-tree-dump-times "Removing basic block" 2 "vrp1" } } */
/* { dg-final { cleanup-tree-dump "vrp\[1-2\]" } } */ /* { dg-final { cleanup-tree-dump "vrp1" } } */
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-O1 -fdump-tree-lim-details" } */ /* { dg-options "-O1 -fdump-tree-lim1-details" } */
float a[100]; float a[100];
...@@ -18,4 +18,4 @@ void xxx (void) ...@@ -18,4 +18,4 @@ void xxx (void)
cannot read nor write the memory. */ cannot read nor write the memory. */
/* { dg-final { scan-tree-dump-times "Moving statement" 1 "lim1" } } */ /* { dg-final { scan-tree-dump-times "Moving statement" 1 "lim1" } } */
/* { dg-final { cleanup-tree-dump "lim\[1-2\]" } } */ /* { dg-final { cleanup-tree-dump "lim1" } } */
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-lim-details" } */ /* { dg-options "-O2 -fdump-tree-lim1-details" } */
int x; int x;
int a[100]; int a[100];
...@@ -43,4 +43,4 @@ void test3(struct a *A) ...@@ -43,4 +43,4 @@ void test3(struct a *A)
} }
/* { dg-final { scan-tree-dump-times "Executing store motion of" 3 "lim1" } } */ /* { dg-final { scan-tree-dump-times "Executing store motion of" 3 "lim1" } } */
/* { dg-final { cleanup-tree-dump "lim\[1-2\]" } } */ /* { dg-final { cleanup-tree-dump "lim1" } } */
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-lim-details" } */ /* { dg-options "-O2 -fdump-tree-lim1-details" } */
int x; int x;
int a[100]; int a[100];
...@@ -37,4 +37,4 @@ void test5(struct a *A, unsigned b) ...@@ -37,4 +37,4 @@ void test5(struct a *A, unsigned b)
} }
/* { dg-final { scan-tree-dump-times "Executing store motion of" 4 "lim1" { xfail lp64 } } } */ /* { dg-final { scan-tree-dump-times "Executing store motion of" 4 "lim1" { xfail lp64 } } } */
/* { dg-final { cleanup-tree-dump "lim\[1-2\]" } } */ /* { dg-final { cleanup-tree-dump "lim1" } } */
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-lim-details" } */ /* { dg-options "-O2 -fdump-tree-lim1-details" } */
int r[6]; int r[6];
...@@ -18,4 +18,4 @@ void f (int n) ...@@ -18,4 +18,4 @@ void f (int n)
/* { dg-final { scan-tree-dump-times "Executing store motion of r" 6 "lim1" } } */ /* { dg-final { scan-tree-dump-times "Executing store motion of r" 6 "lim1" } } */
/* { dg-final { cleanup-tree-dump "lim\[1-2\]" } } */ /* { dg-final { cleanup-tree-dump "lim1" } } */
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-lim-details" } */ /* { dg-options "-O2 -fdump-tree-lim1-details" } */
int x; int x;
int a[100]; int a[100];
...@@ -62,4 +62,4 @@ void test4(struct a *A, unsigned long b) ...@@ -62,4 +62,4 @@ 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 "lim1" { 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 "lim1" { target { "avr-*-*" } } } } */ /* { dg-final { scan-tree-dump-times "Executing store motion of" 6 "lim1" { target { "avr-*-*" } } } } */
/* { dg-final { cleanup-tree-dump "lim\[1-2\]" } } */ /* { dg-final { cleanup-tree-dump "lim1" } } */
/* PR tree-optimization/19828 */ /* PR tree-optimization/19828 */
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-O1 -fdump-tree-lim-details" } */ /* { dg-options "-O1 -fdump-tree-lim1-details" } */
int cst_fun1 (int) __attribute__((__const__)); int cst_fun1 (int) __attribute__((__const__));
int cst_fun2 (int) __attribute__((__const__)); int cst_fun2 (int) __attribute__((__const__));
...@@ -32,4 +32,4 @@ int xxx (void) ...@@ -32,4 +32,4 @@ int xxx (void)
with k = 0 may be invalid. */ with k = 0 may be invalid. */
/* { dg-final { scan-tree-dump-times "Moving statement" 2 "lim1" } } */ /* { dg-final { scan-tree-dump-times "Moving statement" 2 "lim1" } } */
/* { dg-final { cleanup-tree-dump "lim\[1-2\]" } } */ /* { dg-final { cleanup-tree-dump "lim1" } } */
/* PR 15349. Merge two PHI nodes. */ /* PR 15349. Merge two PHI nodes. */
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-O1 -fdump-tree-mergephi" } */ /* { dg-options "-O1 -fdump-tree-mergephi2" } */
int int
foo (int a, int b) foo (int a, int b)
...@@ -23,4 +23,4 @@ foo (int a, int b) ...@@ -23,4 +23,4 @@ foo (int a, int b)
} }
/* { dg-final { scan-tree-dump-times "PHI" 1 "mergephi2"} } */ /* { dg-final { scan-tree-dump-times "PHI" 1 "mergephi2"} } */
/* { dg-final { cleanup-tree-dump "mergephi\[1-2\]" } } */ /* { dg-final { cleanup-tree-dump "mergephi2" } } */
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-O2 -funsafe-math-optimizations -ftrapping-math -fdump-tree-recip -fdump-tree-lim" } */ /* { dg-options "-O2 -funsafe-math-optimizations -ftrapping-math -fdump-tree-recip -fdump-tree-lim1" } */
/* { dg-warning "-fassociative-math disabled" "" { target *-*-* } 1 } */ /* { dg-warning "-fassociative-math disabled" "" { target *-*-* } 1 } */
double F[2] = { 0., 0. }, e = 0.; double F[2] = { 0., 0. }, e = 0.;
...@@ -32,5 +32,5 @@ int main() ...@@ -32,5 +32,5 @@ int main()
/* { dg-final { scan-tree-dump-not "reciptmp" "lim1" } } */ /* { 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\[1-2\]" } } */ /* { dg-final { cleanup-tree-dump "lim1" } } */
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
actually merged, causing a segfault later. Make sure that does not actually merged, causing a segfault later. Make sure that does not
happen any more. */ happen any more. */
/* { dg-options "-O1 -fdump-tree-mergephi" } */ /* { dg-options "-O1 -fdump-tree-mergephi1" } */
int int
foo (int a) foo (int a)
...@@ -33,4 +33,4 @@ foo (int a) ...@@ -33,4 +33,4 @@ foo (int a)
} }
/* { dg-final { scan-tree-dump-times "Removing basic block" 0 "mergephi1"} } */ /* { dg-final { scan-tree-dump-times "Removing basic block" 0 "mergephi1"} } */
/* { dg-final { cleanup-tree-dump "mergephi\[1-2\]" } } */ /* { dg-final { cleanup-tree-dump "mergephi1" } } */
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-O -fno-strict-aliasing -fdump-tree-lim-details" } */ /* { dg-options "-O -fno-strict-aliasing -fdump-tree-lim1-details" } */
void f(int * __restrict__ r, void f(int * __restrict__ r,
int a[__restrict__ 16][16], int a[__restrict__ 16][16],
...@@ -15,4 +15,4 @@ void f(int * __restrict__ r, ...@@ -15,4 +15,4 @@ 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" "lim1" } } */ /* { dg-final { scan-tree-dump "Executing store motion of \\\*r" "lim1" } } */
/* { dg-final { cleanup-tree-dump "lim\[1-2\]" } } */ /* { dg-final { cleanup-tree-dump "lim1" } } */
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-O -w -fdump-tree-dse-vops" } */ /* { dg-options "-O -w -fdump-tree-dse1-vops" } */
__extension__ typedef __SIZE_TYPE__ size_t; __extension__ typedef __SIZE_TYPE__ size_t;
typedef struct _IO_FILE FILE; typedef struct _IO_FILE FILE;
...@@ -1520,4 +1520,4 @@ void func_encode(void) ...@@ -1520,4 +1520,4 @@ void func_encode(void)
} }
/* { dg-final { scan-tree-dump-times " xxxinfo = {}" 1 "dse1"} } */ /* { dg-final { scan-tree-dump-times " xxxinfo = {}" 1 "dse1"} } */
/* { dg-final { cleanup-tree-dump "dse\[1-2\]" } } */ /* { dg-final { cleanup-tree-dump "dse1" } } */
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-O -fdump-tree-lim" } */ /* { dg-options "-O -fdump-tree-lim1" } */
/* This is a variant that does cause fold to place a cast to /* This is a variant that does cause fold to place a cast to
int before testing bit 1. */ int before testing bit 1. */
...@@ -19,4 +19,4 @@ quantum_toffoli (int control1, int control2, int target, ...@@ -19,4 +19,4 @@ quantum_toffoli (int control1, int control2, int target,
} }
/* { dg-final { scan-tree-dump-times "1 <<" 3 "lim1" } } */ /* { dg-final { scan-tree-dump-times "1 <<" 3 "lim1" } } */
/* { dg-final { cleanup-tree-dump "lim\[1-2\]" } } */ /* { dg-final { cleanup-tree-dump "lim1" } } */
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-O -fdump-tree-lim" } */ /* { dg-options "-O -fdump-tree-lim1" } */
/* This is a variant that doesn't cause fold to place a cast to /* This is a variant that doesn't cause fold to place a cast to
int before testing bit 1. */ int before testing bit 1. */
...@@ -19,4 +19,4 @@ int size) ...@@ -19,4 +19,4 @@ int size)
} }
/* { dg-final { scan-tree-dump-times "1 <<" 3 "lim1" } } */ /* { dg-final { scan-tree-dump-times "1 <<" 3 "lim1" } } */
/* { dg-final { cleanup-tree-dump "lim\[1-2\]" } } */ /* { dg-final { cleanup-tree-dump "lim1" } } */
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-O -fdump-tree-lim-details" } */ /* { dg-options "-O -fdump-tree-lim1-details" } */
struct { int x; int y; } global; struct { int x; int y; } global;
void foo(int n) void foo(int n)
...@@ -11,4 +11,4 @@ void foo(int n) ...@@ -11,4 +11,4 @@ void foo(int n)
/* { dg-final { scan-tree-dump "Executing store motion of global.y" "lim1" } } */ /* { 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" "lim1" } } */ /* { dg-final { scan-tree-dump "Moving statement.*global.x.*out of loop 1" "lim1" } } */
/* { dg-final { cleanup-tree-dump "lim\[1-2\]" } } */ /* { dg-final { cleanup-tree-dump "lim1" } } */
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-lim-details" } */ /* { dg-options "-O2 -fdump-tree-lim1-details" } */
double a[16][64], y[64], x[16]; double a[16][64], y[64], x[16];
void foo(void) void foo(void)
...@@ -11,4 +11,4 @@ void foo(void) ...@@ -11,4 +11,4 @@ void foo(void)
} }
/* { dg-final { scan-tree-dump "Executing store motion of y" "lim1" } } */ /* { dg-final { scan-tree-dump "Executing store motion of y" "lim1" } } */
/* { dg-final { cleanup-tree-dump "lim\[1-2\]" } } */ /* { dg-final { cleanup-tree-dump "lim1" } } */
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-lim-details" } */ /* { dg-options "-O2 -fdump-tree-lim1-details" } */
int x; int y; int x; int y;
struct { int x; int y; } global; struct { int x; int y; } global;
int foo() { int foo() {
...@@ -12,4 +12,4 @@ int foo() { ...@@ -12,4 +12,4 @@ int foo() {
/* { dg-final { scan-tree-dump-times "Executing store motion of global.y" 1 "lim1" } } */ /* { 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\[1-2\]" } } */ /* { dg-final { cleanup-tree-dump "lim1" } } */
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-O1 -foptimize-sibling-calls -fdump-tree-tailr-details" } */ /* { dg-options "-O1 -foptimize-sibling-calls -fdump-tree-tailr1-details" } */
int int
t(int a) t(int a)
{ {
...@@ -9,4 +9,4 @@ t(int a) ...@@ -9,4 +9,4 @@ t(int a)
return 0; return 0;
} }
/* { dg-final { scan-tree-dump-times "Eliminated tail recursion" 1 "tailr1"} } */ /* { dg-final { scan-tree-dump-times "Eliminated tail recursion" 1 "tailr1"} } */
/* { dg-final { cleanup-tree-dump "tailr\[1-2\]" } } */ /* { dg-final { cleanup-tree-dump "tailr1" } } */
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-O1 -foptimize-sibling-calls -fdump-tree-tailr-details" } */ /* { dg-options "-O1 -foptimize-sibling-calls -fdump-tree-tailr1-details" } */
int int
t(char *a) t(char *a)
{ {
...@@ -10,4 +10,4 @@ t(char *a) ...@@ -10,4 +10,4 @@ t(char *a)
return 0; return 0;
} }
/* { dg-final { scan-tree-dump-times "Eliminated tail recursion" 1 "tailr1"} } */ /* { dg-final { scan-tree-dump-times "Eliminated tail recursion" 1 "tailr1"} } */
/* { dg-final { cleanup-tree-dump "tailr\[1-2\]" } } */ /* { dg-final { cleanup-tree-dump "tailr1" } } */
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-O1 -foptimize-sibling-calls -fdump-tree-tailr-details" } */ /* { dg-options "-O1 -foptimize-sibling-calls -fdump-tree-tailr1-details" } */
int int
t(int a) t(int a)
{ {
...@@ -13,4 +13,4 @@ t(int a) ...@@ -13,4 +13,4 @@ t(int a)
return r; return r;
} }
/* { dg-final { scan-tree-dump-times "Eliminated tail recursion" 1 "tailr1"} } */ /* { dg-final { scan-tree-dump-times "Eliminated tail recursion" 1 "tailr1"} } */
/* { dg-final { cleanup-tree-dump "tailr\[1-2\]" } } */ /* { dg-final { cleanup-tree-dump "tailr1" } } */
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-O1 -foptimize-sibling-calls -fdump-tree-tailr-details" } */ /* { dg-options "-O1 -foptimize-sibling-calls -fdump-tree-tailr1-details" } */
int int
t(int a) t(int a)
{ {
...@@ -15,4 +15,4 @@ t(int a) ...@@ -15,4 +15,4 @@ t(int a)
return r; return r;
} }
/* { dg-final { scan-tree-dump-times "Eliminated tail recursion" 2 "tailr1"} } */ /* { dg-final { scan-tree-dump-times "Eliminated tail recursion" 2 "tailr1"} } */
/* { dg-final { cleanup-tree-dump "tailr\[1-2\]" } } */ /* { dg-final { cleanup-tree-dump "tailr1" } } */
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-O1 -foptimize-sibling-calls -fdump-tree-tailr-details" } */ /* { dg-options "-O1 -foptimize-sibling-calls -fdump-tree-tailr1-details" } */
int int
foo (int a) foo (int a)
{ {
...@@ -9,4 +9,4 @@ foo (int a) ...@@ -9,4 +9,4 @@ foo (int a)
return 0; return 0;
} }
/* { dg-final { scan-tree-dump-times "Eliminated tail recursion" 1 "tailr1"} } */ /* { dg-final { scan-tree-dump-times "Eliminated tail recursion" 1 "tailr1"} } */
/* { dg-final { cleanup-tree-dump "tailr\[1-2\]" } } */ /* { dg-final { cleanup-tree-dump "tailr1" } } */
...@@ -4,8 +4,8 @@ ...@@ -4,8 +4,8 @@
jumps when evaluating an && condition. VRP is not able to optimize jumps when evaluating an && condition. VRP is not able to optimize
this. */ this. */
/* { dg-do compile { target { ! "mips*-*-* s390*-*-* avr-*-* mn10300-*-*" } } } */ /* { dg-do compile { target { ! "mips*-*-* s390*-*-* avr-*-* mn10300-*-*" } } } */
/* { dg-options "-O2 -fdump-tree-vrp -fdump-tree-dom" } */ /* { dg-options "-O2 -fdump-tree-vrp1 -fdump-tree-dom1" } */
/* { dg-options "-O2 -fdump-tree-vrp -fdump-tree-dom -march=i586" { target { i?86-*-* && ilp32 } } } */ /* { dg-options "-O2 -fdump-tree-vrp1 -fdump-tree-dom1 -march=i586" { target { i?86-*-* && ilp32 } } } */
int h(int x, int y) int h(int x, int y)
{ {
...@@ -44,5 +44,5 @@ int f(int x) ...@@ -44,5 +44,5 @@ int f(int x)
/* { dg-final { scan-tree-dump-times "x\[^ \]* \[|\] y" 1 "vrp1" } } */ /* { dg-final { scan-tree-dump-times "x\[^ \]* \[|\] y" 1 "vrp1" } } */
/* { dg-final { scan-tree-dump-times "x\[^ \]* \\^ 1" 1 "vrp1" } } */ /* { dg-final { scan-tree-dump-times "x\[^ \]* \\^ 1" 1 "vrp1" } } */
/* { dg-final { cleanup-tree-dump "vrp\[0-9\]" } } */ /* { dg-final { cleanup-tree-dump "vrp1" } } */
/* { dg-final { cleanup-tree-dump "dom\[0-9\]" } } */ /* { dg-final { cleanup-tree-dump "dom1" } } */
! { dg-do compile } ! { dg-do compile }
! { dg-options "-O2 -fdump-tree-lim" } ! { dg-options "-O2 -fdump-tree-lim1" }
! gfortran -c -m32 -O2 -S junk.f ! gfortran -c -m32 -O2 -S junk.f
! !
MODULE LES3D_DATA MODULE LES3D_DATA
...@@ -46,5 +46,5 @@ ...@@ -46,5 +46,5 @@
RETURN RETURN
END END
! { dg-final { scan-tree-dump-times "stride" 4 "lim1" } } ! { dg-final { scan-tree-dump-times "stride" 4 "lim1" } }
! { dg-final { cleanup-tree-dump "lim\[1-2\]" } } ! { dg-final { cleanup-tree-dump "lim1" } }
! { 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