internal-fn.def (GOACC_REDUCTION): New.
authorNathan Sidwell <nathan@gcc.gnu.org>
Wed, 4 Nov 2015 16:57:36 +0000 (16:57 +0000)
committerNathan Sidwell <nathan@gcc.gnu.org>
Wed, 4 Nov 2015 16:57:36 +0000 (16:57 +0000)
commite50146711b7200e8f822c6d8239430c682b76e4f
tree8cefa28e0fa59d6ad4a8704a956624dba45f3552
parentbe373510f80fc6fc1e7b227056a69b703ce1c7a4
internal-fn.def (GOACC_REDUCTION): New.

* internal-fn.def (GOACC_REDUCTION): New.
* internal-fn.h (enum ifn_goacc_reduction_kind): New.
* internal-fn.c (expand_GOACC_REDUCTION): New.
* target.def (goacc.reduction): New OpenACC hook.
* targhooks.h (default_goacc_reduction): Declare.
* doc/tm.texi.in: Add TARGET_GOACC_REDUCTION.
* doc/tm.texi: Rebuilt.
* omp-low.c (oacc_get_reduction_array_id, oacc_max_threads,
scan_sharing_clauses): Remove oacc reduction handling here.
(lower_rec_input_clauses): Don't handle OpenACC reductions here.
(oacc_lower_reduction_var_helper): Delete.
(lower_oacc_reductions): New.
(lower_reduction_clauses): Don't handle OpenACC reductions here.
(lower_oacc_head_tail): Call lower_oacc_reductions.
(oacc_gimple_assign, oacc_init_reduction_array,
oacc_initialize_reduction_data, oacc_finalize_reduction_data,
oacc_process_reduction_data): Delete.
(lower_omp_target): Remove old OpenACC reduction handling.  Insert
dummy OpenACC gang reduction for reductions at outer level.
(oacc_loop_xform_head_tail): Transform IFN_GOACC_REDUCTION.
(default_goacc_reduction): New.
(execute_oacc_device_lower): Handle IFN_GOACC_REDUCTION.

From-SVN: r229767
gcc/ChangeLog
gcc/doc/tm.texi
gcc/doc/tm.texi.in
gcc/internal-fn.c
gcc/internal-fn.def
gcc/internal-fn.h
gcc/omp-low.c
gcc/target.def
gcc/targhooks.h