diff --git a/mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp b/mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp index 64d79f5b5d60c..313dbbd16984b 100644 --- a/mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp +++ b/mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp @@ -453,14 +453,15 @@ bufferization::bufferizeBlockSignature(Block *block, RewriterBase &rewriter, for (OpOperand &use : bbArg.getUses()) bbArgUses.push_back(&use); + Type tensorType = bbArg.getType(); // Change the bbArg type to memref. bbArg.setType(type); // Replace all uses of the original tensor bbArg. rewriter.setInsertionPointToStart(block); if (!bbArgUses.empty()) { - Value toTensorOp = - rewriter.create(bbArg.getLoc(), bbArg); + Value toTensorOp = rewriter.create( + bbArg.getLoc(), tensorType, bbArg); for (OpOperand *use : bbArgUses) use->set(toTensorOp); }