https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65594
--- Comment #6 from vries at gcc dot gnu.org --- (In reply to Jakub Jelinek from comment #5) > And use M instead of N in the outer two loops and define M to something > lower (100, 50 or similar)? Yep, that works: ... index 5071630..e9e4b56 100644 --- a/libgomp/testsuite/libgomp.graphite/force-parallel-6.c +++ b/libgomp/testsuite/libgomp.graphite/force-parallel-6.c @@ -1,4 +1,5 @@ #define N 500 +#define M 50 int X[2*N], Y[2*N], B[2*N]; int A[2*N][2*N], C[2*N][2*N]; @@ -7,10 +8,10 @@ int foo(void) { int i, j, k; - for (i = 0; i < N; i++) + for (i = 0; i < M; i++) { X[i] = Y[i] + 10; - for (j = 0; j < N; j++) + for (j = 0; j < M; j++) { B[j] = A[j][N]; for (k = 0; k < N; k++) ... The only tricky bit is that N is used as array index twice, but I don't think those need updating.