[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