Lines Matching defs:permutation
236 // 2. Compute the permutation vector to shuffle packed shape into the shape
387 // 1. Compute the permutation vector to shuffle packed shape into the shape
405 // permutation.
615 /// Return a copy of `tensorType` after permutation by `permutationVector`.
626 /// Return a new GenericOp obtained by transposing opOperand by the permutation
628 /// - the corresponding indexing map is transposed by `permutation`
634 ArrayRef<int64_t> permutation, Value transposedValue) {
640 cast<RankedTensorType>(opOperand.get().getType()), permutation);
648 llvm::map_range(permutation, [](int64_t i) -> unsigned { return i; }));
708 // Step 2.a. Compute the permutation on the whole operand.
710 SmallVector<int64_t> permutation(outerPerm);
711 if (permutation.empty())
712 llvm::append_range(permutation, llvm::seq<int64_t>(0, numLeadingDims));
716 permutation,
719 llvm::append_range(permutation,
724 if (!isPermutationVector(permutation))
725 return rewriter.notifyMatchFailure(linalgOp, "invalid permutation");
733 rewriter, linalgOp, packUse, permutation, transposedPackOp.getResult());
763 /// dimensions is customizable: the `mnkOrder` is a permutation of {0, 1, 2}
777 assert(isPermutationVector(mnkOrder) && "expected a permutation");
836 SmallVector<int64_t> permutation =
838 LLVM_DEBUG(llvm::interleaveComma(permutation, DBGS() << "perm: "); DBGSNL(););
840 SmallVector<unsigned> unsignedPerm(permutation.begin(), permutation.end());
1085 // Normalizes a permutation on a higher rank space to its actual size, e.g.
1097 // This inverts the permutation in addition to normalizing so invert back.
1101 // Gets the normalized permutation implied by innerDimsPos and outerDimsPerm
1124 // Get the position of the inner dims after permutation.
1201 LLVM_DEBUG(DBGS() << "Pack permutation: " << packOp << "\n";
1282 // permutation.
1337 // Unpack is a transition out of packed space so we invert the permutation.