This is the mail archive of the gcc-cvs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Author: jakub
Date: Wed Mar 27 12:04:03 2013
New Revision: 197161

URL: http://gcc.gnu.org/viewcvs?rev=197161&root=gcc&view=rev
Log:
	* gimple-pretty-print.c (dump_gimple_omp_for): Handle different
	GIMPLE_OMP_FOR kinds.
	* tree.def (OMP_SIMD, OMP_FOR_SIMD, OMP_DISTRIBUTE): New tree codes.
	* gimple.h (enum gf_mask): Add GF_OMP_FOR_KIND_MASK,
	GF_OMP_FOR_KIND_FOR, GF_OMP_FOR_KIND_SIMD, GF_OMP_FOR_KIND_FOR_SIMD
	and GF_OMP_FOR_KIND_DISTRIBUTE.
	(gimple_omp_for_kind, gimple_omp_for_set_kind): New inline functions.
	* gimplify.c (is_gimple_stmt, gimplify_omp_for, gimplify_expr): Handle
	OMP_SIMD, OMP_FOR_SIMD and OMP_DISTRIBUTE.
	* tree.c (omp_clause_num_ops, omp_clause_code_name, walk_tree_1):
	Handle new OpenMP 4.0 clauses.
	* tree-pretty-print.c (dump_omp_clause): Likewise.
	(dump_generic_node): Handle OMP_SIMD, OMP_FOR_SIMD and OMP_DISTRIBUTE.
	* tree.h (enum omp_clause_code): Add OMP_CLAUSE_LINEAR,
	OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND, OMP_CLAUSE_FROM, OMP_CLAUSE_TO,
	OMP_CLAUSE_UNIFORM, OMP_CLAUSE_MAP, OMP_CLAUSE_DEVICE,
	OMP_CLAUSE_DIST_SCHEDULE, OMP_CLAUSE_INBRANCH, OMP_CLAUSE_NOTINBRANCH,
	OMP_CLAUSE_NUM_TEAMS, OMP_CLAUSE_PROC_BIND, OMP_CLAUSE_SAFELEN,
	OMP_CLAUSE_SIMDLEN, OMP_CLAUSE_FOR, OMP_CLAUSE_PARALLEL,
	OMP_CLAUSE_SECTIONS and OMP_CLAUSE_TASKGROUP.
	(OMP_LOOP_CHECK): Define.
	(OMP_FOR_BODY, OMP_FOR_CLAUSES, OMP_FOR_INIT, OMP_FOR_COND,
	OMP_FOR_INCR, OMP_FOR_PRE_BODY): Use OMP_LOOP_CHECK instead of
	OMP_FOR_CHECK.
	(OMP_CLAUSE_DECL): Extend check range up to OMP_CLAUSE_MAP.
	(OMP_CLAUSE_LINEAR_STEP, OMP_CLAUSE_ALIGNED_ALIGNMENT,
	OMP_CLAUSE_NUM_TEAMS_EXPR, OMP_CLAUSE_DEVICE_ID,
	OMP_CLAUSE_DIST_SCHEDULE_CHUNK_EXPR, OMP_CLAUSE_SAFELEN_EXPR,
	OMP_CLAUSE_SIMDLEN_EXPR): Define.
	(enum omp_clause_depend_kind, enum omp_clause_map_kind,
	enum omp_clause_proc_bind_kind): New enums.
	(OMP_CLAUSE_DEPEND_KIND, OMP_CLAUSE_MAP_KIND,
	OMP_CLAUSE_PROC_BIND_KIND): Define.
	(struct tree_omp_clause): Add subcode.depend_kind, subcode.map_kind
	and subcode.proc_bind_kind.
	(find_omp_clause): New prototype.
	* omp-builtins.def (BUILT_IN_GOMP_CANCEL,
	BUILT_IN_GOMP_CANCELLATION_POINT): New built-ins.
	* tree-flow.h (find_omp_clause): Remove prototype.
c/
	* c-parser.c (c_parser_omp_all_clauses): Change mask argument type
	from unsigned to omp_clause_mask.
	(c_parser_omp_for_loop): Adjust c_finish_omp_for caller.
	(OMP_FOR_CLAUSE_MASK, OMP_SECTIONS_CLAUSE_MASK,
	OMP_PARALLEL_CLAUSE_MASK, OMP_SINGLE_CLAUSE_MASK,
	OMP_TASK_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1.
	(c_parser_omp_parallel): Use omp_clause_mask type instead of unsigned
	for mask, use OMP_CLAUSE_MASK_1 instead of 1 for masks.
cp/
	* cp-tree.h (OMP_FOR_GIMPLIFYING_P): Use OMP_LOOP_CHECK instead of
	OMP_FOR_CHECK.
	(finish_omp_for): Add enum tree_code second argument.
	(finish_omp_cancel, finish_omp_cancellation_point): New prototypes.
	* cp-gimplify.c (cp_gimplify_expr, cp_genericize_r): Handle
	OMP_SIMD, OMP_FOR_SIMD and OMP_DISTRIBUTE.
	* semantics.c (finish_omp_clauses): Handle new OpenMP 4.0 clauses.
	(finish_omp_for): Add code argument, pass it down to make_node
	or c_finish_omp_for.
	(finish_omp_cancel, finish_omp_cancellation_point): New functions.
	* parser.c (cp_parser_omp_clause_name): Add parsing of new
	OpenMP 4.0 clauses.
	(cp_parser_omp_var_list_no_open): Add COLON argument, if non-NULL,
	accept termination by colon instead of closing paren.
	(cp_parser_omp_var_list, cp_parser_omp_clause_reduction): Adjust
	callers.
	(cp_parser_omp_clause_branch, cp_parser_omp_clause_cancelkind,
	cp_parser_omp_clause_num_teams, cp_parser_omp_clause_aligned,
	cp_parser_omp_clause_linear, cp_parser_omp_clause_depend,
	cp_parser_omp_clause_map, cp_parser_omp_clause_device,
	cp_parser_omp_clause_dist_schedule, cp_parser_omp_clause_proc_bind):
	New functions.
	(cp_parser_omp_all_clauses): Change mask argument's type to
	omp_clause_mask from unsigned.  Fix c_name for
	PRAGMA_OMP_CLAUSE_UNTIED.  Handle new OpenMP 4.0 clauses.
	(cp_parser_omp_for_loop): Add code argument.  Pass it down to
	finish_omp_for.
	(OMP_SIMD_CLAUSE_MASK): Define.
	(cp_parser_omp_simd): New function.
	(OMP_FOR_CLAUSE_MASK, OMP_SECTIONS_CLAUSE_MASK,
	OMP_PARALLEL_CLAUSE_MASK, OMP_SINGLE_CLAUSE_MASK,
	OMP_TASK_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1.
	(cp_parser_omp_for): Handle parsing of #pragma omp for simd.
	(cp_parser_omp_parallel): Handle parsing of
	#pragma omp parallel for simd.  Use omp_clause_mask type
	instead of unsigned for mask, use OMP_CLAUSE_MASK_1 instead
	of 1 for masks.
	(OMP_CANCEL_CLAUSE_MASK, OMP_CANCELLATION_POINT_CLAUSE_MASK): Define.
	(cp_parser_omp_cancel, cp_parser_omp_cancellation_point): New
	functions.
	(cp_parser_omp_construct): Handle PRAGMA_OMP_SIMD, PRAGMA_OMP_CANCEL
	and PRAGMA_OMP_CANCELLATION_POINT.
	(cp_parser_pragma): Handle PRAGMA_OMP_SIMD.
	* pt.c (tsubst_expr): Handle OMP_SIMD, OMP_FOR_SIMD and
	OMP_DISTRIBUTE.  Pass down TREE_CODE to finish_omp_for.
fortran/
	* f95-lang.c (ATTR_NULL): Define.
c-family/
	* c-omp.c (c_finish_omp_for): Add code argument, pass it down to
	make_code.
	(c_split_parallel_clauses): Handle OMP_CLAUSE_SAFELEN,
	OMP_CLAUSE_ALIGNED and OMP_CLAUSE_LINEAR.
	* c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
	PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
	PRAGMA_OMP_DECLARE_SIMD, PRAGMA_OMP_DECLARE_TARGET,
	PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET,
	PRAGMA_OMP_FOR_SIMD, PRAGMA_OMP_PARALLEL_FOR_SIMD, PRAGMA_OMP_SIMD,
	PRAGMA_OMP_TARGET, PRAGMA_OMP_TARGET_DATA, PRAGMA_OMP_TARGET_UPDATE,
	PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
	(enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
	PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
	PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
	PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
	PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
	PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
	PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
	PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
	PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
	PRAGMA_OMP_CLAUSE_TO and PRAGMA_OMP_CLAUSE_UNIFORM.
	* c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
	* c-common.h (c_finish_omp_for): Add enum tree_code as second
	argument.
	(OMP_CLAUSE_MASK_1): Define.
	(omp_clause_mask): For HWI >= 64 new typedef for
	unsigned HOST_WIDE_INT, otherwise a class with needed ctors and
	operators.

Added:
    branches/gomp-4_0-branch/gcc/ChangeLog.gomp
    branches/gomp-4_0-branch/gcc/fortran/ChangeLog.gomp
Modified:
    branches/gomp-4_0-branch/gcc/c-family/ChangeLog.gomp
    branches/gomp-4_0-branch/gcc/c-family/c-common.h
    branches/gomp-4_0-branch/gcc/c-family/c-omp.c
    branches/gomp-4_0-branch/gcc/c-family/c-pragma.c
    branches/gomp-4_0-branch/gcc/c-family/c-pragma.h
    branches/gomp-4_0-branch/gcc/c/ChangeLog.gomp
    branches/gomp-4_0-branch/gcc/c/c-parser.c
    branches/gomp-4_0-branch/gcc/cp/ChangeLog.gomp
    branches/gomp-4_0-branch/gcc/cp/cp-gimplify.c
    branches/gomp-4_0-branch/gcc/cp/cp-tree.h
    branches/gomp-4_0-branch/gcc/cp/parser.c
    branches/gomp-4_0-branch/gcc/cp/pt.c
    branches/gomp-4_0-branch/gcc/cp/semantics.c
    branches/gomp-4_0-branch/gcc/fortran/f95-lang.c
    branches/gomp-4_0-branch/gcc/gimple-pretty-print.c
    branches/gomp-4_0-branch/gcc/gimple.h
    branches/gomp-4_0-branch/gcc/gimplify.c
    branches/gomp-4_0-branch/gcc/omp-builtins.def
    branches/gomp-4_0-branch/gcc/tree-flow.h
    branches/gomp-4_0-branch/gcc/tree-pretty-print.c
    branches/gomp-4_0-branch/gcc/tree.c
    branches/gomp-4_0-branch/gcc/tree.def
    branches/gomp-4_0-branch/gcc/tree.h


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]