Clarify gcc/gimplify.c:oacc_default_clause
authorThomas Schwinge <thomas@codesourcery.com>
Fri, 19 May 2017 13:32:30 +0000 (15:32 +0200)
committerThomas Schwinge <tschwinge@gcc.gnu.org>
Fri, 19 May 2017 13:32:30 +0000 (15:32 +0200)
gcc/
* gimplify.c (oacc_default_clause): Clarify.

From-SVN: r248279

gcc/ChangeLog
gcc/gimplify.c

index 44ff617..8f63902 100644 (file)
@@ -1,3 +1,7 @@
+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
index acaab8b..0c02ee4 100644 (file)
@@ -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))