Merge OMP_CLAUSE_USE_DEVICE into OMP_CLAUSE_USE_DEVICE_PTR
gcc/c/ * c-parser.c (c_parser_oacc_clause_use_device): Merge function into... (c_parser_omp_clause_use_device_ptr): ... this function. Adjust all users. gcc/ * tree-core.h (enum omp_clause_code): Merge OMP_CLAUSE_USE_DEVICE into OMP_CLAUSE_USE_DEVICE_PTR. Adjust all users. From-SVN: r231926
This commit is contained in:
parent
e013d90cf6
commit
c7b48c8ae5
@ -1,3 +1,8 @@
|
||||
2015-12-23 Thomas Schwinge <thomas@codesourcery.com>
|
||||
|
||||
* tree-core.h (enum omp_clause_code): Merge OMP_CLAUSE_USE_DEVICE
|
||||
into OMP_CLAUSE_USE_DEVICE_PTR. Adjust all users.
|
||||
|
||||
2015-12-23 David Sherwood <david.sherwood@arm.com>
|
||||
|
||||
* config/arm/iterators.md (VMAXMINFNM): New int iterator.
|
||||
|
@ -1,3 +1,10 @@
|
||||
2015-12-23 Thomas Schwinge <thomas@codesourcery.com>
|
||||
|
||||
* c-parser.c (c_parser_oacc_clause_use_device): Merge function
|
||||
into...
|
||||
(c_parser_omp_clause_use_device_ptr): ... this function. Adjust
|
||||
all users.
|
||||
|
||||
2015-12-22 Marek Polacek <polacek@redhat.com>
|
||||
|
||||
PR c/69002
|
||||
|
@ -11395,7 +11395,10 @@ c_parser_omp_clause_defaultmap (c_parser *parser, tree list)
|
||||
return list;
|
||||
}
|
||||
|
||||
/* OpenMP 4.5:
|
||||
/* OpenACC 2.0:
|
||||
use_device ( variable-list )
|
||||
|
||||
OpenMP 4.5:
|
||||
use_device_ptr ( variable-list ) */
|
||||
|
||||
static tree
|
||||
@ -11730,15 +11733,6 @@ c_parser_oacc_clause_tile (c_parser *parser, tree list)
|
||||
return c;
|
||||
}
|
||||
|
||||
/* OpenACC 2.0:
|
||||
use_device ( variable-list ) */
|
||||
|
||||
static tree
|
||||
c_parser_oacc_clause_use_device (c_parser *parser, tree list)
|
||||
{
|
||||
return c_parser_omp_var_list_parens (parser, OMP_CLAUSE_USE_DEVICE, list);
|
||||
}
|
||||
|
||||
/* OpenACC:
|
||||
wait ( int-expr-list ) */
|
||||
|
||||
@ -13058,7 +13052,7 @@ c_parser_oacc_all_clauses (c_parser *parser, omp_clause_mask mask,
|
||||
c_name = "tile";
|
||||
break;
|
||||
case PRAGMA_OACC_CLAUSE_USE_DEVICE:
|
||||
clauses = c_parser_oacc_clause_use_device (parser, clauses);
|
||||
clauses = c_parser_omp_clause_use_device_ptr (parser, clauses);
|
||||
c_name = "use_device";
|
||||
break;
|
||||
case PRAGMA_OACC_CLAUSE_VECTOR:
|
||||
|
@ -13125,7 +13125,6 @@ c_finish_omp_clauses (tree clauses, bool is_omp, bool declare_simd)
|
||||
bitmap_set_bit (&map_head, DECL_UID (t));
|
||||
goto check_dup_generic;
|
||||
|
||||
case OMP_CLAUSE_USE_DEVICE:
|
||||
case OMP_CLAUSE_IS_DEVICE_PTR:
|
||||
case OMP_CLAUSE_USE_DEVICE_PTR:
|
||||
t = OMP_CLAUSE_DECL (c);
|
||||
|
@ -32097,7 +32097,7 @@ cp_parser_oacc_all_clauses (cp_parser *parser, omp_clause_mask mask,
|
||||
c_name = "tile";
|
||||
break;
|
||||
case PRAGMA_OACC_CLAUSE_USE_DEVICE:
|
||||
clauses = cp_parser_omp_var_list (parser, OMP_CLAUSE_USE_DEVICE,
|
||||
clauses = cp_parser_omp_var_list (parser, OMP_CLAUSE_USE_DEVICE_PTR,
|
||||
clauses);
|
||||
c_name = "use_device";
|
||||
break;
|
||||
|
@ -14425,7 +14425,6 @@ tsubst_omp_clauses (tree clauses, bool declare_simd, bool allow_fields,
|
||||
case OMP_CLAUSE_FROM:
|
||||
case OMP_CLAUSE_TO:
|
||||
case OMP_CLAUSE_MAP:
|
||||
case OMP_CLAUSE_USE_DEVICE:
|
||||
case OMP_CLAUSE_USE_DEVICE_PTR:
|
||||
case OMP_CLAUSE_IS_DEVICE_PTR:
|
||||
OMP_CLAUSE_DECL (nc)
|
||||
@ -14552,7 +14551,6 @@ tsubst_omp_clauses (tree clauses, bool declare_simd, bool allow_fields,
|
||||
case OMP_CLAUSE_COPYPRIVATE:
|
||||
case OMP_CLAUSE_LINEAR:
|
||||
case OMP_CLAUSE_REDUCTION:
|
||||
case OMP_CLAUSE_USE_DEVICE:
|
||||
case OMP_CLAUSE_USE_DEVICE_PTR:
|
||||
case OMP_CLAUSE_IS_DEVICE_PTR:
|
||||
/* tsubst_expr on SCOPE_REF results in returning
|
||||
|
@ -6886,7 +6886,6 @@ finish_omp_clauses (tree clauses, bool allow_fields, bool declare_simd)
|
||||
}
|
||||
break;
|
||||
|
||||
case OMP_CLAUSE_USE_DEVICE:
|
||||
case OMP_CLAUSE_IS_DEVICE_PTR:
|
||||
case OMP_CLAUSE_USE_DEVICE_PTR:
|
||||
field_ok = allow_fields;
|
||||
|
@ -1771,7 +1771,7 @@ gfc_trans_omp_clauses (stmtblock_t *block, gfc_omp_clauses *clauses,
|
||||
clause_code = OMP_CLAUSE_UNIFORM;
|
||||
goto add_clause;
|
||||
case OMP_LIST_USE_DEVICE:
|
||||
clause_code = OMP_CLAUSE_USE_DEVICE;
|
||||
clause_code = OMP_CLAUSE_USE_DEVICE_PTR;
|
||||
goto add_clause;
|
||||
case OMP_LIST_DEVICE_RESIDENT:
|
||||
clause_code = OMP_CLAUSE_DEVICE_RESIDENT;
|
||||
|
@ -7139,7 +7139,6 @@ gimplify_scan_omp_clauses (tree *list_p, gimple_seq *pre_p,
|
||||
}
|
||||
goto do_notice;
|
||||
|
||||
case OMP_CLAUSE_USE_DEVICE:
|
||||
case OMP_CLAUSE_USE_DEVICE_PTR:
|
||||
flags = GOVD_FIRSTPRIVATE | GOVD_EXPLICIT;
|
||||
goto do_add;
|
||||
@ -8051,7 +8050,6 @@ gimplify_adjust_omp_clauses (gimple_seq *pre_p, gimple_seq body, tree *list_p,
|
||||
case OMP_CLAUSE_ASYNC:
|
||||
case OMP_CLAUSE_WAIT:
|
||||
case OMP_CLAUSE_DEVICE_RESIDENT:
|
||||
case OMP_CLAUSE_USE_DEVICE:
|
||||
case OMP_CLAUSE_INDEPENDENT:
|
||||
case OMP_CLAUSE_NUM_GANGS:
|
||||
case OMP_CLAUSE_NUM_WORKERS:
|
||||
|
@ -1957,7 +1957,6 @@ scan_sharing_clauses (tree clauses, omp_context *ctx,
|
||||
install_var_local (decl, ctx);
|
||||
break;
|
||||
|
||||
case OMP_CLAUSE_USE_DEVICE:
|
||||
case OMP_CLAUSE_USE_DEVICE_PTR:
|
||||
decl = OMP_CLAUSE_DECL (c);
|
||||
if (TREE_CODE (TREE_TYPE (decl)) == ARRAY_TYPE)
|
||||
@ -2314,7 +2313,6 @@ scan_sharing_clauses (tree clauses, omp_context *ctx,
|
||||
case OMP_CLAUSE_SIMD:
|
||||
case OMP_CLAUSE_NOGROUP:
|
||||
case OMP_CLAUSE_DEFAULTMAP:
|
||||
case OMP_CLAUSE_USE_DEVICE:
|
||||
case OMP_CLAUSE_USE_DEVICE_PTR:
|
||||
case OMP_CLAUSE__CILK_FOR_COUNT_:
|
||||
case OMP_CLAUSE_ASYNC:
|
||||
@ -15288,7 +15286,6 @@ lower_omp_target (gimple_stmt_iterator *gsi_p, omp_context *ctx)
|
||||
}
|
||||
break;
|
||||
|
||||
case OMP_CLAUSE_USE_DEVICE:
|
||||
case OMP_CLAUSE_USE_DEVICE_PTR:
|
||||
case OMP_CLAUSE_IS_DEVICE_PTR:
|
||||
var = OMP_CLAUSE_DECL (c);
|
||||
@ -15674,14 +15671,12 @@ lower_omp_target (gimple_stmt_iterator *gsi_p, omp_context *ctx)
|
||||
build_int_cstu (tkind_type, tkind));
|
||||
break;
|
||||
|
||||
case OMP_CLAUSE_USE_DEVICE:
|
||||
case OMP_CLAUSE_USE_DEVICE_PTR:
|
||||
case OMP_CLAUSE_IS_DEVICE_PTR:
|
||||
ovar = OMP_CLAUSE_DECL (c);
|
||||
var = lookup_decl_in_outer_ctx (ovar, ctx);
|
||||
x = build_sender_ref (ovar, ctx);
|
||||
if (OMP_CLAUSE_CODE (c) == OMP_CLAUSE_USE_DEVICE_PTR
|
||||
|| OMP_CLAUSE_CODE (c) == OMP_CLAUSE_USE_DEVICE)
|
||||
if (OMP_CLAUSE_CODE (c) == OMP_CLAUSE_USE_DEVICE_PTR)
|
||||
tkind = GOMP_MAP_USE_DEVICE_PTR;
|
||||
else
|
||||
tkind = GOMP_MAP_FIRSTPRIVATE_INT;
|
||||
@ -15884,12 +15879,10 @@ lower_omp_target (gimple_stmt_iterator *gsi_p, omp_context *ctx)
|
||||
gimple_build_assign (new_var, x));
|
||||
}
|
||||
break;
|
||||
case OMP_CLAUSE_USE_DEVICE:
|
||||
case OMP_CLAUSE_USE_DEVICE_PTR:
|
||||
case OMP_CLAUSE_IS_DEVICE_PTR:
|
||||
var = OMP_CLAUSE_DECL (c);
|
||||
if (OMP_CLAUSE_CODE (c) == OMP_CLAUSE_USE_DEVICE_PTR
|
||||
|| OMP_CLAUSE_CODE (c) == OMP_CLAUSE_USE_DEVICE)
|
||||
if (OMP_CLAUSE_CODE (c) == OMP_CLAUSE_USE_DEVICE_PTR)
|
||||
x = build_sender_ref (var, ctx);
|
||||
else
|
||||
x = build_receiver_ref (var, false, ctx);
|
||||
|
@ -8,4 +8,4 @@ program test
|
||||
!$acc host_data use_device(i)
|
||||
!$acc end host_data
|
||||
end program test
|
||||
! { dg-final { scan-tree-dump-times "pragma acc host_data use_device\\(i\\)" 1 "original" } }
|
||||
! { dg-final { scan-tree-dump-times "pragma acc host_data use_device_ptr\\(i\\)" 1 "original" } }
|
||||
|
@ -302,7 +302,8 @@ enum omp_clause_code {
|
||||
OpenMP clause: map ({alloc:,to:,from:,tofrom:,}variable-list). */
|
||||
OMP_CLAUSE_MAP,
|
||||
|
||||
/* OpenMP clause: use_device_ptr (variable-list). */
|
||||
/* OpenACC clause: use_device (variable_list).
|
||||
OpenMP clause: use_device_ptr (variable-list). */
|
||||
OMP_CLAUSE_USE_DEVICE_PTR,
|
||||
|
||||
/* OpenMP clause: is_device_ptr (variable-list). */
|
||||
@ -315,9 +316,6 @@ enum omp_clause_code {
|
||||
/* OpenACC clause: device_resident (variable_list). */
|
||||
OMP_CLAUSE_DEVICE_RESIDENT,
|
||||
|
||||
/* OpenACC clause: use_device (variable_list). */
|
||||
OMP_CLAUSE_USE_DEVICE,
|
||||
|
||||
/* OpenACC clause: gang [(gang-argument-list)].
|
||||
Where
|
||||
gang-argument-list: [gang-argument-list, ] gang-argument
|
||||
|
@ -1072,7 +1072,6 @@ convert_nonlocal_omp_clauses (tree *pclauses, struct walk_stmt_info *wi)
|
||||
case OMP_CLAUSE_SHARED:
|
||||
case OMP_CLAUSE_TO_DECLARE:
|
||||
case OMP_CLAUSE_LINK:
|
||||
case OMP_CLAUSE_USE_DEVICE:
|
||||
case OMP_CLAUSE_USE_DEVICE_PTR:
|
||||
case OMP_CLAUSE_IS_DEVICE_PTR:
|
||||
do_decl_clause:
|
||||
@ -1744,7 +1743,6 @@ convert_local_omp_clauses (tree *pclauses, struct walk_stmt_info *wi)
|
||||
case OMP_CLAUSE_SHARED:
|
||||
case OMP_CLAUSE_TO_DECLARE:
|
||||
case OMP_CLAUSE_LINK:
|
||||
case OMP_CLAUSE_USE_DEVICE:
|
||||
case OMP_CLAUSE_USE_DEVICE_PTR:
|
||||
case OMP_CLAUSE_IS_DEVICE_PTR:
|
||||
do_decl_clause:
|
||||
|
@ -327,9 +327,6 @@ dump_omp_clause (pretty_printer *pp, tree clause, int spc, int flags)
|
||||
case OMP_CLAUSE_DEVICE_RESIDENT:
|
||||
name = "device_resident";
|
||||
goto print_remap;
|
||||
case OMP_CLAUSE_USE_DEVICE:
|
||||
name = "use_device";
|
||||
goto print_remap;
|
||||
case OMP_CLAUSE_TO_DECLARE:
|
||||
name = "to";
|
||||
goto print_remap;
|
||||
|
@ -282,7 +282,6 @@ unsigned const char omp_clause_num_ops[] =
|
||||
1, /* OMP_CLAUSE_IS_DEVICE_PTR */
|
||||
2, /* OMP_CLAUSE__CACHE_ */
|
||||
1, /* OMP_CLAUSE_DEVICE_RESIDENT */
|
||||
1, /* OMP_CLAUSE_USE_DEVICE */
|
||||
2, /* OMP_CLAUSE_GANG */
|
||||
1, /* OMP_CLAUSE_ASYNC */
|
||||
1, /* OMP_CLAUSE_WAIT */
|
||||
@ -354,7 +353,6 @@ const char * const omp_clause_code_name[] =
|
||||
"is_device_ptr",
|
||||
"_cache_",
|
||||
"device_resident",
|
||||
"use_device",
|
||||
"gang",
|
||||
"async",
|
||||
"wait",
|
||||
@ -11612,7 +11610,6 @@ walk_tree_1 (tree *tp, walk_tree_fn func, void *data,
|
||||
/* FALLTHRU */
|
||||
|
||||
case OMP_CLAUSE_DEVICE_RESIDENT:
|
||||
case OMP_CLAUSE_USE_DEVICE:
|
||||
case OMP_CLAUSE_ASYNC:
|
||||
case OMP_CLAUSE_WAIT:
|
||||
case OMP_CLAUSE_WORKER:
|
||||
|
Loading…
Reference in New Issue
Block a user