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

jakub@gcc.gnu.org jakub@gcc.gnu.org
Fri Jun 21 06:41:00 GMT 2013


Author: jakub
Date: Fri Jun 21 06:41:13 2013
New Revision: 200287

URL: http://gcc.gnu.org/viewcvs?rev=200287&root=gcc&view=rev
Log:
gcc/
	* gimple.h (enum gf_mask): Adjust GF_OMP_FOR_COMBINED
	value representation, add GF_OMP_FOR_COMBINED_INTO.
	(gimple_omp_for_combined_into_p,
	gimple_omp_for_set_combined_into_p): New inlines.
	* gimplify.c (enum omp_region_type): Remove outdated
	ORT_SIMD comment.
	(struct gimplify_omp_ctx): Add combined_loop field.
	(gimplify_omp_for): Call gimple_omp_for_set_combined_into_p
	for inner for/simd constructs combined with an outer
	loop construct (for or distribute).
	* tree.c (omp_clause_num_ops): Add OMP_CLAUSE__LOOPTEMP_
	entry.
	(omp_clause_code_name): Likewise.
	(walk_tree_1): Handle OMP_CLAUSE__LOOPTEMP_.
	* tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE__LOOPTEMP_.
	* tree.h (enum omp_clause_code): Add OMP_CLAUSE__LOOPTEMP_.
	(OMP_CLAUSE_DECL): Allow also on OMP_CLAUSE__LOOPTEMP_.
	* omp-low.c (extract_omp_for_data): Rename non_ws to simd.  Don't set
	fd->chunk_size for non-chunk OMP_CLAUSE_SCHEDULE_STATIC, unless
	fd->have_ordered.  For OMP_CLAUSE_SCHEDULE_STATIC non-ordered loops
	compute fd->iter_type the same as for simd.
	(get_ws_args_for): Add par_stmt argument, if
	gimple_omp_for_combined_into_p, use first two _looptemp_ clauses
	temporaries instead of fd->loop.n{1,2}.
	(determine_parallel_type): Adjust caller.
	(scan_sharing_clauses): Handle OMP_CLAUSE__LOOPTEMP_.
	(find_combined_for): New function.
	(scan_omp_parallel): If gimple_omp_parallel_combined_p and
	it is combined with gimple_omp_for_combined_into_p OMP_FOR,
	add OMP_CLAUSE__LOOPTEMP_ clauses to the parallel.
	(check_omp_nesting_restrictions): Don't insist that the only construct
	nested in OMP_DISTRIBUTE must be OMP_PARALLEL.
	(lower_rec_input_clauses, lower_send_clauses): Handle
	OMP_CLAUSE__LOOPTEMP_.
	(expand_omp_for_init_counts, expand_omp_for_init_vars,
	extract_omp_for_update_vars): New functions.
	(expand_omp_for_generic): Add inner_stmt argument.  Use
	expand_omp_for_{init,update}* helper functions.  Handle combined loop
	constructs.
	(expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
	Likewise.  Handle fd->collapse > 1 and broken_loop cases.
	(expand_omp_simd): Use expand_omp_for_init* helper functions.  Handle
	combined loop constructs.
	(expand_omp_for): Add inner_stmt argument.  Pass it through to
	expand_omp_for_{generic,static_{,no}chunk}.  Use
	expand_omp_for_static* even for fd->collapse > 1 and/or broken_loop
	cases, just not when fd->have_ordered.
	(expand_omp): Adjust expand_omp_for caller.
	(lower_omp_for): If gimple_omp_parallel_combined_p, add
	OMP_CLAUSE__LOOPTEMP_ clauses to the GIMPLE_FOR stmt.
gcc/cp/
	* decl2.c (cplus_decl_attributes): Only add attribute
	to TREE_STATIC vars.
	* parser.c (cp_parser_omp_distribute): Don't reject
	#pragma omp teams distribute simd and
	#pragma omp target teams distribute simd.  Consume
	simd or parallel token.
gcc/c-family/
	* c-omp.c (c_omp_split_clauses): Fix up OMP_CLAUSE_COLLAPSE
	handling.
libgomp/
	* testsuite/libgomp.c/for-1.h: New file.
	* testsuite/libgomp.c/for-2.h: New file.
	* testsuite/libgomp.c/for-1.c: New test.
	* testsuite/libgomp.c/for-2.c: New test.
	* testsuite/libgomp.c++/for-9.C: New test.
	* testsuite/libgomp.c++/for-10.C: New test.
	* testsuite/libgomp.c++/for-11.C: New test.

Added:
    branches/gomp-4_0-branch/libgomp/testsuite/libgomp.c++/for-10.C
    branches/gomp-4_0-branch/libgomp/testsuite/libgomp.c++/for-11.C
    branches/gomp-4_0-branch/libgomp/testsuite/libgomp.c++/for-9.C
    branches/gomp-4_0-branch/libgomp/testsuite/libgomp.c/for-1.c
    branches/gomp-4_0-branch/libgomp/testsuite/libgomp.c/for-1.h
    branches/gomp-4_0-branch/libgomp/testsuite/libgomp.c/for-2.c
    branches/gomp-4_0-branch/libgomp/testsuite/libgomp.c/for-2.h
Modified:
    branches/gomp-4_0-branch/gcc/ChangeLog.gomp
    branches/gomp-4_0-branch/gcc/c-family/ChangeLog.gomp
    branches/gomp-4_0-branch/gcc/c-family/c-omp.c
    branches/gomp-4_0-branch/gcc/cp/ChangeLog.gomp
    branches/gomp-4_0-branch/gcc/cp/decl2.c
    branches/gomp-4_0-branch/gcc/cp/parser.c
    branches/gomp-4_0-branch/gcc/gimple.h
    branches/gomp-4_0-branch/gcc/gimplify.c
    branches/gomp-4_0-branch/gcc/omp-low.c
    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.h
    branches/gomp-4_0-branch/libgomp/ChangeLog.gomp



More information about the Gcc-cvs mailing list