From 7bff313abcf96b32643ed91d62d5c4a0de7e80e0 Mon Sep 17 00:00:00 2001 From: Sayan Saha Date: Tue, 30 Apr 2024 11:01:42 -0400 Subject: [PATCH] [BugFix] : Crash in getPackOpResultTypeShape for tensor.pack/unpack ops. --- mlir/lib/Dialect/Tensor/IR/TensorOps.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mlir/lib/Dialect/Tensor/IR/TensorOps.cpp b/mlir/lib/Dialect/Tensor/IR/TensorOps.cpp index 5029ed4aa0387..425ebbe7f5601 100644 --- a/mlir/lib/Dialect/Tensor/IR/TensorOps.cpp +++ b/mlir/lib/Dialect/Tensor/IR/TensorOps.cpp @@ -3880,7 +3880,7 @@ static SmallVector getPackOpResultTypeShape( ArrayRef sourceShape, ArrayRef innerTileSizes, ArrayRef innerDimsPos, ArrayRef outerDimsPerm) { SmallVector resultShape = llvm::to_vector(sourceShape); - for (auto tiledDim : llvm::enumerate(innerDimsPos)) { + for (auto tiledDim : llvm::enumerate(llvm::to_vector(innerDimsPos))) { if (ShapedType::isDynamic(resultShape[tiledDim.value()])) continue; if (ShapedType::isDynamic(innerTileSizes[tiledDim.index()])) { @@ -3909,7 +3909,7 @@ SmallVector PackOp::getResultShape( AffineExpr s0, s1; bindSymbols(builder.getContext(), s0, s1); AffineExpr ceilDivExpr = s0.ceilDiv(s1); - for (auto tiledDim : llvm::enumerate(innerDimsPos)) { + for (auto tiledDim : llvm::enumerate(llvm::to_vector(innerDimsPos))) { resultDims[tiledDim.value()] = affine::makeComposedFoldedAffineApply( builder, loc, ceilDivExpr, {resultDims[tiledDim.value()], innerTileSizes[tiledDim.index()]});