aboutsummaryrefslogtreecommitdiff
path: root/gcc/omp-low.h
diff options
context:
space:
mode:
authorTom de Vries <tom@codesourcery.com>2016-01-18 12:52:32 +0000
committerTom de Vries <vries@gcc.gnu.org>2016-01-18 12:52:32 +0000
commit61d9c5274e07eb4dd43c4878b93438452e8074b1 (patch)
tree139f5264c912aebb738b36613946a5f9c12f9595 /gcc/omp-low.h
parent12db0814023fa0f6a772e6e6cf0b256c2ab46b95 (diff)
downloadgcc-61d9c5274e07eb4dd43c4878b93438452e8074b1.zip
gcc-61d9c5274e07eb4dd43c4878b93438452e8074b1.tar.gz
gcc-61d9c5274e07eb4dd43c4878b93438452e8074b1.tar.bz2
Add oacc_kernels_p argument to pass_parallelize_loops
2016-01-18 Tom de Vries <tom@codesourcery.com> * omp-low.c (set_oacc_fn_attrib): Make extern. * omp-low.h (set_oacc_fn_attrib): Declare. * tree-parloops.c (struct reduction_info): Add reduc_addr field. (create_call_for_reduction_1): Handle case that reduc_addr is non-NULL. (create_parallel_loop, gen_parallel_loop, try_create_reduction_list): Add and handle function parameter oacc_kernels_p. (find_reduc_addr, get_omp_data_i_param): New function. (ref_conflicts_with_region, oacc_entry_exit_ok_1) (oacc_entry_exit_single_gang, oacc_entry_exit_ok): New function. (parallelize_loops): Add and handle function parameter oacc_kernels_p. Calculate dominance info. Skip loops that are not in a kernels region in oacc_kernels_p mode. Skip inner loops of parallelized loops. (pass_parallelize_loops::execute): Call parallelize_loops with oacc_kernels_p argument. (pass_parallelize_loops::clone, pass_parallelize_loops::set_pass_param): New member function. (pass_parallelize_loops::bool oacc_kernels_p): New member var. * passes.def: Add argument to pass_parallelize_loops instantation. From-SVN: r232512
Diffstat (limited to 'gcc/omp-low.h')
-rw-r--r--gcc/omp-low.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/omp-low.h b/gcc/omp-low.h
index 3459c1b..64caef8 100644
--- a/gcc/omp-low.h
+++ b/gcc/omp-low.h
@@ -33,6 +33,7 @@ extern tree omp_member_access_dummy_var (tree);
extern void replace_oacc_fn_attrib (tree, tree);
extern tree build_oacc_routine_dims (tree);
extern tree get_oacc_fn_attrib (tree);
+extern void set_oacc_fn_attrib (tree, tree, vec<tree> *);
extern int get_oacc_ifn_dim_arg (const gimple *);
extern int get_oacc_fn_dim_size (tree, int);