[mlir][sparse] supports sparse_tensor.pack on libgen path

Reviewed By: aartbik

Differential Revision: https://reviews.llvm.org/D158012
This commit is contained in:
Peiming Liu
2023-08-15 19:02:36 +00:00
parent 0db9dfb193
commit fa6726e27b
9 changed files with 345 additions and 25 deletions

View File

@@ -539,15 +539,8 @@ static void genEndInsert(OpBuilder &builder, Location loc,
}
}
static TypedValue<BaseMemRefType> genToMemref(OpBuilder &builder, Location loc,
Value tensor) {
auto tTp = llvm::cast<TensorType>(tensor.getType());
auto mTp = MemRefType::get(tTp.getShape(), tTp.getElementType());
return builder.create<bufferization::ToMemrefOp>(loc, mTp, tensor)
.getResult();
}
Value genSliceToSize(OpBuilder &builder, Location loc, Value mem, Value sz) {
static Value genSliceToSize(OpBuilder &builder, Location loc, Value mem,
Value sz) {
auto elemTp = llvm::cast<MemRefType>(mem.getType()).getElementType();
return builder
.create<memref::SubViewOp>(