aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-loop.c
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@codesourcery.com>2017-05-12 11:02:55 +0200
committerThomas Schwinge <tschwinge@gcc.gnu.org>2017-05-12 11:02:55 +0200
commit25651634436238d505c586fd308cdd5b6c5db8f9 (patch)
tree7fddfeb04f28bb8f5eb26dde13c784b149b14de3 /gcc/tree-ssa-loop.c
parentee58b02f1160548513a3d00a04acbad93c423b3f (diff)
downloadgcc-25651634436238d505c586fd308cdd5b6c5db8f9.zip
gcc-25651634436238d505c586fd308cdd5b6c5db8f9.tar.gz
gcc-25651634436238d505c586fd308cdd5b6c5db8f9.tar.bz2
Use "oacc kernels" attribute for OpenACC kernels
gcc/ * omp-expand.c (expand_omp_target) <GF_OMP_TARGET_KIND_OACC_KERNELS>: Set "oacc kernels" attribute. * omp-general.c (oacc_set_fn_attrib): Remove is_kernel formal parameter. Adjust all users. (oacc_fn_attrib_kernels_p): Remove function. * omp-offload.c (execute_oacc_device_lower): Look for "oacc kernels" attribute instead of calling oacc_fn_attrib_kernels_p. * tree-ssa-loop.c (gate_oacc_kernels): Likewise. * tree-parloops.c (create_parallel_loop): If oacc_kernels_p, assert "oacc kernels" attribute is set. gcc/testsuite/ * c-c++-common/goacc/classify-kernels-unparallelized.c: Adjust. * c-c++-common/goacc/classify-kernels.c: Likewise. * c-c++-common/goacc/classify-parallel.c: Likewise. * c-c++-common/goacc/classify-routine.c: Likewise. * gfortran.dg/goacc/classify-kernels-unparallelized.f95: Likewise. * gfortran.dg/goacc/classify-kernels.f95: Likewise. * gfortran.dg/goacc/classify-parallel.f95: Likewise. * gfortran.dg/goacc/classify-routine.f95: Likewise. From-SVN: r247955
Diffstat (limited to 'gcc/tree-ssa-loop.c')
-rw-r--r--gcc/tree-ssa-loop.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/gcc/tree-ssa-loop.c b/gcc/tree-ssa-loop.c
index 8b25b41..10c43f3 100644
--- a/gcc/tree-ssa-loop.c
+++ b/gcc/tree-ssa-loop.c
@@ -152,10 +152,7 @@ gate_oacc_kernels (function *fn)
if (!flag_openacc)
return false;
- tree oacc_function_attr = oacc_get_fn_attrib (fn->decl);
- if (oacc_function_attr == NULL_TREE)
- return false;
- if (!oacc_fn_attrib_kernels_p (oacc_function_attr))
+ if (!lookup_attribute ("oacc kernels", DECL_ATTRIBUTES (fn->decl)))
return false;
struct loop *loop;