The clause makes any device code use the local memory address for each
of the variables specified unless the given variable is already present
on the current device.
2019-12-19 Julian Brown <julian@codesourcery.com>
Maciej W. Rozycki <macro@codesourcery.com>
Tobias Burnus <tobias@codesourcery.com>
Thomas Schwinge <thomas@codesourcery.com>
gcc/
* omp-low.c (lower_omp_target): Support GOMP_MAP_NO_ALLOC.
* tree-pretty-print.c (dump_omp_clause): Likewise.
gcc/c-family/
* c-pragma.h (pragma_omp_clause): Add
PRAGMA_OACC_CLAUSE_NO_CREATE.
gcc/c/
* c-parser.c (c_parser_omp_clause_name): Support no_create.
(c_parser_oacc_data_clause): Likewise.
(c_parser_oacc_all_clauses): Likewise.
(OACC_DATA_CLAUSE_MASK, OACC_KERNELS_CLAUSE_MASK)
(OACC_PARALLEL_CLAUSE_MASK, OACC_SERIAL_CLAUSE_MASK): Add
PRAGMA_OACC_CLAUSE_NO_CREATE.
* c-typeck.c (handle_omp_array_sections): Support
GOMP_MAP_NO_ALLOC.
gcc/cp/
* parser.c (cp_parser_omp_clause_name): Support no_create.
(cp_parser_oacc_data_clause): Likewise.
(cp_parser_oacc_all_clauses): Likewise.
(OACC_DATA_CLAUSE_MASK, OACC_KERNELS_CLAUSE_MASK)
(OACC_PARALLEL_CLAUSE_MASK): Add PRAGMA_OACC_CLAUSE_NO_CREATE.
* semantics.c (handle_omp_array_sections): Support no_create.
gcc/fortran/
* gfortran.h (gfc_omp_map_op): Add OMP_MAP_NO_ALLOC.
* openmp.c (omp_mask2): Add OMP_CLAUSE_NO_CREATE.
(gfc_match_omp_clauses): Support no_create.
(OACC_PARALLEL_CLAUSES, OACC_KERNELS_CLAUSES)
(OACC_DATA_CLAUSES): Add OMP_CLAUSE_NO_CREATE.
* trans-openmp.c (gfc_trans_omp_clauses_1): Support
OMP_MAP_NO_ALLOC.
gcc/testsuite/
* gfortran.dg/goacc/common-block-1.f90: Add no_create-clause tests.
* gfortran.dg/goacc/common-block-1.f90: Likewise.
* gfortran.dg/goacc/data-clauses.f95: Likewise.
* gfortran.dg/goacc/data-tree.f95: Likewise.
* gfortran.dg/goacc/kernels-tree.f95: Likewise.
* gfortran.dg/goacc/parallel-tree.f95: Likewise.
include/
* gomp-constants.h (gomp_map_kind): Support GOMP_MAP_NO_ALLOC.
libgomp/
* target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
* testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
* testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
* testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
* testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
* testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
* testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
* testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
* testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
Reviewed-by: Thomas Schwinge <thomas@codesourcery.com>
Co-Authored-By: Maciej W. Rozycki <macro@codesourcery.com>
Co-Authored-By: Thomas Schwinge <thomas@codesourcery.com>
Co-Authored-By: Tobias Burnus <tobias@codesourcery.com>
From-SVN: r279551
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| gdb | Loading commit data... | |
| COPYING | Loading commit data... | |
| COPYING3 | Loading commit data... | |
| ChangeLog | Loading commit data... | |
| ChangeLog-9103 | Loading commit data... | |
| ChangeLog.jit | Loading commit data... | |
| ansidecl.h | Loading commit data... | |
| demangle.h | Loading commit data... | |
| dwarf2.def | Loading commit data... | |
| dwarf2.h | Loading commit data... | |
| dyn-string.h | Loading commit data... | |
| environ.h | Loading commit data... | |
| fibheap.h | Loading commit data... | |
| filenames.h | Loading commit data... | |
| floatformat.h | Loading commit data... | |
| fnmatch.h | Loading commit data... | |
| gcc-c-fe.def | Loading commit data... | |
| gcc-c-interface.h | Loading commit data... | |
| gcc-cp-fe.def | Loading commit data... | |
| gcc-cp-interface.h | Loading commit data... | |
| gcc-interface.h | Loading commit data... | |
| getopt.h | Loading commit data... | |
| gomp-constants.h | Loading commit data... | |
| hashtab.h | Loading commit data... | |
| hsa.h | Loading commit data... | |
| leb128.h | Loading commit data... | |
| libiberty.h | Loading commit data... | |
| longlong.h | Loading commit data... | |
| lto-symtab.h | Loading commit data... | |
| md5.h | Loading commit data... | |
| objalloc.h | Loading commit data... | |
| obstack.h | Loading commit data... | |
| partition.h | Loading commit data... | |
| plugin-api.h | Loading commit data... | |
| safe-ctype.h | Loading commit data... | |
| sha1.h | Loading commit data... | |
| simple-object.h | Loading commit data... | |
| sort.h | Loading commit data... | |
| splay-tree.h | Loading commit data... | |
| symcat.h | Loading commit data... | |
| timeval-utils.h | Loading commit data... | |
| unique-ptr.h | Loading commit data... | |
| vtv-change-permission.h | Loading commit data... | |
| xregex.h | Loading commit data... | |
| xregex2.h | Loading commit data... | |
| xtensa-config.h | Loading commit data... |