================ @@ -3745,17 +3840,30 @@ convertOmpTargetData(Operation *op, llvm::IRBuilderBase &builder, return builder.saveIP(); }; + auto customMapperCB = [&](unsigned int i) { + llvm::Function *mapperFunc = nullptr; + if (combinedInfo.Mappers[i]) { + info.HasMapper = true; + llvm::Expected<llvm::Function *> newFn = getOrCreateUserDefinedMapperFunc( + combinedInfo.Mappers[i], builder, moduleTranslation); + assert(newFn && "Expect a valid mapper function is available"); + mapperFunc = *newFn; + } + return mapperFunc; + }; + llvm::OpenMPIRBuilder::LocationDescription ompLoc(builder); llvm::OpenMPIRBuilder::InsertPointTy allocaIP = findAllocaInsertPoint(builder, moduleTranslation); llvm::OpenMPIRBuilder::InsertPointOrErrorTy afterIP = [&]() { if (isa<omp::TargetDataOp>(op)) return ompBuilder->createTargetData( ompLoc, allocaIP, builder.saveIP(), builder.getInt64(deviceID), - ifCond, info, genMapInfoCB, nullptr, bodyGenCB); - return ompBuilder->createTargetData(ompLoc, allocaIP, builder.saveIP(), - builder.getInt64(deviceID), ifCond, - info, genMapInfoCB, &RTLFn); + ifCond, info, genMapInfoCB, customMapperCB, nullptr, bodyGenCB, ---------------- skatrak wrote:
Nit: Document `nullptr` argument, like it's done for `DeviceAddrCB`. https://github.com/llvm/llvm-project/pull/124746 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits