Add gcc.dg/parloops-exit-first-loop-alt-4.c

2015-06-13  Tom de Vries  <tom@codesourcery.com>

	* gcc.dg/parloops-exit-first-loop-alt-4.c: New test.

	* testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.

From-SVN: r224453
This commit is contained in:
Tom de Vries 2015-06-13 08:05:54 +00:00 committed by Tom de Vries
parent ab3306d23c
commit a6860be9c8
4 changed files with 69 additions and 0 deletions

View File

@ -1,3 +1,7 @@
2015-06-13 Tom de Vries <tom@codesourcery.com>
* gcc.dg/parloops-exit-first-loop-alt-4.c: New test.
2015-06-13 Tom de Vries <tom@codesourcery.com>
* gcc.dg/parloops-exit-first-loop-alt-2.c: Add comment.

View File

@ -0,0 +1,28 @@
/* { dg-do compile } */
/* { dg-require-effective-target pthread } */
/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-parloops" } */
/* Constant bound, reduction. */
#define N 4000
unsigned int *a;
unsigned int
f (void)
{
int i;
unsigned int sum = 1;
for (i = 0; i < N; ++i)
sum += a[i];
return sum;
}
/* Three array accesses:
- one in f._loopfn.0
- one in the parallel
- one in the low iteration count loop
Crucially, none for a peeled off last iteration following the parallel. */
/* { dg-final { scan-tree-dump-times "(?n)\\\* 4" 3 "parloops" } } */

View File

@ -1,3 +1,7 @@
2015-06-13 Tom de Vries <tom@codesourcery.com>
* testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
2015-06-13 Tom de Vries <tom@codesourcery.com>
* testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.

View File

@ -0,0 +1,33 @@
/* { dg-do run } */
/* { dg-options "-O2 -ftree-parallelize-loops=2" } */
/* Constant bound, reduction. */
#define N 4000
unsigned int *a;
unsigned int
f (void)
{
int i;
unsigned int sum = 1;
for (i = 0; i < N; ++i)
sum += a[i];
return sum;
}
int
main (void)
{
unsigned int res;
unsigned int array[N];
int i;
for (i = 0; i < N; ++i)
array[i] = i % 7;
a = &array[0];
res = f ();
return !(res == 11995);
}