Hi! Committed to gomp-4_0-branch in r231738:
commit d0b110f2163a5b186f15d05c9bfc6f51a42d652c Merge: 2a5a682 565bc8f Author: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Thu Dec 17 07:11:02 2015 +0000 svn merge -r 231118:231689 svn+ssh://gcc.gnu.org/svn/gcc/trunk git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@231738 138bc75d-0d04-0410-961f-82ee72b054a4 This merge commit imports the trunk regressions that gcc/testsuite/ Cilk+ testing is no longer run for build-tree testing, <http://news.gmane.org/find-root.php?message_id=%3C877fkfhd9w.fsf%40kepler.schwinge.homeip.net%3E>, and the libgomp.oacc-c-c++-common/declare-4.c compilation regression, <http://news.gmane.org/find-root.php?message_id=%3C87mvtapdp0.fsf%40kepler.schwinge.homeip.net%3E>. The merge commit also includes a few new test cases (ChangeLog fixed in r231739): 2015-12-17 Tom de Vries <t...@codesourcery.com> * c-c++-common/goacc/kernels-offload-alias-2.c: New test. * c-c++-common/goacc/kernels-offload-alias-3.c: New test. * c-c++-common/goacc/kernels-offload-alias-4.c: New test. * c-c++-common/goacc/kernels-offload-alias-5.c: New test. * c-c++-common/goacc/kernels-offload-alias-6.c: New test. * c-c++-common/goacc/kernels-offload-alias.c: New test. diff --cc gcc/testsuite/c-c++-common/goacc/kernels-offload-alias-2.c index 0000000,0000000..ae829dc new file mode 100644 --- /dev/null +++ gcc/testsuite/c-c++-common/goacc/kernels-offload-alias-2.c @@@ -1,0 -1,0 +1,24 @@@ ++/* { dg-additional-options "-O2 -foffload-alias=pointer" } */ ++/* { dg-additional-options "-fdump-tree-ealias-all -fdump-tree-optimized" } */ ++ ++#define N 2 ++ ++void ++foo (void) ++{ ++ unsigned int a[N]; ++ unsigned int *p = &a[0]; ++ ++#pragma acc kernels pcopyin (a, p[0:2]) ++ { ++ a[0] = 0; ++ *p = 1; ++ } ++} ++ ++/* { dg-final { scan-tree-dump-times " = 0" 1 "optimized" } } */ ++ ++/* { dg-final { scan-tree-dump-times "clique 1 base 1" 2 "ealias" } } */ ++/* { dg-final { scan-tree-dump-times "clique 1 base 2" 1 "ealias" } } */ ++/* { dg-final { scan-tree-dump-times "clique 1 base 3" 1 "ealias" } } */ ++/* { dg-final { scan-tree-dump-times "(?n)clique .* base .*" 4 "ealias" } } */ diff --cc gcc/testsuite/c-c++-common/goacc/kernels-offload-alias-3.c index 0000000,0000000..2eb009e new file mode 100644 --- /dev/null +++ gcc/testsuite/c-c++-common/goacc/kernels-offload-alias-3.c @@@ -1,0 -1,0 +1,22 @@@ ++/* { dg-additional-options "-O2 -foffload-alias=pointer" } */ ++/* { dg-additional-options "-fdump-tree-ealias-all -fdump-tree-optimized" } */ ++ ++void ++foo (int *a) ++{ ++ int *p = a; ++ ++#pragma acc kernels pcopyin (a[0:1], p[0:1]) ++ { ++ *a = 0; ++ *p = 1; ++ } ++} ++ ++/* { dg-final { scan-tree-dump-times " = 0" 1 "optimized" } } */ ++ ++/* { dg-final { scan-tree-dump-times "clique 1 base 1" 2 "ealias" } } */ ++/* { dg-final { scan-tree-dump-times "clique 1 base 2" 1 "ealias" } } */ ++/* { dg-final { scan-tree-dump-times "clique 1 base 3" 1 "ealias" } } */ ++/* { dg-final { scan-tree-dump-times "(?n)clique .* base .*" 4 "ealias" } } */ ++ diff --cc gcc/testsuite/c-c++-common/goacc/kernels-offload-alias-4.c index 0000000,0000000..bb5a3c3 new file mode 100644 --- /dev/null +++ gcc/testsuite/c-c++-common/goacc/kernels-offload-alias-4.c @@@ -1,0 -1,0 +1,26 @@@ ++/* { dg-additional-options "-O2 -foffload-alias=pointer" } */ ++/* { dg-additional-options "-fdump-tree-ealias-all -fdump-tree-optimized" } */ ++ ++typedef __SIZE_TYPE__ size_t; ++extern void *acc_copyin (void *, size_t); ++ ++void ++foo (void) ++{ ++ int a = 2; ++ int *p = (int *)acc_copyin (&a, sizeof (a)); ++ ++#pragma acc kernels deviceptr (p) pcopy(a) ++ { ++ a = 0; ++ *p = 1; ++ } ++} ++ ++/* { dg-final { scan-tree-dump-times " = 0" 1 "optimized" } } */ ++ ++/* { dg-final { scan-tree-dump-times "clique 1 base 1" 2 "ealias" } } */ ++/* { dg-final { scan-tree-dump-times "clique 1 base 2" 1 "ealias" } } */ ++/* { dg-final { scan-tree-dump-times "clique 1 base 3" 1 "ealias" } } */ ++/* { dg-final { scan-tree-dump-times "(?n)clique .* base .*" 4 "ealias" } } */ ++ diff --cc gcc/testsuite/c-c++-common/goacc/kernels-offload-alias-5.c index 0000000,0000000..5e076c0 new file mode 100644 --- /dev/null +++ gcc/testsuite/c-c++-common/goacc/kernels-offload-alias-5.c @@@ -1,0 -1,0 +1,27 @@@ ++/* { dg-additional-options "-O2 -foffload-alias=pointer" } */ ++/* { dg-additional-options "-fdump-tree-ealias-all -fdump-tree-optimized" } */ ++ ++typedef __SIZE_TYPE__ size_t; ++extern void *acc_copyin (void *, size_t); ++ ++#define N 2 ++ ++void ++foo (void) ++{ ++ int a[N]; ++ int *p = (int *)acc_copyin (&a[0], sizeof (a)); ++ ++#pragma acc kernels deviceptr (p) pcopy(a) ++ { ++ a[0] = 0; ++ *p = 1; ++ } ++} ++ ++/* { dg-final { scan-tree-dump-times " = 0" 1 "optimized" } } */ ++ ++/* { dg-final { scan-tree-dump-times "clique 1 base 1" 2 "ealias" } } */ ++/* { dg-final { scan-tree-dump-times "clique 1 base 2" 1 "ealias" } } */ ++/* { dg-final { scan-tree-dump-times "clique 1 base 3" 1 "ealias" } } */ ++/* { dg-final { scan-tree-dump-times "(?n)clique .* base .*" 4 "ealias" } } */ diff --cc gcc/testsuite/c-c++-common/goacc/kernels-offload-alias-6.c index 0000000,0000000..cb5d189 new file mode 100644 --- /dev/null +++ gcc/testsuite/c-c++-common/goacc/kernels-offload-alias-6.c @@@ -1,0 -1,0 +1,25 @@@ ++/* { dg-additional-options "-O2 -foffload-alias=pointer" } */ ++/* { dg-additional-options "-fdump-tree-ealias-all -fdump-tree-optimized" } */ ++ ++typedef __SIZE_TYPE__ size_t; ++extern void *acc_copyin (void *, size_t); ++ ++void ++foo (int *a, size_t n) ++{ ++ int *p = (int *)acc_copyin (&a, n); ++ ++#pragma acc kernels deviceptr (p) pcopy(a[0:n]) ++ { ++ a = 0; ++ *p = 1; ++ } ++} ++ ++/* { dg-final { scan-tree-dump-times "(?n)\\*.* = 0" 1 "optimized" } } */ ++ ++/* { dg-final { scan-tree-dump-times "clique 1 base 1" 2 "ealias" } } */ ++/* { dg-final { scan-tree-dump-times "clique 1 base 2" 1 "ealias" } } */ ++/* { dg-final { scan-tree-dump-times "clique 1 base 3" 1 "ealias" } } */ ++/* { dg-final { scan-tree-dump-times "(?n)clique .* base .*" 4 "ealias" } } */ ++ diff --cc gcc/testsuite/c-c++-common/goacc/kernels-offload-alias.c index 0000000,0000000..6f6a22b new file mode 100644 --- /dev/null +++ gcc/testsuite/c-c++-common/goacc/kernels-offload-alias.c @@@ -1,0 -1,0 +1,23 @@@ ++/* { dg-additional-options "-O2 -foffload-alias=pointer" } */ ++/* { dg-additional-options "-fdump-tree-ealias-all -fdump-tree-optimized" } */ ++ ++void ++foo (void) ++{ ++ unsigned int a; ++ unsigned int *p = &a; ++ ++#pragma acc kernels pcopyin (a, p[0:1]) ++ { ++ a = 0; ++ *p = 1; ++ } ++} ++ ++/* { dg-final { scan-tree-dump-times " = 0" 1 "optimized" } } */ ++ ++/* { dg-final { scan-tree-dump-times "clique 1 base 1" 2 "ealias" } } */ ++/* { dg-final { scan-tree-dump-times "clique 1 base 2" 1 "ealias" } } */ ++/* { dg-final { scan-tree-dump-times "clique 1 base 3" 1 "ealias" } } */ ++/* { dg-final { scan-tree-dump-times "(?n)clique .* base .*" 4 "ealias" } } */ ++ Grüße Thomas