OpenACC acc_on_device.
commit1f07fe4ff1a8c4916d58c6186208a12b8619c5a1
authortschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 23 Sep 2014 12:15:53 +0000 (23 12:15 +0000)
committertschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 23 Sep 2014 12:15:53 +0000 (23 12:15 +0000)
tree092ad5e64a343d276158d00a4423387484d371d8
parentd991b6eb64b2795a502274e2141157368242c2b6
OpenACC acc_on_device.

gcc/
* builtins.def (DEF_GOACC_BUILTIN_COMPILER): New macro.
* oacc-builtins.def (BUILT_IN_GOACC_UPDATE): New builtin.
* builtins.c (expand_builtin_acc_on_device): New function.
(expand_builtin): Use it to handle BUILT_IN_ACC_ON_DEVICE.
(is_inexpensive_builtin): Handle BUILT_IN_ACC_ON_DEVICE.
gcc/fortran/
* f95-lang.c (DEF_GOACC_BUILTIN_COMPILER): New macro.
* types.def (BT_FN_INT_INT): New type.
gcc/testsuite/
* c-c++-common/goacc/acc_on_device-1.c: New file.
* c-c++-common/goacc/acc_on_device-2.c: Likewise.
* c-c++-common/goacc/acc_on_device-2-off.c: Likewise.
* gfortran.dg/goacc/acc_on_device-1.f95: Likewise.
* gfortran.dg/goacc/acc_on_device-2.f95: Likewise.
* gfortran.dg/goacc/acc_on_device-2-off.f95: Likewise.
libgomp/
* libgomp.map (OACC_2.0): Add acc_on_device, acc_on_device_.
* fortran.c: Include "openacc.h".
(acc_on_device_): New function.
* oacc-parallel.c: Include "openacc.h".
(acc_on_device): New function.
* openacc.f90 (acc_device_kind, acc_device_none)
(acc_device_default, acc_device_host, acc_device_not_host): New
parameters.
(acc_on_device): New function declaration.
* openacc_lib.h (acc_device_kind, acc_device_none)
(acc_device_default, acc_device_host, acc_device_not_host): New
parameters.
(acc_on_device): New function declaration.
* openacc.h (acc_device_t): New enum.
(acc_on_device): New function declaration.
* testsuite/libgomp.oacc-c/acc_on_device-1.c: New file.
* testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
* testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
* testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@215506 138bc75d-0d04-0410-961f-82ee72b054a4
25 files changed:
gcc/ChangeLog.gomp
gcc/builtins.c
gcc/builtins.def
gcc/fortran/ChangeLog.gomp
gcc/fortran/f95-lang.c
gcc/fortran/types.def
gcc/oacc-builtins.def
gcc/testsuite/ChangeLog.gomp
gcc/testsuite/c-c++-common/goacc/acc_on_device-1.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/goacc/acc_on_device-2-off.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/goacc/acc_on_device-2.c [new file with mode: 0644]
gcc/testsuite/gfortran.dg/goacc/acc_on_device-1.f95 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/goacc/acc_on_device-2-off.f95 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/goacc/acc_on_device-2.f95 [new file with mode: 0644]
libgomp/ChangeLog.gomp
libgomp/fortran.c
libgomp/libgomp.map
libgomp/oacc-parallel.c
libgomp/openacc.f90
libgomp/openacc.h
libgomp/openacc_lib.h
libgomp/testsuite/libgomp.oacc-c/acc_on_device-1.c [new file with mode: 0644]
libgomp/testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90 [new file with mode: 0644]
libgomp/testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f [new file with mode: 0644]
libgomp/testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f [new file with mode: 0644]