Hi,
this patch prevents parloops from trying to parallelize loops in an oacc
routine.
Committed to gomp-4_0-branch.
Thanks,
- Tom
Don't parallelize loops in oacc routine
2015-10-19 Tom de Vries <t...@codesourcery.com>
* tree-parloops.c (parallelize_loops): Do not parallelize loops in
offloaded functions.
---
gcc/tree-parloops.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/gcc/tree-parloops.c b/gcc/tree-parloops.c
index b2c2e6e..cef1b52 100644
--- a/gcc/tree-parloops.c
+++ b/gcc/tree-parloops.c
@@ -3191,6 +3191,11 @@ parallelize_loops (bool oacc_kernels_p)
/* Do not parallelize loops in the functions created by parallelization. */
if (parallelized_function_p (cfun->decl))
return false;
+
+ /* Do not parallelize loops in offloaded functions. */
+ if (get_oacc_fn_attrib (cfun->decl) != NULL)
+ return false;
+
if (cfun->has_nonlocal_label)
return false;
--
1.9.1