@@ -357,10 +357,10 @@ gomp_map_vars (struct gomp_device_descr *devicep, size_t mapnum,
/* FIXME: Perhaps add some smarts, like if copying
several adjacent fields from host to target, use some
host buffer to avoid sending each var individually. */
- devicep->device_host2dev_func((void *) (tgt->tgt_start
- + k->tgt_offset),
- (void *) k->host_start,
- k->host_end - k->host_start);
+ devicep->device_host2dev_func
+ ((void *) (tgt->tgt_start + k->tgt_offset),
+ (void *) k->host_start,
+ k->host_end - k->host_start);
break;
case 4: /* POINTER */
cur_node.host_start
@@ -368,11 +368,12 @@ gomp_map_vars (struct gomp_device_descr *devicep, size_t mapnum,
if (cur_node.host_start == (uintptr_t) NULL)
{
cur_node.tgt_offset = (uintptr_t) NULL;
- /* FIXME: host to device copy, see above FIXME
- comment. */
- memcpy ((void *) (tgt->tgt_start + k->tgt_offset),
- (void *) &cur_node.tgt_offset,
- sizeof (void *));
+ /* Copy from host to device memory. */
+ /* FIXME: see above FIXME comment. */
+ devicep->device_host2dev_func
+ ((void *) (tgt->tgt_start + k->tgt_offset),
+ (void *) &cur_node.tgt_offset,
+ sizeof (void *));
break;
}
/* Add bias to the pointer value. */
@@ -406,19 +407,18 @@ gomp_map_vars (struct gomp_device_descr *devicep, size_t mapnum,
cur_node.tgt_offset -= sizes[i];
/* Copy from host to device memory. */
/* FIXME: see above FIXME comment. */
- devicep->device_host2dev_func ((void *) (tgt->tgt_start
- + k->tgt_offset),
- (void *) &cur_node.tgt_offset,
- sizeof (void *));
+ devicep->device_host2dev_func
+ ((void *) (tgt->tgt_start + k->tgt_offset),
+ (void *) &cur_node.tgt_offset,
+ sizeof (void *));
break;
case 5: /* TO_PSET */
- /* FIXME: This is supposed to be copy from host to device
- memory. Perhaps add some smarts, like if copying
- several adjacent fields from host to target, use some
- host buffer to avoid sending each var individually. */
- memcpy ((void *) (tgt->tgt_start + k->tgt_offset),
- (void *) k->host_start,
- k->host_end - k->host_start);
+ /* Copy from host to device memory. */
+ /* FIXME: see above FIXME comment. */
+ devicep->device_host2dev_func
+ ((void *) (tgt->tgt_start + k->tgt_offset),
+ (void *) k->host_start,
+ (k->host_end - k->host_start));
for (j = i + 1; j < mapnum; j++)
if ((kinds[j] & 7) != 4)
break;
@@ -435,13 +435,14 @@ gomp_map_vars (struct gomp_device_descr *devicep, size_t mapnum,
if (cur_node.host_start == (uintptr_t) NULL)
{
cur_node.tgt_offset = (uintptr_t) NULL;
- /* FIXME: host to device copy, see above FIXME
- comment. */
- memcpy ((void *) (tgt->tgt_start + k->tgt_offset
- + ((uintptr_t) hostaddrs[j]
- - k->host_start)),
- (void *) &cur_node.tgt_offset,
- sizeof (void *));
+ /* Copy from host to device memory. */
+ /* FIXME: see above FIXME comment. */
+ devicep->device_host2dev_func
+ ((void *) (tgt->tgt_start + k->tgt_offset
+ + ((uintptr_t) hostaddrs[j]
+ - k->host_start)),
+ (void *) &cur_node.tgt_offset,
+ sizeof (void *));
i++;
continue;
}
@@ -475,13 +476,14 @@ gomp_map_vars (struct gomp_device_descr *devicep, size_t mapnum,
array section. Now subtract bias to get what we
want to initialize the pointer with. */
cur_node.tgt_offset -= sizes[j];
- /* FIXME: host to device copy, see above FIXME
- comment. */
- memcpy ((void *) (tgt->tgt_start + k->tgt_offset
- + ((uintptr_t) hostaddrs[j]
- - k->host_start)),
- (void *) &cur_node.tgt_offset,
- sizeof (void *));
+ /* Copy from host to device memory. */
+ /* FIXME: see above FIXME comment. */
+ devicep->device_host2dev_func
+ ((void *) (tgt->tgt_start + k->tgt_offset
+ + ((uintptr_t) hostaddrs[j]
+ - k->host_start)),
+ (void *) &cur_node.tgt_offset,
+ sizeof (void *));
i++;
}
break;
@@ -501,10 +503,10 @@ gomp_map_vars (struct gomp_device_descr *devicep, size_t mapnum,
+ tgt->list[i]->tgt_offset;
/* Copy from host to device memory. */
/* FIXME: see above FIXME comment. */
- devicep->device_host2dev_func ((void *) (tgt->tgt_start
- + i * sizeof (void *)),
- (void *) &cur_node.tgt_offset,
- sizeof (void *));
+ devicep->device_host2dev_func
+ ((void *) (tgt->tgt_start + i * sizeof (void *)),
+ (void *) &cur_node.tgt_offset,
+ sizeof (void *));
}
}
@@ -546,10 +548,10 @@ gomp_unmap_vars (struct target_mem_desc *tgt)
splay_tree_key k = tgt->list[i];
if (k->copy_from)
/* Copy from device to host memory. */
- devicep->device_dev2host_func ((void *) k->host_start,
- (void *) (k->tgt->tgt_start
- + k->tgt_offset),
- k->host_end - k->host_start);
+ devicep->device_dev2host_func
+ ((void *) k->host_start,
+ (void *) (k->tgt->tgt_start + k->tgt_offset),
+ k->host_end - k->host_start);
splay_tree_remove (&devicep->dev_splay_tree, k);
if (k->tgt->refcount > 1)
k->tgt->refcount--;
@@ -597,22 +599,22 @@ gomp_update (struct gomp_device_descr *devicep, size_t mapnum,
(void *) n->host_end);
if ((kinds[i] & 7) == 1)
/* Copy from host to device memory. */
- devicep->device_host2dev_func ((void *) (n->tgt->tgt_start
- + n->tgt_offset
- + cur_node.host_start
- - n->host_start),
- (void *) cur_node.host_start,
- cur_node.host_end
- - cur_node.host_start);
+ devicep->device_host2dev_func
+ ((void *) (n->tgt->tgt_start
+ + n->tgt_offset
+ + cur_node.host_start
+ - n->host_start),
+ (void *) cur_node.host_start,
+ cur_node.host_end - cur_node.host_start);
else if ((kinds[i] & 7) == 2)
/* Copy from device to host memory. */
- devicep->device_dev2host_func ((void *) cur_node.host_start,
- (void *) (n->tgt->tgt_start
- + n->tgt_offset
- + cur_node.host_start
- - n->host_start),
- cur_node.host_end
- - cur_node.host_start);
+ devicep->device_dev2host_func
+ ((void *) cur_node.host_start,
+ (void *) (n->tgt->tgt_start
+ + n->tgt_offset
+ + cur_node.host_start
+ - n->host_start),
+ cur_node.host_end - cur_node.host_start);
}
else
gomp_fatal ("Trying to update [%p..%p) object that is not mapped",