On Mon, Nov 02, 2015 at 11:18:37AM -0500, Nathan Sidwell wrote:
> 2015-11-02 Nathan Sidwell <[email protected]>
> Cesar Philippidis <[email protected]>
>
> * 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.
Ok.
Jakub