r208215 - in /branches/gomp-4_0-branch: gcc/Cha...

tschwinge@gcc.gnu.org tschwinge@gcc.gnu.org
Fri Feb 28 09:20:00 GMT 2014


Author: tschwinge
Date: Fri Feb 28 09:20:40 2014
New Revision: 208215

URL: http://gcc.gnu.org/viewcvs?rev=208215&root=gcc&view=rev
Log:
Initial support for the OpenACC kernels construct: GIMPLE_OACC_KERNELS.

	gcc/
	* gimple.def (GIMPLE_OACC_KERNELS): New code.
	* doc/gimple.texi: Document it.
	* gimple.h (gimple_has_substatements, CASE_GIMPLE_OMP)
	(is_gimple_omp_oacc_specifically): Handle it.
	(gimple_statement_oacc_kernels): New struct.
	(gimple_build_oacc_kernels): New prototype.
	(gimple_oacc_kernels_clauses, gimple_oacc_kernels_clauses_ptr)
	(gimple_oacc_kernels_set_clauses, gimple_oacc_kernels_child_fn)
	(gimple_oacc_kernels_child_fn_ptr)
	(gimple_oacc_kernels_set_child_fn, gimple_oacc_kernels_data_arg)
	(gimple_oacc_kernels_data_arg_ptr)
	(gimple_oacc_kernels_set_data_arg): New inline functions.
	* gimple.c (gimple_build_oacc_kernels): New function.
	(gimple_copy): Handle GIMPLE_OACC_KERNELS.
	* gimple-low.c (lower_stmt): Likewise.
	* gimple-walk.c (walk_gimple_op, walk_gimple_stmt): Likewise.
	* gimple-pretty-print.c (pp_gimple_stmt_1): Likewise.
	(dump_gimple_oacc_parallel): Rename to dump_gimple_oacc_offload.
	Also handle GIMPLE_OACC_KERNELS.  Update all callers.
	* gimplify.c (gimplify_omp_workshare, gimplify_expr): Handle
	OACC_KERNELS.
	* oacc-builtins.def (BUILT_IN_GOACC_KERNELS): New builtin.
	* omp-low.c (scan_oacc_parallel, expand_oacc_parallel)
	(lower_oacc_parallel): Rename to scan_oacc_offload,
	expand_oacc_offload, and lower_oacc_offload.  Also handle
	GIMPLE_OACC_KERNELS.  Update all callers.
	(scan_sharing_clauses, scan_omp_1_stmt, expand_omp, lower_omp_1)
	(diagnose_sb_0, diagnose_sb_1, diagnose_sb_2)
	(make_gimple_omp_edges): Handle GIMPLE_OACC_KERNELS.
	* tree-inline.c (remap_gimple_stmt, estimate_num_insns): Likewise.
	* tree-nested.c (convert_nonlocal_reference_stmt)
	(convert_local_reference_stmt, convert_tramp_reference_stmt)
	(convert_gimple_call): Likewise.
	libgomp/
	* libgomp.map (GOACC_2.0): Add GOACC_kernels.
	* libgomp_g.h (GOACC_kernels): New prototype.
	* oacc-parallel.c (GOACC_kernels): New function.

Modified:
    branches/gomp-4_0-branch/gcc/ChangeLog.gomp
    branches/gomp-4_0-branch/gcc/doc/gimple.texi
    branches/gomp-4_0-branch/gcc/gimple-low.c
    branches/gomp-4_0-branch/gcc/gimple-pretty-print.c
    branches/gomp-4_0-branch/gcc/gimple-walk.c
    branches/gomp-4_0-branch/gcc/gimple.c
    branches/gomp-4_0-branch/gcc/gimple.def
    branches/gomp-4_0-branch/gcc/gimple.h
    branches/gomp-4_0-branch/gcc/gimplify.c
    branches/gomp-4_0-branch/gcc/oacc-builtins.def
    branches/gomp-4_0-branch/gcc/omp-low.c
    branches/gomp-4_0-branch/gcc/tree-inline.c
    branches/gomp-4_0-branch/gcc/tree-nested.c
    branches/gomp-4_0-branch/libgomp/ChangeLog.gomp
    branches/gomp-4_0-branch/libgomp/libgomp.map
    branches/gomp-4_0-branch/libgomp/libgomp_g.h
    branches/gomp-4_0-branch/libgomp/oacc-parallel.c



More information about the Gcc-cvs mailing list