* tree-pretty-print.c (dump_generic_node): Dump OMP_SECTIONS_SWITCH.
authorrakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 1 Aug 2007 11:50:39 +0000 (11:50 +0000)
committerrakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 1 Aug 2007 11:50:39 +0000 (11:50 +0000)
commitac6e3339fccf89d6b4b36cdb254390f05de9201b
treeff781d81e1c759d85b9e39299b57bf35bf7747a4
parent6e70769979fc9cbf18f7997d0ee0c513dd6e5a34
* tree-pretty-print.c (dump_generic_node): Dump OMP_SECTIONS_SWITCH.
Display new operands of OMP_SECTIONS and OMP_CONTINUE.
* tree.h (OMP_SECTIONS_CONTROL): New macro.
(OMP_DIRECTIVE_P): Add OMP_SECTIONS_SWITCH.
* omp-low.c (get_ws_args_for, determine_parallel_type,
expand_omp_for_generic, expand_omp_for_static_nochunk,
expand_omp_for_static_chunk, expand_omp_for, expand_omp_sections):
Work with more precise CFG.
(build_omp_regions_1): Handle OMP_SECTIONS_SWITCH.
(lower_omp_sections): Emit OMP_SECTIONS_SWITCH.  Add arguments to
OMP_CONTINUE.
* tree-gimple.c (is_gimple_stmt): Handle OMP_SECTIONS_SWITCH.
* gimple-low.c (lower_stmt): Ditto.
* tree-inline.c (estimate_num_insns_1): Ditto.
* tree.def (OMP_SECTIONS, OMP_CONTINUE): Added new operands.
(OMP_SECTIONS_SWITCH): New.
* tree-cfgcleanup.c (cleanup_omp_return): New.
(cleanup_tree_cfg_bb): Call cleanup_omp_return.
* tree-cfg.c (make_edges): Create back edges for OMP_CONTINUE
and exit edge for OMP_FOR.  Handle OMP_SECTIONS_SWITCH.
(tree_redirect_edge_and_branch): Handle omp constructs.

* fortran/trans-openmp.c (gfc_trans_omp_sections): Build OMP_SECTIONS
with three arguments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127121 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/fortran/trans-openmp.c
gcc/gimple-low.c
gcc/omp-low.c
gcc/tree-cfg.c
gcc/tree-cfgcleanup.c
gcc/tree-gimple.c
gcc/tree-inline.c
gcc/tree-pretty-print.c
gcc/tree.def
gcc/tree.h