Lines Matching defs:permutation

24 /// permutation based on the given indices.
27 const SmallVector<unsigned> &permutation) {
28 SmallVector<bool> newInBoundsValues(permutation.size());
30 for (unsigned pos : permutation)
58 SmallVector<int64_t> permutation;
62 permutation.push_back(i);
64 permutation.push_back(i);
65 return builder.create<vector::TransposeOp>(loc, broadcasted, permutation);
73 /// Lower transfer_read op with permutation into a transfer_read with a
74 /// permutation map composed of leading zeros followed by a minor identiy +
107 SmallVector<unsigned> permutation;
110 return rewriter.notifyMatchFailure(op, "0 result permutation map");
111 if (!map.isPermutationOfMinorIdentityWithBroadcasting(permutation)) {
116 map.getPermutationMap(permutation, op.getContext());
120 permutationMap = map.getPermutationMap(permutation, op.getContext());
121 // Caluclate the map of the new read by applying the inverse permutation.
129 for (const auto &pos : llvm::enumerate(permutation)) {
136 inverseTransposeInBoundsAttr(rewriter, op.getInBounds(), permutation);
147 SmallVector<int64_t> transposePerm(permutation.begin(), permutation.end());
154 /// Lower transfer_write op with permutation into a transfer_write with a
155 /// minor identity permutation map. (transfer_write ops cannot have broadcasts.)
185 SmallVector<unsigned> permutation;
190 if (!map.isPermutationOfMinorIdentityWithBroadcasting(permutation)) {
195 // Remove unused dims from the permutation map. E.g.:
209 inverseTransposeInBoundsAttr(rewriter, op.getInBounds(), permutation);
227 /// Convert a transfer.write op with a map which isn't the permutation of a
228 /// minor identity into a vector.broadcast + transfer_write with permutation of
257 SmallVector<unsigned> permutation;
259 if (map.isPermutationOfMinorIdentityWithBroadcasting(permutation)) {
405 /// - The permutation map doesn't perform permutation (broadcasting is allowed).
501 /// - The permutation map is the minor identity map (neither permutation nor
527 diag << "permutation map is not minor identity: " << write;