diff --git a/mlir/lib/Dialect/Tensor/IR/TensorOps.cpp b/mlir/lib/Dialect/Tensor/IR/TensorOps.cpp --- a/mlir/lib/Dialect/Tensor/IR/TensorOps.cpp +++ b/mlir/lib/Dialect/Tensor/IR/TensorOps.cpp @@ -1243,11 +1243,11 @@ return {}; } -template -static void sliceElements(I values, ArrayRef counts, +template +static void sliceElements(IterTy values, ArrayRef counts, ArrayRef offsets, ArrayRef sizes, ArrayRef strides, - llvm::SmallVectorImpl *outValues) { + llvm::SmallVectorImpl *outValues) { assert(offsets.size() == sizes.size()); assert(offsets.size() == strides.size()); if (offsets.empty()) @@ -1265,8 +1265,9 @@ for (; offset < size; offset += stride) { auto begin = values + offset * counts.front(); - sliceElements(begin, counts.drop_front(), offsets.drop_front(), - sizes.drop_front(), strides.drop_front(), outValues); + sliceElements(begin, counts.drop_front(), + offsets.drop_front(), sizes.drop_front(), + strides.drop_front(), outValues); } }