Commit 0d0afa9f by Thomas Schwinge Committed by Thomas Schwinge

Clarify gcc/gimplify.c:oacc_default_clause

	gcc/
	* gimplify.c (oacc_default_clause): Clarify.

From-SVN: r248279
parent 9740ed54
2017-05-19 Thomas Schwinge <thomas@codesourcery.com>
* gimplify.c (oacc_default_clause): Clarify.
2017-05-19 Nathan Sidwell <nathan@acm.org>
LANG_HOOK_REGISTER_DUMPS
......
......@@ -6952,30 +6952,34 @@ oacc_default_clause (struct gimplify_omp_ctx *ctx, tree decl, unsigned flags)
switch (ctx->region_type)
{
default:
gcc_unreachable ();
case ORT_ACC_KERNELS:
/* Scalars are default 'copy' under kernels, non-scalars are default
'present_or_copy'. */
flags |= GOVD_MAP;
if (!AGGREGATE_TYPE_P (type))
flags |= GOVD_MAP_FORCE;
rkind = "kernels";
if (AGGREGATE_TYPE_P (type))
/* Aggregates default to 'present_or_copy'. */
flags |= GOVD_MAP;
else
/* Scalars default to 'copy'. */
flags |= GOVD_MAP | GOVD_MAP_FORCE;
break;
case ORT_ACC_PARALLEL:
{
if (on_device || AGGREGATE_TYPE_P (type) || declared)
/* Aggregates default to 'present_or_copy'. */
flags |= GOVD_MAP;
else
/* Scalars default to 'firstprivate'. */
flags |= GOVD_FIRSTPRIVATE;
rkind = "parallel";
}
rkind = "parallel";
if (on_device || declared)
flags |= GOVD_MAP;
else if (AGGREGATE_TYPE_P (type))
/* Aggregates default to 'present_or_copy'. */
flags |= GOVD_MAP;
else
/* Scalars default to 'firstprivate'. */
flags |= GOVD_FIRSTPRIVATE;
break;
default:
gcc_unreachable ();
}
if (DECL_ARTIFICIAL (decl))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment