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:
parent
ab3306d23c
commit
a6860be9c8
4 changed files with 69 additions and 0 deletions
|
@ -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.
|
||||
|
|
28
gcc/testsuite/gcc.dg/parloops-exit-first-loop-alt-4.c
Normal file
28
gcc/testsuite/gcc.dg/parloops-exit-first-loop-alt-4.c
Normal 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" } } */
|
|
@ -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.
|
||||
|
|
33
libgomp/testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c
Normal file
33
libgomp/testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c
Normal 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);
|
||||
}
|
Loading…
Add table
Reference in a new issue