r236830 - in /branches/gomp-4_5-branch/gcc/fort...
jakub@gcc.gnu.org
jakub@gcc.gnu.org
Fri May 27 15:14:00 GMT 2016
Author: jakub
Date: Fri May 27 15:14:26 2016
New Revision: 236830
URL: https://gcc.gnu.org/viewcvs?rev=236830&root=gcc&view=rev
Log:
* gfortran.h (enum gfc_statement): Add ST_OMP_ORDERED_DEPEND.
(enum gfc_omp_depend_op): Add OMP_DEPEND_SINK_FIRST and
OMP_DEPEND_SINK.
(struct gfc_omp_clauses): Add depend_source field.
* parse.c (decode_omp_directive): If ordered directive has
depend clause as the first of the clauses, use
gfc_match_omp_ordered_depend and ST_OMP_ORDERED_DEPEND instead of
gfc_match_omp_ordered and ST_OMP_ORDERED.
(case_executable): Add ST_OMP_ORDERED_DEPEND case.
(gfc_ascii_statement): Handle ST_OMP_ORDERED_DEPEND.
* st.c (gfc_free_statement): Free omp clauses even for
EXEC_OMP_ORDERED.
* dump-parse-tree.c (show_omp_namelist): Handle OMP_DEPEND_SINK_FIRST
depend_op.
(show_omp_clauses): Handle depend_source.
(show_omp_node): Print clauses for EXEC_OMP_ORDERED. Allow NULL
c->block for EXEC_OMP_ORDERED.
* trans-openmp.c (gfc_trans_omp_clauses): Handle OMP_DEPEND_SINK_FIRST
depend_op. Handle orderedc and depend_source.
(gfc_trans_omp_do): Set collapse to orderedc if non-zero. Fill in
OMP_FOR_ORIG_DECLS for doacross loops.
(gfc_trans_omp_ordered): Translate omp clauses, allow NULL
code->block.
(gfc_split_omp_clauses): Copy orderedc together with ordered.
* frontend-passes.c (gfc_code_walker): Handle EXEC_OMP_ORDERED.
* openmp.c (gfc_match_omp_depend_sink): New function.
(gfc_match_omp_clauses): Parse depend(source) and depend(sink: ...).
(OMP_ORDERED_CLAUSES): Define.
(gfc_match_omp_ordered): Parse clauses.
(gfc_match_omp_ordered_depend): New function.
(resolve_omp_clauses): Require orderedc >= collapse if specified.
Handle depend(sink:) and depend(source) restrictions. Disallow linear
clause when orderedc is non-zero.
(gfc_resolve_omp_do_blocks): Set omp_current_do_collapse to orderedc
if non-zero.
(resolve_omp_do): Set collapse to orderedc if non-zero.
* match.h (gfc_match_omp_ordered_depend): New prototype.
* match.c (match_exit_cycle): Rename collapse variable to count,
set it to orderedc if non-zero, instead of collapse.
Modified:
branches/gomp-4_5-branch/gcc/fortran/ChangeLog.gomp
branches/gomp-4_5-branch/gcc/fortran/dump-parse-tree.c
branches/gomp-4_5-branch/gcc/fortran/frontend-passes.c
branches/gomp-4_5-branch/gcc/fortran/gfortran.h
branches/gomp-4_5-branch/gcc/fortran/match.c
branches/gomp-4_5-branch/gcc/fortran/match.h
branches/gomp-4_5-branch/gcc/fortran/openmp.c
branches/gomp-4_5-branch/gcc/fortran/parse.c
branches/gomp-4_5-branch/gcc/fortran/st.c
branches/gomp-4_5-branch/gcc/fortran/trans-openmp.c
More information about the Gcc-cvs
mailing list