Lines Matching defs:reassociation
110 // empty reassociation.
161 OpBuilder &b, ArrayRef<ReassociationIndices> reassociation) {
164 reassociation, [&](const ReassociationIndices &indices) -> Attribute {
184 mlir::getSymbolLessAffineMaps(ArrayRef<ReassociationExprs> reassociation) {
185 unsigned maxDim = getMaxPosOfType<AffineDimExpr>(reassociation);
186 assert(getMaxPosOfType<AffineSymbolExpr>(reassociation) == 0 &&
189 maps.reserve(reassociation.size());
190 for (const auto &exprs : reassociation) {
197 bool mlir::isReassociationValid(ArrayRef<AffineMap> reassociation,
199 if (reassociation.empty())
201 unsigned nDims = reassociation[0].getNumDims();
203 for (const auto &it : llvm::enumerate(reassociation)) {
221 *invalidIndex = reassociation.size() - 1;
316 // the full extent of each dimension in the reassociation list.
369 // For each segment in the reassociation indices, check whether we can
382 /// Returns true if any of the segments of the reassociation indices for a
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.
431 SmallVector<int64_t, 2> reassociation;
434 reassociation.push_back(dimIdx);
436 reassociation.size() == reassociationIndices[groupIdx].size()) {
437 newReassociationIndices.push_back(reassociation);
438 reassociation.clear();