[PATCH 4/6] [GOMP4] OpenACC 1.0+ support in fortran front-end
Ilmir Usmanov
i.usmanov@samsung.com
Fri Jan 31 11:16:00 GMT 2014
OpenACC 1.0 support -- GENERIC nodes and gimplify stubs.
gcc/
* gimplify.c (is_gimple_stmt): Stub OpenACC directives and clauses.
(gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses): Likewise.
(gimplify_expr): Likewise.
* omp-low.c (scan_sharing_clauses): Likewise.
(gimple_code_is_oacc): New helper function.
(scan_sharing_clauses): Use it.
* tree-core.h
(OMP_CLAUSE_ASYNC, OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER,
OMP_CLAUSE_VECTOR, OMP_CLAUSE_INDEPENDENT,
OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_HOST, OMP_CLAUSE_DEVICE_RESIDENT,
OMP_CLAUSE_OACC_DEVICE, OMP_CLAUSE_DEFAULT, OMP_CLAUSE_WAIT): New
clauses.
* tree-pretty-print.c (dump_omp_clause): Print OpenACC clause.
(dump_generic_node): Print OpenACC directives and its clauses.
* tree.c (omp_clause_num_ops): Add OpenACC clauses.
(omp_clause_code_name): Likewise.
(walk_tree_1): Likewise.
* tree.def (OACC_KERNELS): New tree node.
(OACC_DATA, OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE): Likewise.
(OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_WAIT, OACC_CACHE): Likewise.
* tree.h (OACC_BODY): New macros.
(OACC_KERNELS_BODY, OACC_KERNELS_CLAUSES, OACC_CLAUSE_NUM_GANGS_EXPR,
OMP_CLAUSE_NUM_WORKERS_EXPR, OMP_CLAUSE_VECTOR_LENGTH_EXPR,
OMP_CLAUSE_VECTOR_EXPR, OMP_CLAUSE_WORKER_EXPR, OMP_CLAUSE_GANG_EXPR,
OMP_CLAUSE_ASYNC_EXPR,
OMP_WAIT_EXPR, OACC_DATA_BODY, OACC_DATA_CLAUSES,
OACC_DECLARE_CLAUSES,
OACC_UPDATE_CLAUSES, OACC_WAIT_CLAUSES, OACC_CACHE_CLAUSES,
OACC_HOST_DATA_BODY, OACC_HOST_DATA_CLAUSES): Likewise.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0004-OpenACC-GENERIC-nodes.patch
Type: text/x-diff
Size: 24629 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/fortran/attachments/20140131/8546a0c0/attachment.bin>
More information about the Fortran
mailing list