Lines Matching full:desc

88                            MutSparseTensorDescriptor desc,
91 Type etp = desc.getMemRefElementType(kind, lvl);
92 Value field = desc.getMemRefField(kind, lvl);
96 loc, desc.getSpecifierField(builder, loc, specFieldKind, lvl), field,
99 desc.setMemRefField(kind, lvl, pushBackOp.getOutBuffer());
100 desc.setSpecifierField(builder, loc, specFieldKind, lvl,
106 MutSparseTensorDescriptor desc, Level startLvl) {
107 const SparseTensorType stt(desc.getRankedTensorType());
123 createPushback(builder, loc, desc, SparseTensorFieldKind::PosMemRef, lvl,
133 Value size = desc.getLvlSize(builder, loc, lvl);
138 createPushback(builder, loc, desc, SparseTensorFieldKind::ValMemRef,
240 MutSparseTensorDescriptor desc(stt, fields);
243 desc.setLvlSize(builder, loc, lvl, lvlSizesValues[lvl]);
246 createPushback(builder, loc, desc, SparseTensorFieldKind::PosMemRef, lvl,
249 allocSchemeForRank(builder, loc, desc, /*rank=*/0);
255 /// pstart = desc.positions[lvl][parentPos]
256 /// pstop = desc.positions[lvl][parentPos+1]
258 /// msz = desc.coordinates[lvl].size()
260 /// isPresent = (desc.coordinates[lvl][plast] == lvlCoords[lvl])
263 /// desc.positions[lvl][parentPos] = msz
268 /// desc.coordinates[lvl].push_back(lvlCoords[lvl])
269 /// desc.positions[lvl][parentPos+1] = msz+1
275 MutSparseTensorDescriptor desc, ValueRange lvlCoords,
277 const SparseTensorType stt(desc.getRankedTensorType());
287 std::tie(crdFidx, crdStride) = desc.getCrdMemRefIndexAndStride(lvl);
290 const Value positionsAtLvl = desc.getPosMemRef(lvl);
293 const Value crdMsz = desc.getCrdMemSize(builder, loc, lvl);
309 genLoad(builder, loc, desc.getMemRefField(crdFidx),
326 for (unsigned i = 0, e = desc.getNumFields(); i < e; i++)
327 types.push_back(desc.getField(i).getType());
337 desc.getFields().push_back(plast);
338 builder.create<scf::YieldOp>(loc, desc.getFields());
339 desc.getFields().pop_back();
345 createPushback(builder, loc, desc, SparseTensorFieldKind::CrdMemRef, lvl,
349 allocSchemeForRank(builder, loc, desc, lvl + 1);
351 desc.getFields().push_back(msz);
352 builder.create<scf::YieldOp>(loc, desc.getFields());
353 desc.getFields().pop_back();
358 for (unsigned i = 0, e = desc.getNumFields(); i < e; i++)
359 desc.setField(i, ifOp2.getResult(o++));
365 SparseTensorDescriptor desc) {
366 const SparseTensorType stt(desc.getRankedTensorType());
379 Value posMemRef = desc.getPosMemRef(lvl);
380 Value hi = desc.getPosMemSize(builder, loc, lvl);
475 MutSparseTensorDescriptor desc(stt, fields);
496 genCompressed(builder, loc, desc, coords, value, parentPos, lvl);
502 createPushback(builder, loc, desc, SparseTensorFieldKind::CrdMemRef,
509 Value size = desc.getLvlSize(builder, loc, lvl);
516 createPushback(builder, loc, desc, SparseTensorFieldKind::ValMemRef,
519 genStore(builder, loc, value, desc.getValMemRef(), parentPos);
643 auto desc = getDescriptorFromTensorTuple(adaptor.getSource(), srcType);
644 auto sz = desc.getLvlSize(rewriter, op.getLoc(), *lvl);
669 auto desc = getDescriptorFromTensorTuple(adaptor.getInputCoo(),
671 auto nnz = desc.getValMemSize(rewriter, op.getLoc());
672 auto crd = desc.getAOSMemRef();
673 auto val = desc.getValMemRef();
701 auto desc = getDescriptorFromTensorTuple(adaptor.getSlice(),
703 auto v = desc.getSpecifierField(rewriter, op.getLoc(), kind,
760 auto desc = getDescriptorFromTensorTuple(
763 fields.reserve(desc.getNumFields());
765 for (auto field : desc.getMemRefFields()) {
774 fields.push_back(desc.getSpecifier());
775 assert(fields.size() == desc.getNumFields());
868 auto desc = getDescriptorFromTensorTuple(
871 for (auto input : desc.getMemRefFields())
891 auto desc = getDescriptorFromTensorTuple(adaptor.getTensor(),
895 genEndInsert(rewriter, op.getLoc(), desc);
897 rewriter.replaceOpWithMultiple(op, {desc.getFields()});
912 auto desc = getDescriptorFromTensorTuple(adaptor.getTensor(),
923 const auto sz = desc.getLvlSize(rewriter, loc, srcType.getLvlRank() - 1);
963 auto desc = getMutDescriptorFromTensorTuple(adaptor.getTensor(), fields,
969 const SparseTensorType dstType(desc.getRankedTensorType());
993 scf::ForOp loop = createFor(rewriter, loc, count, desc.getFields());
998 SmallVector<Value> params(desc.getFields().begin(), desc.getFields().end());
1000 llvm::map_range(desc.getFields(), [](Value v) { return v.getType(); }));
1038 auto desc =
1040 TypeRange flatSpTensorTps = desc.getFields().getTypes();
1041 SmallVector<Value> params = llvm::to_vector(desc.getFields());
1067 auto desc = getDescriptorFromTensorTuple(adaptor.getTensor(),
1069 auto mem = desc.getPosMemRef(lvl);
1070 auto size = desc.getPosMemSize(rewriter, loc, lvl);
1090 auto desc = getDescriptorFromTensorTuple(adaptor.getTensor(),
1092 auto mem = desc.getCrdMemRefOrView(rewriter, loc, lvl);
1094 auto size = desc.getCrdMemSize(rewriter, loc, lvl);
1116 auto desc = getDescriptorFromTensorTuple(adaptor.getTensor(),
1118 auto mem = desc.getAOSMemRef();
1119 auto size = desc.getCrdMemSize(rewriter, loc, lvl);
1137 auto desc = getDescriptorFromTensorTuple(adaptor.getTensor(),
1139 auto mem = desc.getValMemRef();
1140 auto size = desc.getValMemSize(rewriter, loc);
1249 auto desc = getMutDescriptorFromTensorTuple(adaptor.getSource(), fields,
1253 loc, StorageSpecifierType::get(ctx, dstEnc), desc.getSpecifier());
1254 desc.setSpecifier(newSpec);
1267 desc.setSpecifierField(rewriter, loc, StorageSpecifierKind::DimOffset,
1274 desc.setSpecifierField(rewriter, loc, StorageSpecifierKind::LvlSize, dim,
1276 desc.setSpecifierField(rewriter, loc, StorageSpecifierKind::DimStride,
1283 rewriter.replaceOpWithMultiple(op, {desc.getFields()});
1299 auto desc = getDescriptorFromTensorTuple(adaptor.getTensor(),
1301 rewriter.replaceOp(op, desc.getValMemSize(rewriter, op.getLoc()));
1347 MutSparseTensorDescriptor desc(stt, fields);
1362 desc.setLvlSize(rewriter, loc, lvl, lvlSize);
1393 desc.setPosMemSize(rewriter, loc, lvl, memSize);
1400 memSize = genIndexLoad(rewriter, loc, desc.getPosMemRef(lvl), batched);
1408 desc.setCrdMemSize(rewriter, loc, lvl, cooSz);
1410 desc.setCrdMemSize(rewriter, loc, lvl, memSize);
1413 desc.setValMemSize(rewriter, loc, memSize);
1415 rewriter.replaceOpWithMultiple(op, {desc.getFields()});
1430 auto desc = getDescriptorFromTensorTuple(adaptor.getTensor(),
1435 desc.getLayout().foreachField([desc, loc, &rewriter, &op, &retMem,
1441 SparseTensorType stt(desc.getRankedTensorType());
1445 sz = desc.getValMemSize(rewriter, loc);
1446 src = desc.getValMemRef();
1457 ? desc.getPosMemSize(rewriter, loc, lvl)
1458 : desc.getCrdMemSize(rewriter, loc, lvl);
1459 src = desc.getMemRefField(fid);
1538 MutSparseTensorDescriptor desc(dstTp, fields);
1539 Value xs = desc.getAOSMemRef();
1540 Value ys = desc.getValMemRef();
1572 const Value posMemref0 = desc.getPosMemRef(0);
1580 desc.setSpecifierField(rewriter, loc, StorageSpecifierKind::CrdMemSize, 0,
1582 desc.setSpecifierField(rewriter, loc, StorageSpecifierKind::ValMemSize,