Lines Matching full:indices
116 [](size_t all, ReassociationIndicesRef indices) {
117 return all + indices.size();
136 for (const auto &indices : reassociationIndices) {
138 reassociationMap.reserve(indices.size());
139 for (int64_t index : indices)
164 reassociation, [&](const ReassociationIndices &indices) -> Attribute {
165 return cast<Attribute>(b.getI64ArrayAttr(indices));
174 ReassociationIndices indices;
175 indices.reserve(exprs.size());
177 indices.push_back(cast<AffineDimExpr>(expr).getPosition());
178 reassociationIndices.push_back(indices);
304 // offsets are exactly the de-linearized multi-indices.
350 /// Returns the index of the only non-unit dimension among `indices` of `shape`,
351 /// if such a dimension exists and `indices` has more than one element.
353 static std::optional<int64_t> getUniqueNonUnitDim(ArrayRef<int64_t> indices,
357 if (indices.size() < 2)
359 for (int64_t idx : indices) {
369 // For each segment in the reassociation indices, check whether we can
376 for (const auto &indices : reassociationIndices)
378 getUniqueNonUnitDim(indices, sourceType.getShape()));
382 /// Returns true if any of the segments of the reassociation indices for a
409 for (const auto &[nonUnitDim, indices] :
415 llvm::append_range(sliceShape, llvm::map_range(indices, [&](int64_t idx) {
428 // weren't covered by the slice. By design, the new reassociation indices has
429 // the same number of groups as the old reassociation indices.