Hi! These tests had insane stack requirements, much larger than the usual 8/10/4/2MB RLIMIT_STACK limit defaults. When the variables are file scope, the exactly same optimizations happen (unlike some tests if N is lowered to half or more), so I've tested this on x86_64-linux and committed.
2011-12-06 Jakub Jelinek <ja...@redhat.com> PR libgomp/51132 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays to file scope. * testsuite/libgomp.graphite/force-parallel-3.c: Likewise. * testsuite/libgomp.graphite/force-parallel-6.c: Likewise. * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. * testsuite/libgomp.graphite/force-parallel-9.c: Likewise. --- libgomp/testsuite/libgomp.graphite/force-parallel-1.c.jj 2011-07-27 23:25:29.000000000 +0200 +++ libgomp/testsuite/libgomp.graphite/force-parallel-1.c 2011-12-06 15:25:40.426630782 +0100 @@ -1,9 +1,10 @@ void abort (void); +int x[10000000]; + void parloop (int N) { int i; - int x[10000000]; for (i = 0; i < N; i++) x[i] = i + 3; --- libgomp/testsuite/libgomp.graphite/force-parallel-3.c.jj 2009-08-19 17:45:42.000000000 +0200 +++ libgomp/testsuite/libgomp.graphite/force-parallel-3.c 2011-12-06 15:26:44.112271598 +0100 @@ -2,12 +2,12 @@ void abort (void); #define N 500 +int Z[2*N+2][2*N+2], B[2*N+2][2*N+2]; + void foo(void) { int i,j; - int Z[2*N+2][2*N+2], B[2*N+2][2*N+2]; - for (i = 0; i < 2*N+2; i++) for (j = 0; j < 2*N+2; j++) B[i][j] = Z[i][j] = i + j; --- libgomp/testsuite/libgomp.graphite/force-parallel-6.c.jj 2009-11-25 10:50:04.000000000 +0100 +++ libgomp/testsuite/libgomp.graphite/force-parallel-6.c 2011-12-06 15:27:13.539105510 +0100 @@ -1,10 +1,11 @@ #define N 500 +int X[2*N], Y[2*N], B[2*N]; +int A[2*N][2*N], C[2*N][2*N]; + int foo(void) { int i, j, k; - int X[2*N], Y[2*N], B[2*N]; - int A[2*N][2*N], C[2*N][2*N]; for (i = 1; i <= N; i++) { --- libgomp/testsuite/libgomp.graphite/force-parallel-7.c.jj 2009-08-19 17:45:42.000000000 +0200 +++ libgomp/testsuite/libgomp.graphite/force-parallel-7.c 2011-12-06 15:27:32.579998048 +0100 @@ -1,9 +1,10 @@ #define N 500 +int A[N+5][N+5][N+5]; + int foo(void) { int i, j, k; - int A[N+5][N+5][N+5]; /* Loop i: carried no dependency. */ for (i = 0; i < N; i++) --- libgomp/testsuite/libgomp.graphite/force-parallel-8.c.jj 2009-08-19 17:45:42.000000000 +0200 +++ libgomp/testsuite/libgomp.graphite/force-parallel-8.c 2011-12-06 15:28:23.896708694 +0100 @@ -1,9 +1,10 @@ #define N 1500 +int x[N][N], y[N]; + int foo(void) { int i, j; - int x[N][N], y[N]; for (i = 0; i < N; i++) { --- libgomp/testsuite/libgomp.graphite/force-parallel-9.c.jj 2009-08-19 17:45:42.000000000 +0200 +++ libgomp/testsuite/libgomp.graphite/force-parallel-9.c 2011-12-06 15:28:15.591755463 +0100 @@ -2,12 +2,12 @@ void abort (void); #define N 500 +int Z[2*N+2][2*N+2], B[2*N+2][2*N+2]; + void foo(void) { int i,j; - int Z[2*N+2][2*N+2], B[2*N+2][2*N+2]; - for (i = 0; i < 2*N+2; i++) for (j = 0; j < 2*N+2; j++) B[i][j] = Z[i][j] = i + j; Jakub