On Mon, Jun 15, 2015 at 15:06:09 +0200, Jakub Jelinek wrote:
> On Mon, Jun 15, 2015 at 03:20:37PM +0300, Ilya Verbin wrote:
> > This patch introduces new versions of GOMP_target{,_data,_update} for
> > OpenMP 4.1
> > with unsigned short for map kinds, but without new async arguments yet.
>
> I think I'd prefer (for now) to suffix the functions with _41 instead of 1
> (and we'll see if we can come up with better names when async support is
> added).
OK.
> Do we need to change GOMP_target_update though (at least right
> now)? I mean, the construct only allows to and from clauses, not the map
> clause, and those don't really have an always modifier, nor release/delete
> semantics etc., so at least for now I think using the current
> GOMP_target_update should be ok.
I thought that it wouldn't look good, since without GOMP_target_update_41 we
will need to keep this obsolete parts:
- switch (start_ix)
- {
- case BUILT_IN_GOMP_TARGET_UPDATE:
- /* This const void * is part of the current ABI, but we're not actually
- using it. */
- args.quick_push (build_zero_cst (ptr_type_node));
- break;
- case BUILT_IN_GOMP_TARGET:
- case BUILT_IN_GOMP_TARGET_DATA:
- case BUILT_IN_GOACC_DATA_START:
- case BUILT_IN_GOACC_ENTER_EXIT_DATA:
- case BUILT_IN_GOACC_PARALLEL:
- case BUILT_IN_GOACC_UPDATE:
- break;
- default:
- gcc_unreachable ();
- }
and
- tree tkind_type;
- int talign_shift;
- if (is_gimple_omp_oacc (stmt))
- {
- tkind_type = short_unsigned_type_node;
- talign_shift = 8;
- }
- else
- {
- tkind_type = unsigned_char_type_node;
- talign_shift = 3;
- }
+ tree tkind_type = short_unsigned_type_node;
+ int talign_shift = 8;
-- Ilya