[mlir][sparse] avoid slice rewriting when conditions are not met

Reviewed By: Peiming

Differential Revision: https://reviews.llvm.org/D148964
This commit is contained in:
Aart Bik
2023-04-21 14:40:31 -07:00
parent e8b2e6333a
commit dbdb4affa0

View File

@@ -1165,11 +1165,9 @@ public:
MLIRContext *ctx = op.getContext();
auto srcEnc = getSparseTensorEncoding(op.getSourceType());
auto dstEnc = getSparseTensorEncoding(op.getResult().getType());
if (!srcEnc && !dstEnc)
return failure();
// TODO: We should check these in ExtractSliceOp::verify.
assert(srcEnc && dstEnc && dstEnc.isSlice());
if (!srcEnc || !dstEnc || !dstEnc.isSlice())
return failure();
assert(srcEnc.getDimLevelType() == dstEnc.getDimLevelType());
assert(srcEnc.getDimOrdering() == dstEnc.getDimOrdering());
assert(srcEnc.getHigherOrdering() == dstEnc.getHigherOrdering());