[Mlir-commits] [mlir] [mlir][sparse_tensor] Migrate `SparseIterationToScf.cpp` to dialect conversion (PR #121054)
Matthias Springer
llvmlistbot at llvm.org
Thu Dec 26 00:27:23 PST 2024
================
@@ -178,46 +190,47 @@ namespace {
/// Sparse codegen rule for number of entries operator.
class ExtractIterSpaceConverter
- : public OneToNOpConversionPattern<ExtractIterSpaceOp> {
+ : public OpConversionPattern<ExtractIterSpaceOp> {
public:
- using OneToNOpConversionPattern::OneToNOpConversionPattern;
+ using OpConversionPattern::OpConversionPattern;
LogicalResult
- matchAndRewrite(ExtractIterSpaceOp op, OpAdaptor adaptor,
- OneToNPatternRewriter &rewriter) const override {
+ matchAndRewrite(ExtractIterSpaceOp op, OneToNOpAdaptor adaptor,
+ ConversionPatternRewriter &rewriter) const override {
Location loc = op.getLoc();
- const OneToNTypeMapping &resultMapping = adaptor.getResultMapping();
// Construct the iteration space.
- SparseIterationSpace space(loc, rewriter, op.getTensor(), 0,
+ SparseIterationSpace space(loc, rewriter,
+ getSingleValue(adaptor.getTensor()), 0,
op.getLvlRange(), adaptor.getParentIter());
SmallVector<Value> result = space.toValues();
- rewriter.replaceOp(op, result, resultMapping);
+ rewriter.replaceOpWithMultiple(op, {result});
----------------
matthias-springer wrote:
The signature is `replaceOp(ValueRange, ArrayRef<ValueRange>)`. Each value is replaced with a `ValueRange`.
https://github.com/llvm/llvm-project/pull/121054
More information about the Mlir-commits
mailing list