Lines Matching refs:genericOp
148 static void replaceUnitDimIndexOps(GenericOp genericOp, in replaceUnitDimIndexOps() argument
152 llvm::make_early_inc_range(genericOp.getBody()->getOps<IndexOp>())) { in replaceUnitDimIndexOps()
172 LogicalResult matchAndRewrite(GenericOp genericOp, in matchAndRewrite()
174 SmallVector<AffineMap, 4> indexingMaps = genericOp.getIndexingMapsArray(); in matchAndRewrite()
184 SmallVector<int64_t> dims = genericOp.getStaticShape(); in matchAndRewrite()
188 ArrayAttr iteratorTypes = genericOp.iterator_types(); in matchAndRewrite()
203 return genericOp.emitError("unable to compute modified indexing_maps"); in matchAndRewrite()
213 rewriter.startRootUpdate(genericOp); in matchAndRewrite()
214 genericOp.indexing_mapsAttr(newIndexingMapAttr); in matchAndRewrite()
215 genericOp.iterator_typesAttr(ArrayAttr::get(context, newIteratorTypes)); in matchAndRewrite()
216 replaceUnitDimIndexOps(genericOp, unitDims, rewriter); in matchAndRewrite()
217 rewriter.finalizeRootUpdate(genericOp); in matchAndRewrite()
240 replaceUnitExtents(GenericOp genericOp, OpOperand *opOperand, in replaceUnitExtents() argument
242 AffineMap indexingMap = genericOp.getTiedIndexingMap(opOperand); in replaceUnitExtents()
243 ArrayRef<int64_t> shape = genericOp.getShape(opOperand); in replaceUnitExtents()
250 int64_t origRank = genericOp.getRank(opOperand); in replaceUnitExtents()
358 LogicalResult matchAndRewrite(GenericOp genericOp, in matchAndRewrite()
361 if (llvm::any_of(genericOp->getOperandTypes(), [](Type type) { in matchAndRewrite()
367 Location loc = genericOp.getLoc(); in matchAndRewrite()
373 for (OpOperand *opOperand : genericOp.getInputAndOutputOperands()) { in matchAndRewrite()
374 auto replacementInfo = replaceUnitExtents(genericOp, opOperand, context); in matchAndRewrite()
386 newIndexingMaps.push_back(genericOp.getTiedIndexingMap(opOperand)); in matchAndRewrite()
387 int64_t origRank = genericOp.getRank(opOperand); in matchAndRewrite()
423 SmallVector<Value, 4> newInputs = insertReshapes(genericOp.inputs()); in matchAndRewrite()
424 SmallVector<Value, 4> newOutputs = insertReshapes(genericOp.outputs()); in matchAndRewrite()
429 resultTypes.reserve(genericOp.getNumResults()); in matchAndRewrite()
430 for (unsigned i : llvm::seq<unsigned>(0, genericOp.getNumResults())) in matchAndRewrite()
431 resultTypes.push_back(newInputOutputTypes[i + genericOp.getNumInputs()]); in matchAndRewrite()
435 genericOp.iterator_types().template getAsValueRange<StringAttr>())); in matchAndRewrite()
436 rewriter.inlineRegionBefore(genericOp.region(), replacementOp.region(), in matchAndRewrite()
444 auto origResultType = genericOp.getResult(result.index()).getType(); in matchAndRewrite()
452 rewriter.replaceOp(genericOp, resultReplacements); in matchAndRewrite()