[mlir][sparse] use a consistent order between [dis]assembleOp and sto… (#84079)

…rage layout.
This commit is contained in:
Peiming Liu
2024-03-06 09:57:41 -08:00
committed by GitHub
parent 8277e308c0
commit fc9f1d49aa
14 changed files with 168 additions and 175 deletions

View File

@@ -1409,14 +1409,10 @@ struct SparseDisassembleOpConverter
sz = desc.getValMemSize(rewriter, loc);
src = desc.getValMemRef();
dst = genToMemref(rewriter, loc, op.getOutValues());
// Values is the last field in descriptor, but it is the first
// operand in unpack operation.
// TODO: maybe change unpack/pack operation instead to be
// consistent.
retMem.insert(retMem.begin(), dst);
retMem.push_back(dst);
Type valLenTp = op.getValLen().getType();
retLen.insert(retLen.begin(),
genScalarToTensor(rewriter, loc, sz, valLenTp));
retLen.push_back(genScalarToTensor(rewriter, loc, sz, valLenTp));
} else {
assert(fKind == SparseTensorFieldKind::PosMemRef ||
fKind == SparseTensorFieldKind::CrdMemRef);