HomePhabricator

[libomptarget] Add support for target update non-contiguous

Authored by cchen on Nov 19 2020, 9:16 AM.

Description

[libomptarget] Add support for target update non-contiguous

This patch is the runtime support for https://reviews.llvm.org/D84192.

In order not to modify the tgt_target_data_update information but still be
able to pass the extra information for non-contiguous map item (offset,
count, and stride for each dimension), this patch overload arg when
the maptype is set as OMP_TGT_MAPTYPE_DESCRIPTOR. The origin arg is for
passing the pointer information, however, the overloaded arg is an
array of descriptor_dim:

struct descriptor_dim {
  int64_t offset;
  int64_t count;
  int64_t stride
};

and the array size is the dimension size. In addition, since we
have count and stride information in descriptor_dim, we can replace/overload the
arg_size parameter by using dimension size.

Reviewed By: grokos, tianshilei1992

Differential Revision: https://reviews.llvm.org/D82245

Details

Committed
cchenNov 19 2020, 9:33 AM
Reviewer
grokos
Differential Revision
D82245: [libomptarget] Add support for target update non-contiguous
Parents
rG8f778b283de5: [sanitizer_common] Add facility to get the full report path
Branches
Unknown
Tags
Unknown