Lines Matching defs:permutation
1007 << index << " to be a projected permutation of its inputs";
1455 /// Folding is only possible in the absence of an internal permutation in the
1501 /// Sentinel values that encode the internal permutation status of the result.
2423 // 2. The induced permutation for the subsequent vector.transpose that will
2425 // If the induced permutation is not the identity, create a vector.transpose.
2426 SmallVector<int64_t> broadcastShape, permutation(dstShape.size(), -1);
2435 // permutation = [0, 2, 4, 1, 3]
2441 // nextSrcShapeDim is used to keep track of where in the permutation the
2451 permutation[i] = broadcastShape.size() - 1;
2457 permutation[i] = nextSrcShapeDim++;
2475 for (int64_t i = 0, e = permutation.size(); i < e; ++i)
2476 if (permutation[i] != i)
2477 return b.createOrFold<vector::TransposeOp>(loc, res, permutation);
4009 /// 3. Builder that sets permutation map to 'getMinorIdentityMap'.
4026 /// 4. Builder that sets padding to zero and permutation map to
4059 "requires a permutation_map that is a permutation (found one dim "
4102 // Check that permutation map results match 'rankOffset' of vector type.
4120 // Check that permutation map results match rank of vector type.
4170 assert(invPermMap && "Inversed permutation map couldn't be computed");
4242 "results of the permutation map");
4245 // vector type and the permutation map (to keep the type signature small).
4454 /// Even if the permutation maps are different we can still propagate the store
4509 // Calculate the permutation to apply to go from the vector stored to the
4511 SmallVector<unsigned> permutation;
4512 if (!map.isPermutationOfMinorIdentityWithBroadcasting(permutation))
4516 // Calculate the broadcast shape by applying the reverse permutation to the
4521 for (const auto &pos : llvm::enumerate(permutation)) {
4530 SmallVector<int64_t> transposePerm(permutation.begin(), permutation.end());
4583 /// 4. Builder with type inference that sets an empty mask and sets permutation
4649 "results of the permutation map");
5915 Value vector, ArrayRef<int64_t> permutation) {
5919 for (unsigned i = 0; i < permutation.size(); ++i) {
5920 transposedShape[i] = vt.getShape()[permutation[i]];
5921 transposedScalableDims[i] = vt.getScalableDims()[permutation[i]];
5928 builder.getDenseI64ArrayAttr(permutation));
5942 // Check if the permutation of the dimensions contains sequential values:
6004 SmallVector<int64_t, 4> permutation = composePermutations(
6009 parentTransposeOp.getVector(), permutation);
6066 // Get the transpose permutation and apply it to the vector.create_mask or
6068 ArrayRef<int64_t> permutation = transpOp.getPermutation();
6073 applyPermutationToVector(newOperands, permutation);
6082 auto newMaskDimSizes = applyPermutation(maskDimSizes, permutation);