aboutsummaryrefslogtreecommitdiff
path: root/gcc/internal-fn.c
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@gcc.gnu.org>2015-11-04 16:57:36 +0000
committerNathan Sidwell <nathan@gcc.gnu.org>2015-11-04 16:57:36 +0000
commite50146711b7200e8f822c6d8239430c682b76e4f (patch)
tree8cefa28e0fa59d6ad4a8704a956624dba45f3552 /gcc/internal-fn.c
parentbe373510f80fc6fc1e7b227056a69b703ce1c7a4 (diff)
downloadgcc-e50146711b7200e8f822c6d8239430c682b76e4f.zip
gcc-e50146711b7200e8f822c6d8239430c682b76e4f.tar.gz
gcc-e50146711b7200e8f822c6d8239430c682b76e4f.tar.bz2
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
Diffstat (limited to 'gcc/internal-fn.c')
-rw-r--r--gcc/internal-fn.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/internal-fn.c b/gcc/internal-fn.c
index a7da373..6fac752 100644
--- a/gcc/internal-fn.c
+++ b/gcc/internal-fn.c
@@ -2045,6 +2045,14 @@ expand_GOACC_LOOP (gcall *stmt ATTRIBUTE_UNUSED)
gcc_unreachable ();
}
+/* This is expanded by oacc_device_lower pass. */
+
+static void
+expand_GOACC_REDUCTION (gcall *stmt ATTRIBUTE_UNUSED)
+{
+ gcc_unreachable ();
+}
+
/* Routines to expand each internal function, indexed by function number.
Each routine has the prototype: