From c759830b29fff2288bc0cebfb4b2c479f0b5b30e Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Fri, 14 Dec 2018 21:43:12 +0100 Subject: [PATCH] Missing changes from "Adjust copy/copyin/copyout/create for OpenACC 2.5" Most of that patch's changes were already committed as part of r261813 "Update OpenACC data clause semantics to the 2.5 behavior", but not all of them. libgomp/ * oacc-mem.c (acc_present_or_create): Remove definition and change to alias of acc_create. (acc_present_or_copyin): Remove definition and change to alias of acc_copyin. * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead of acc_present_or_create. * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove. * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise. * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise. * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise. * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise. * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise. * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise. * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. Co-Authored-By: Chung-Lin Tang From-SVN: r267153 --- libgomp/ChangeLog | 26 ++++++++++ libgomp/oacc-mem.c | 47 ++++++++++--------- libgomp/oacc-parallel.c | 4 -- .../data-already-1.c | 20 -------- .../data-already-2.c | 20 -------- .../data-already-3.c | 20 -------- .../data-already-4.c | 18 ------- .../data-already-5.c | 18 ------- .../data-already-6.c | 18 ------- .../data-already-7.c | 18 ------- .../data-already-8.c | 20 -------- .../libgomp.oacc-fortran/data-already-1.f | 16 ------- .../libgomp.oacc-fortran/data-already-2.f | 16 ------- .../libgomp.oacc-fortran/data-already-3.f | 15 ------ .../libgomp.oacc-fortran/data-already-4.f | 14 ------ .../libgomp.oacc-fortran/data-already-5.f | 14 ------ .../libgomp.oacc-fortran/data-already-6.f | 14 ------ .../libgomp.oacc-fortran/data-already-7.f | 14 ------ .../libgomp.oacc-fortran/data-already-8.f | 16 ------- 19 files changed, 51 insertions(+), 297 deletions(-) delete mode 100644 libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-1.c delete mode 100644 libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-2.c delete mode 100644 libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-3.c delete mode 100644 libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-4.c delete mode 100644 libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-5.c delete mode 100644 libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-6.c delete mode 100644 libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-7.c delete mode 100644 libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-8.c delete mode 100644 libgomp/testsuite/libgomp.oacc-fortran/data-already-1.f delete mode 100644 libgomp/testsuite/libgomp.oacc-fortran/data-already-2.f delete mode 100644 libgomp/testsuite/libgomp.oacc-fortran/data-already-3.f delete mode 100644 libgomp/testsuite/libgomp.oacc-fortran/data-already-4.f delete mode 100644 libgomp/testsuite/libgomp.oacc-fortran/data-already-5.f delete mode 100644 libgomp/testsuite/libgomp.oacc-fortran/data-already-6.f delete mode 100644 libgomp/testsuite/libgomp.oacc-fortran/data-already-7.f delete mode 100644 libgomp/testsuite/libgomp.oacc-fortran/data-already-8.f diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index 349497d58ee..084f174513b 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,3 +1,29 @@ +2018-12-14 Thomas Schwinge + Chung-Lin Tang + + * oacc-mem.c (acc_present_or_create): Remove definition and change + to alias of acc_create. + (acc_present_or_copyin): Remove definition and change to alias of + acc_copyin. + * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead + of acc_present_or_create. + * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove. + * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. + * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise. + * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. + * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise. + * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise. + * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise. + * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise. + * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise. + * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. + 2018-12-14 Thomas Schwinge PR libgomp/88495 diff --git a/libgomp/oacc-mem.c b/libgomp/oacc-mem.c index 72414b74897..e352379bfeb 100644 --- a/libgomp/oacc-mem.c +++ b/libgomp/oacc-mem.c @@ -544,51 +544,54 @@ acc_create_async (void *h, size_t s, int async) present_create_copy (FLAG_PRESENT | FLAG_CREATE, h, s, async); } -void * -acc_copyin (void *h, size_t s) -{ - return present_create_copy (FLAG_PRESENT | FLAG_CREATE | FLAG_COPY, h, s, - acc_async_sync); -} - -void -acc_copyin_async (void *h, size_t s, int async) -{ - present_create_copy (FLAG_PRESENT | FLAG_CREATE | FLAG_COPY, h, s, async); -} - +/* acc_present_or_create used to be what acc_create is now. */ +/* acc_pcreate is acc_present_or_create by a different name. */ +#ifdef HAVE_ATTRIBUTE_ALIAS +strong_alias (acc_create, acc_present_or_create) +strong_alias (acc_create, acc_pcreate) +#else void * acc_present_or_create (void *h, size_t s) { - return present_create_copy (FLAG_PRESENT | FLAG_CREATE, h, s, acc_async_sync); + return acc_create (h, s); } -/* acc_pcreate is acc_present_or_create by a different name. */ -#ifdef HAVE_ATTRIBUTE_ALIAS -strong_alias (acc_present_or_create, acc_pcreate) -#else void * acc_pcreate (void *h, size_t s) { - return acc_present_or_create (h, s); + return acc_create (h, s); } #endif void * -acc_present_or_copyin (void *h, size_t s) +acc_copyin (void *h, size_t s) { return present_create_copy (FLAG_PRESENT | FLAG_CREATE | FLAG_COPY, h, s, acc_async_sync); } +void +acc_copyin_async (void *h, size_t s, int async) +{ + present_create_copy (FLAG_PRESENT | FLAG_CREATE | FLAG_COPY, h, s, async); +} + +/* acc_present_or_copyin used to be what acc_copyin is now. */ /* acc_pcopyin is acc_present_or_copyin by a different name. */ #ifdef HAVE_ATTRIBUTE_ALIAS -strong_alias (acc_present_or_copyin, acc_pcopyin) +strong_alias (acc_copyin, acc_present_or_copyin) +strong_alias (acc_copyin, acc_pcopyin) #else +void * +acc_present_or_copyin (void *h, size_t s) +{ + return acc_copyin (h, s); +} + void * acc_pcopyin (void *h, size_t s) { - return acc_present_or_copyin (h, s); + return acc_copyin (h, s); } #endif diff --git a/libgomp/oacc-parallel.c b/libgomp/oacc-parallel.c index 89b6b6f6fc2..e2405d73d5a 100644 --- a/libgomp/oacc-parallel.c +++ b/libgomp/oacc-parallel.c @@ -425,14 +425,10 @@ GOACC_enter_exit_data (int device, size_t mapnum, switch (kind) { case GOMP_MAP_ALLOC: - acc_present_or_create (hostaddrs[i], sizes[i]); - break; case GOMP_MAP_FORCE_ALLOC: acc_create (hostaddrs[i], sizes[i]); break; case GOMP_MAP_TO: - acc_present_or_copyin (hostaddrs[i], sizes[i]); - break; case GOMP_MAP_FORCE_TO: acc_copyin (hostaddrs[i], sizes[i]); break; diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-1.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-1.c deleted file mode 100644 index fd3b77dcff5..00000000000 --- a/libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-1.c +++ /dev/null @@ -1,20 +0,0 @@ -/* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */ - -#include -#include - -int -main (int argc, char *argv[]) -{ - int i; - - acc_copyin (&i, sizeof i); - - fprintf (stderr, "CheCKpOInT\n"); -#pragma acc data copy (i) - ++i; - - return 0; -} - -/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */ diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-2.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-2.c deleted file mode 100644 index 0118b2568e2..00000000000 --- a/libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-2.c +++ /dev/null @@ -1,20 +0,0 @@ -/* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */ - -#include - -int -main (int argc, char *argv[]) -{ - int i; - -#pragma acc data present_or_copy (i) - { - fprintf (stderr, "CheCKpOInT\n"); -#pragma acc data copyout (i) - ++i; - } - - return 0; -} - -/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */ diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-3.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-3.c deleted file mode 100644 index b346c69826f..00000000000 --- a/libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-3.c +++ /dev/null @@ -1,20 +0,0 @@ -/* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */ - -#include -#include - -int -main (int argc, char *argv[]) -{ - int i; - -#pragma acc data present_or_copy (i) - { - fprintf (stderr, "CheCKpOInT\n"); - acc_copyin (&i, sizeof i); - } - - return 0; -} - -/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */ diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-4.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-4.c deleted file mode 100644 index e99ad33d9be..00000000000 --- a/libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-4.c +++ /dev/null @@ -1,18 +0,0 @@ -/* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */ - -#include -#include - -int -main (int argc, char *argv[]) -{ - int i; - - acc_present_or_copyin (&i, sizeof i); - fprintf (stderr, "CheCKpOInT\n"); - acc_copyin (&i, sizeof i); - - return 0; -} - -/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */ diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-5.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-5.c deleted file mode 100644 index f8370c006df..00000000000 --- a/libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-5.c +++ /dev/null @@ -1,18 +0,0 @@ -/* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */ - -#include -#include - -int -main (int argc, char *argv[]) -{ - int i; - -#pragma acc enter data create (i) - fprintf (stderr, "CheCKpOInT\n"); - acc_copyin (&i, sizeof i); - - return 0; -} - -/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */ diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-6.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-6.c deleted file mode 100644 index d7f4deb18e4..00000000000 --- a/libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-6.c +++ /dev/null @@ -1,18 +0,0 @@ -/* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */ - -#include -#include - -int -main (int argc, char *argv[]) -{ - int i; - - acc_present_or_copyin (&i, sizeof i); - fprintf (stderr, "CheCKpOInT\n"); -#pragma acc enter data create (i) - - return 0; -} - -/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */ diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-7.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-7.c deleted file mode 100644 index 54be59507ca..00000000000 --- a/libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-7.c +++ /dev/null @@ -1,18 +0,0 @@ -/* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */ - -#include -#include - -int -main (int argc, char *argv[]) -{ - int i; - -#pragma acc enter data create (i) - fprintf (stderr, "CheCKpOInT\n"); - acc_create (&i, sizeof i); - - return 0; -} - -/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */ diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-8.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-8.c deleted file mode 100644 index e5c0f9cfb32..00000000000 --- a/libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-8.c +++ /dev/null @@ -1,20 +0,0 @@ -/* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */ - -#include - -int -main (int argc, char *argv[]) -{ - int i; - -#pragma acc data create (i) - { - fprintf (stderr, "CheCKpOInT\n"); -#pragma acc parallel copyin (i) - ++i; - } - - return 0; -} - -/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */ diff --git a/libgomp/testsuite/libgomp.oacc-fortran/data-already-1.f b/libgomp/testsuite/libgomp.oacc-fortran/data-already-1.f deleted file mode 100644 index fab0ffc99cc..00000000000 --- a/libgomp/testsuite/libgomp.oacc-fortran/data-already-1.f +++ /dev/null @@ -1,16 +0,0 @@ -! { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } - - IMPLICIT NONE - INCLUDE "openacc_lib.h" - - INTEGER I - - CALL ACC_COPYIN (I) - WRITE(0, *) "CheCKpOInT" -!$ACC DATA COPY (I) - I = 0 -!$ACC END DATA - - END - -! { dg-output "CheCKpOInT(\n|\r\n|\r).*" } diff --git a/libgomp/testsuite/libgomp.oacc-fortran/data-already-2.f b/libgomp/testsuite/libgomp.oacc-fortran/data-already-2.f deleted file mode 100644 index bd03062670f..00000000000 --- a/libgomp/testsuite/libgomp.oacc-fortran/data-already-2.f +++ /dev/null @@ -1,16 +0,0 @@ -! { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } - - IMPLICIT NONE - - INTEGER I - -!$ACC DATA PRESENT_OR_COPY (I) - WRITE(0, *) "CheCKpOInT" -!$ACC DATA COPYOUT (I) - I = 0 -!$ACC END DATA -!$ACC END DATA - - END - -! { dg-output "CheCKpOInT(\n|\r\n|\r).*" } diff --git a/libgomp/testsuite/libgomp.oacc-fortran/data-already-3.f b/libgomp/testsuite/libgomp.oacc-fortran/data-already-3.f deleted file mode 100644 index 60ea3864e4e..00000000000 --- a/libgomp/testsuite/libgomp.oacc-fortran/data-already-3.f +++ /dev/null @@ -1,15 +0,0 @@ -! { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } - - IMPLICIT NONE - INCLUDE "openacc_lib.h" - - INTEGER I - -!$ACC DATA PRESENT_OR_COPY (I) - WRITE(0, *) "CheCKpOInT" - CALL ACC_COPYIN (I) -!$ACC END DATA - - END - -! { dg-output "CheCKpOInT(\n|\r\n|\r).*" } diff --git a/libgomp/testsuite/libgomp.oacc-fortran/data-already-4.f b/libgomp/testsuite/libgomp.oacc-fortran/data-already-4.f deleted file mode 100644 index 2abdbf0f868..00000000000 --- a/libgomp/testsuite/libgomp.oacc-fortran/data-already-4.f +++ /dev/null @@ -1,14 +0,0 @@ -! { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } - - IMPLICIT NONE - INCLUDE "openacc_lib.h" - - INTEGER I - - CALL ACC_PRESENT_OR_COPYIN (I) - WRITE(0, *) "CheCKpOInT" - CALL ACC_COPYIN (I) - - END - -! { dg-output "CheCKpOInT(\n|\r\n|\r).*" } diff --git a/libgomp/testsuite/libgomp.oacc-fortran/data-already-5.f b/libgomp/testsuite/libgomp.oacc-fortran/data-already-5.f deleted file mode 100644 index f361d8c1772..00000000000 --- a/libgomp/testsuite/libgomp.oacc-fortran/data-already-5.f +++ /dev/null @@ -1,14 +0,0 @@ -! { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } - - IMPLICIT NONE - INCLUDE "openacc_lib.h" - - INTEGER I - -!$ACC ENTER DATA CREATE (I) - WRITE(0, *) "CheCKpOInT" - CALL ACC_COPYIN (I) - - END - -! { dg-output "CheCKpOInT(\n|\r\n|\r).*" } diff --git a/libgomp/testsuite/libgomp.oacc-fortran/data-already-6.f b/libgomp/testsuite/libgomp.oacc-fortran/data-already-6.f deleted file mode 100644 index a864737c692..00000000000 --- a/libgomp/testsuite/libgomp.oacc-fortran/data-already-6.f +++ /dev/null @@ -1,14 +0,0 @@ -! { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } - - IMPLICIT NONE - INCLUDE "openacc_lib.h" - - INTEGER I - - CALL ACC_PRESENT_OR_COPYIN (I) - WRITE(0, *) "CheCKpOInT" -!$ACC ENTER DATA CREATE (I) - - END - -! { dg-output "CheCKpOInT(\n|\r\n|\r).*" } diff --git a/libgomp/testsuite/libgomp.oacc-fortran/data-already-7.f b/libgomp/testsuite/libgomp.oacc-fortran/data-already-7.f deleted file mode 100644 index 0d893280e40..00000000000 --- a/libgomp/testsuite/libgomp.oacc-fortran/data-already-7.f +++ /dev/null @@ -1,14 +0,0 @@ -! { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } - - IMPLICIT NONE - INCLUDE "openacc_lib.h" - - INTEGER I - -!$ACC ENTER DATA CREATE (I) - WRITE(0, *) "CheCKpOInT" - CALL ACC_CREATE (I) - - END - -! { dg-output "CheCKpOInT(\n|\r\n|\r).*" } diff --git a/libgomp/testsuite/libgomp.oacc-fortran/data-already-8.f b/libgomp/testsuite/libgomp.oacc-fortran/data-already-8.f deleted file mode 100644 index 7a41f67225a..00000000000 --- a/libgomp/testsuite/libgomp.oacc-fortran/data-already-8.f +++ /dev/null @@ -1,16 +0,0 @@ -! { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } - - IMPLICIT NONE - - INTEGER I - -!$ACC DATA CREATE (I) - WRITE(0, *) "CheCKpOInT" -!$ACC PARALLEL COPYIN (I) - I = 0 -!$ACC END PARALLEL -!$ACC END DATA - - END - -! { dg-output "CheCKpOInT(\n|\r\n|\r).*" } -- 2.30.2