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