internal-fn.def (IFN_GOACC_DIM_SIZE, [...]): New.
authorNathan Sidwell <nathan@codesourcery.com>
Tue, 27 Oct 2015 23:46:39 +0000 (23:46 +0000)
committerNathan Sidwell <nathan@gcc.gnu.org>
Tue, 27 Oct 2015 23:46:39 +0000 (23:46 +0000)
commit9bd46bc97ef88578526adfcba806c9ecd2f9a605
tree735ed3e643e6b1a554e7891e978d7b69a5d66821
parent6e91acf8bbf95ec5f19c7b93ddf10b61e5cc37e6
internal-fn.def (IFN_GOACC_DIM_SIZE, [...]): New.

* internal-fn.def (IFN_GOACC_DIM_SIZE, IFN_GOACC_DIM_POS,
IFN_GOACC_LOOP): New.
* internal-fn.h (enum ifn_unique_kind): Add IFN_UNIQUE_OACC_FORK,
IFN_UNIQUE_OACC_JOIN, IFN_UNIQUE_OACC_HEAD_MARK,
IFN_UNIQUE_OACC_TAIL_MARK.
(enum ifn_goacc_loop_kind): New.
* internal-fn.c (expand_UNIQUE): Add IFN_UNIQUE_OACC_FORK,
IFN_UNIQUE_OACC_JOIN cases.
(expand_GOACC_DIM_SIZE, expand_GOACC_DIM_POS): New.
(expand_GOACC_LOOP): New.
* target-insns.def (oacc_dim_pos, oacc_dim_size): New.
* omp-low.c: Include gimple-pretty-print.h.
(struct oacc_loop): New.
(enum oacc_loop_flags): New.
(oacc_thread_numbers): New.
(oacc_xform_loop): New.
(new_oacc_loop_raw, new_oacc_loop_outer, new_oacc_loop,
new_oacc_loop_routine, finish_oacc_loop, free_oacc_loop): New,
(dump_oacc_loop_part, dump_oacc_loop, debug_oacc_loop): New,
(oacc_loop_discover_walk, oacc_loop_sibling_nrevers,
oacc_loop_discovery): New.
(oacc_loop_xform_head_tail, oacc_loop_xform_loop,
oacc_loop_process): New.
(oacc_loop_fixed_partitions, oacc_loop_partition): New.
(execute_oacc_device_lower): Discover & process loops.  Process
internal fns.
* target.def (goacc.fork_join): Change sense of hook, clarify
documentation.
* doc/tm.texi: Regenerated.

From-SVN: r229466
gcc/ChangeLog
gcc/doc/tm.texi
gcc/internal-fn.c
gcc/internal-fn.def
gcc/internal-fn.h
gcc/omp-low.c
gcc/target-insns.def
gcc/target.def