While I've not looked at the rest of the patch, this bit stood out:

+static bool
+is_oacc_parallel_reduction (tree var, omp_context *ctx)
+{
+  if (!is_oacc_parallel (ctx))
+    return false;
+
+  tree clauses = gimple_omp_target_clauses (ctx->stmt);
+
+  /* Don't install a local copy of the decl if it used
+     inside a acc parallel reduction.  */

^^ comment is misleading -- this routine's not installing anything

+  if (is_oacc_parallel (ctx))

^^ already checked above.

+    for (tree c = clauses; c; c = OMP_CLAUSE_CHAIN (c))
+      if (OMP_CLAUSE_CODE (c) == OMP_CLAUSE_REDUCTION
+         && OMP_CLAUSE_DECL (c) == var)
+       return true;
+
+  return false;
+}
+


Reply via email to