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

Reply via email to