diff mbox

[gomp4,1/6] During gimplification, allow additional flags next to ORT_TARGET.

Message ID 1389712208-416-1-git-send-email-thomas@codesourcery.com
State New
Headers show

Commit Message

Thomas Schwinge Jan. 14, 2014, 3:10 p.m. UTC
From: Thomas Schwinge <thomas@codesourcery.com>

	gcc/
	* gimplify.c (gimplify_call_expr, gimplify_modify_expr)
	(omp_firstprivatize_variable, omp_notice_threadprivate_variable)
	(omp_notice_variable, gimplify_adjust_omp_clauses)
	(gimplify_omp_workshare): Treat ORT_TARGET as a flag, not as a
	value.
---
 gcc/gimplify.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)
diff mbox

Patch

diff --git gcc/gimplify.c gcc/gimplify.c
index e45bed2..90507c2 100644
--- gcc/gimplify.c
+++ gcc/gimplify.c
@@ -2363,7 +2363,7 @@  gimplify_call_expr (tree *expr_p, gimple_seq *pre_p, bool want_value)
 	 during omplower pass instead.  */
       struct gimplify_omp_ctx *ctx;
       for (ctx = gimplify_omp_ctxp; ctx; ctx = ctx->outer_context)
-	if (ctx->region_type == ORT_TARGET)
+	if (ctx->region_type & ORT_TARGET)
 	  break;
       if (ctx == NULL)
 	fold_stmt (&gsi);
@@ -4534,7 +4534,7 @@  gimplify_modify_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p,
      during omplower pass instead.  */
   struct gimplify_omp_ctx *ctx;
   for (ctx = gimplify_omp_ctxp; ctx; ctx = ctx->outer_context)
-    if (ctx->region_type == ORT_TARGET)
+    if (ctx->region_type & ORT_TARGET)
       break;
   if (ctx == NULL)
     fold_stmt (&gsi);
@@ -5317,7 +5317,7 @@  omp_firstprivatize_variable (struct gimplify_omp_ctx *ctx, tree decl)
 	  else
 	    return;
 	}
-      else if (ctx->region_type == ORT_TARGET)
+      else if (ctx->region_type & ORT_TARGET)
 	omp_add_variable (ctx, decl, GOVD_MAP | GOVD_MAP_TO_ONLY);
       else if (ctx->region_type != ORT_WORKSHARE
 	       && ctx->region_type != ORT_SIMD
@@ -5499,7 +5499,7 @@  omp_notice_threadprivate_variable (struct gimplify_omp_ctx *ctx, tree decl,
   struct gimplify_omp_ctx *octx;
 
   for (octx = ctx; octx; octx = octx->outer_context)
-    if (octx->region_type == ORT_TARGET)
+    if (octx->region_type & ORT_TARGET)
       {
 	n = splay_tree_lookup (octx->variables, (splay_tree_key)decl);
 	if (n == NULL)
@@ -5560,7 +5560,7 @@  omp_notice_variable (struct gimplify_omp_ctx *ctx, tree decl, bool in_code)
     }
 
   n = splay_tree_lookup (ctx->variables, (splay_tree_key)decl);
-  if (ctx->region_type == ORT_TARGET)
+  if (ctx->region_type & ORT_TARGET)
     {
       if (n == NULL)
 	{
@@ -6285,7 +6285,7 @@  gimplify_adjust_omp_clauses (tree *list_p)
 	  if (!DECL_P (decl))
 	    break;
 	  n = splay_tree_lookup (ctx->variables, (splay_tree_key) decl);
-	  if (ctx->region_type == ORT_TARGET && !(n->value & GOVD_SEEN))
+	  if ((ctx->region_type & ORT_TARGET) && !(n->value & GOVD_SEEN))
 	    remove = true;
 	  else if (DECL_SIZE (decl)
 		   && TREE_CODE (DECL_SIZE (decl)) != INTEGER_CST
@@ -6857,7 +6857,7 @@  gimplify_omp_workshare (tree *expr_p, gimple_seq *pre_p)
       gcc_unreachable ();
     }
   gimplify_scan_omp_clauses (&OMP_CLAUSES (expr), pre_p, ort);
-  if (ort == ORT_TARGET || ort == ORT_TARGET_DATA)
+  if ((ort & ORT_TARGET) || ort == ORT_TARGET_DATA)
     {
       push_gimplify_context ();
       gimple g = gimplify_and_return_first (OMP_BODY (expr), &body);