File tree Expand file tree Collapse file tree 1 file changed +6
-2
lines changed Expand file tree Collapse file tree 1 file changed +6
-2
lines changed Original file line number Diff line number Diff line change @@ -8776,6 +8776,11 @@ class MappableExprsHandler {
87768776 UseDeviceDataCombinedInfo.DevicePtrDecls.emplace_back(VD);
87778777 UseDeviceDataCombinedInfo.DevicePointers.emplace_back(
87788778 IsDevAddr ? DeviceInfoTy::Address : DeviceInfoTy::Pointer);
8779+ // FIXME: For use_device_addr on array-sections, this should
8780+ // be the starting address of the section.
8781+ // e.g. int *p;
8782+ // ... use_device_addr(p[3])
8783+ // &p[0], &p[3], /*size=*/0, RETURN_PARAM
87798784 UseDeviceDataCombinedInfo.Pointers.push_back(Ptr);
87808785 UseDeviceDataCombinedInfo.Sizes.push_back(
87818786 llvm::Constant::getNullValue(CGF.Int64Ty));
@@ -8791,8 +8796,7 @@ class MappableExprsHandler {
87918796 Components,
87928797 bool IsDevAddr, bool IEIsAttachPtrForDevAddr = false) {
87938798 // We didn't find any match in our map information - generate a zero
8794- // size array section - if the pointer is a struct member we defer
8795- // this action until the whole struct has been processed.
8799+ // size array section.
87968800 llvm::Value *Ptr;
87978801 if (IsDevAddr && !IEIsAttachPtrForDevAddr) {
87988802 if (IE->isGLValue())
You can’t perform that action at this time.
0 commit comments