[Mlir-commits] [mlir] [mlir][tensor] Fix `getReassociationForCollapse` for tensor/scalar re… (PR #144118)
Artem Gindinson
llvmlistbot at llvm.org
Fri Jun 13 11:55:47 PDT 2025
================
@@ -299,19 +299,17 @@ mlir::getReassociationIndicesForCollapse(ArrayRef<int64_t> sourceShape,
// this utility).
if (numSourceDims <= numTargetDims)
return std::nullopt;
- // Early handling for scalar target types.
+ // Early handling for scalar target types. We should report an invalid
+ // reassociation for non-unit static dimensions - no chance to collapse these
+ // into a scalar.
if (numTargetDims == 0) {
- ReassociationIndices allSourceIndices;
- allSourceIndices.reserve(numSourceDims);
for (unsigned sourceDimIdx = 0; sourceDimIdx < numSourceDims;
++sourceDimIdx) {
int64_t sourceSize = sourceShape[sourceDimIdx];
- // All source dimensions must be unit or dynamic.
if (sourceSize != 1 && sourceSize != ShapedType::kDynamic)
return std::nullopt;
- allSourceIndices.push_back(sourceDimIdx);
}
- return SmallVector<ReassociationIndices>{allSourceIndices};
+ return SmallVector<ReassociationIndices>{};
}
----------------
AGindinson wrote:
Ah sorry, missed the comment. Good call, `any_of` would be preferable :D
https://github.com/llvm/llvm-project/pull/144118
More information about the Mlir-commits
mailing list