[Openmp-commits] [PATCH] D32326: [OpenMP] libomptarget: Set ref count for global objects to positive infinity
George Rokos via Phabricator via Openmp-commits
openmp-commits at lists.llvm.org
Sat Apr 22 04:30:25 PDT 2017
grokos added inline comments.
Comment at: libomptarget/src/omptarget.cpp:1326-1327
// Add entry to map.
+ if (!Device.getTgtPtrBegin(CurrHostEntry->addr, CurrHostEntry->size))
DP("Add mapping from host " DPxMOD " to device " DPxMOD " with size %zu"
> Shouldn't this be the other way round? If we already added this mapping before, just `continue`?
Right, I overlooked this one...
Comment at: libomptarget/src/omptarget.cpp:1331-1334
+ (uintptr_t)CurrHostEntry->addr, (uintptr_t)CurrHostEntry->addr,
+ (uintptr_t)CurrHostEntry->addr + CurrHostEntry->size,
+ (uintptr_t)CurrDeviceEntry->addr, INF_REF_CNT));
> 1. Are the casts neccessary?
> 2. Please add a comment that the first `addr` is `HostPtrBase` while the second is `HostPtrBegin`
One of the casts is necessary. `CurrHostEntry->addr` is of type `void *`. In order to add to it the size of the entry (`CurrHostEntry->addr + CurrHostEntry->size`) it must be cast to an integral type. The other casts are optional, but it helps make clear that the entries of `struct HostDataToTargetTy` are of type `uintptr_t`.
More information about the Openmp-commits