[PATCH 2/4] [GOMP4] [Fortran] OpenACC 1.0+ support in fortran front-end
Ilmir Usmanov
i.usmanov@samsung.com
Tue Mar 4 07:57:00 GMT 2014
OpenACC 1.0 fortran FE support -- matching and resolving.
* gcc/fortran/openmp.c
(gfc_free_omp_clauses): Remove also OpenACC clauses.
(gfc_free_expr_list): New function to clear expression list.
(match_oacc_expr_list): New function to match expression list.
(match_oacc_clause_gang): New function to match OpenACC 2.0 gang
clauses.
(OMP_CLAUSE_ASYNC, OMP_CLAUSE_NUM_GANGS,
OMP_CLAUSE_NUM_WORKERS, OMP_CLAUSE_VECTOR_LENGTH,
OMP_CLAUSE_COPY, OMP_CLAUSE_OACC_COPYIN,
OMP_CLAUSE_COPYOUT, OMP_CLAUSE_CREATE, OMP_CLAUSE_PRESENT,
OMP_CLAUSE_PRESENT_OR_COPY, OMP_CLAUSE_PRESENT_OR_COPYIN,
OMP_CLAUSE_PRESENT_OR_COPYOUT, OMP_CLAUSE_PRESENT_OR_CREATE,
OMP_CLAUSE_DEVICEPTR, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER,
OMP_CLAUSE_VECTOR, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT,
OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_HOST, OMP_CLAUSE_DEVICE_RESIDENT,
OMP_CLAUSE_DEVICE, OMP_CLAUSE_DEFAULT, OMP_CLAUSE_WAIT,
OMP_CLAUSE_DELETE, OMP_CLAUSE_AUTO, OMP_CLAUSE_TILE): New clauses.
(OACC_PARALLEL_CLAUSES, OACC_KERNELS_CLAUSES, OACC_DATA_CLAUSES,
OACC_LOOP_CLAUSES, OACC_PARALLEL_LOOP_CLAUSES,
OACC_KERNELS_LOOP_CLAUSES, OACC_HOST_DATA_CLAUSES,
OACC_DECLARE_CLAUSES,
OACC_UPDATE_CLAUSES, OACC_ENTER_DATA_CLAUSES,
OACC_EXIT_DATA_CLAUSES): New defines.
(gfc_match_oacc_parallel_loop, gfc_match_oacc_parallel,
gfc_match_oacc_kernels_loop, gfc_match_oacc_kernels,
gfc_match_oacc_data, gfc_match_oacc_host_data, gfc_match_oacc_loop,
gfc_match_oacc_declare, gfc_match_oacc_update,
gfc_match_oacc_enter_data, gfc_match_oacc_exit_data,
gfc_match_oacc_wait, gfc_match_oacc_cache, oacc_is_loop,
check_symbol_not_pointer, resolve_oacc_scalar_int_expr,
resolve_oacc_positive_int_expr, check_array_not_assumed,
resolve_oacc_data_clauses, resolve_oacc_deviceptr_clause,
oacc_is_parallel, oacc_is_kernels, omp_code_to_statement,
oacc_code_to_statement, resolve_oacc_directive_inside_omp_region,
resolve_omp_directive_inside_oacc_region, resolve_oacc_nested_loops,
resolve_oacc_params_in_parallel, resolve_oacc_loop_blocks,
gfc_resolve_oacc_blocks, resolve_oacc_loop, resolve_oacc_cache,
resolve_oacc_wait, gfc_resolve_oacc_declare,
gfc_resolve_oacc_directive): New functions.
(resolve_omp_clauses): Resolve also OpenACC clauses.
(gfc_resolve_omp_directive): Check for enclosing OpenACC region.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-OpenACC-Fortran-FE-part-2.patch
Type: text/x-diff
Size: 41613 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20140304/579ea3af/attachment.bin>
More information about the Gcc-patches
mailing list