Skip to content

Commit 618fac0

Browse files
committed
Remove inversePerm and invertPermutation, add check-lines
1 parent a22959b commit 618fac0

File tree

2 files changed

+3
-28
lines changed

2 files changed

+3
-28
lines changed

mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp

Lines changed: 1 addition & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -5765,33 +5765,6 @@ ArrayRef<int64_t> UnPackOp::getAllOuterDims() {
57655765
return getSourceType().getShape().take_front(destRank);
57665766
}
57675767

5768-
static SmallVector<int64_t>
5769-
inversePerm(const llvm::SmallVector<int64_t> &perm) {
5770-
const size_t n = perm.size();
5771-
llvm::SmallVector<int64_t> invPerm(n);
5772-
5773-
for (size_t i = 0; i < n; ++i) {
5774-
assert(perm[i] >= 0 && static_cast<size_t>(perm[i]) < n &&
5775-
"Invalid permutation entry");
5776-
invPerm[perm[i]] = i;
5777-
}
5778-
5779-
return invPerm;
5780-
}
5781-
5782-
/// Compute the inverse of a permutation. Assumes `perm` is a valid permutation
5783-
/// of 0...n-1.
5784-
static SmallVector<int64_t> invertPermutation(SmallVector<int64_t> perm) {
5785-
const size_t permLen = perm.size();
5786-
llvm::SmallVector<int64_t> inv(permLen);
5787-
for (size_t i = 0; i < permLen; ++i) {
5788-
assert(perm[i] >= 0 && static_cast<size_t>(perm[i]) < permLen &&
5789-
"Invalid permutation entry");
5790-
inv[perm[i]] = i;
5791-
}
5792-
return inv;
5793-
}
5794-
57955768
SmallVector<int64_t> UnPackOp::getTiledOuterDims() {
57965769
auto innerDimsPos = getInnerDimsPos();
57975770
SmallVector<int64_t> outerDims(getAllOuterDims());
@@ -5800,7 +5773,7 @@ SmallVector<int64_t> UnPackOp::getTiledOuterDims() {
58005773
// Invert outer-dims-perm and use it to restore the original order
58015774
// of the outer dims.
58025775
SmallVector<int64_t> outerDimPermInv(getOuterDimsPerm());
5803-
inversePerm(outerDimPermInv);
5776+
invertPermutationVector(outerDimPermInv);
58045777
if (!outerDimPermInv.empty())
58055778
applyPermutationToVector(outerDims, outerDimPermInv);
58065779

mlir/test/Dialect/Linalg/decompose-unpack.mlir

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,3 +218,5 @@ func.func @negative_non_unit_tiled_outer_dim(%src: tensor<1x126x1x1x8xf32>, %des
218218

219219
return %unpack : tensor<1x1x1x1001xf32>
220220
}
221+
// CHECK-LABEL: @negative_non_unit_tiled_outer_dim(
222+
// CHECK: linalg.unpack

0 commit comments

Comments
 (0)