Lines Matching defs:linalgOp
38 static LogicalResult generalizeNamedOpPrecondition(LinalgOp linalgOp) {
39 // Bailout if `linalgOp` is already a generic or a linalg.map. We cannot
42 if (isa<GenericOp>(linalgOp) || isa<MapOp>(linalgOp))
45 if (linalgOp->getNumRegions() != 1) {
46 assert(linalgOp->getNumRegions() == 0 && "op with multiple regions");
54 LinalgOp linalgOp) {
55 if (failed(generalizeNamedOpPrecondition(linalgOp)))
56 return rewriter.notifyMatchFailure(linalgOp, "preconditions not met");
58 SmallVector<Value> inputs = linalgOp.getDpsInputs();
59 ValueRange outputs = linalgOp.getDpsInits();
60 SmallVector<AffineMap> indexingMaps = linalgOp.getIndexingMapsArray();
61 SmallVector<utils::IteratorType> iterators = linalgOp.getIteratorTypesArray();
62 SmallVector<Type> resultTypes = linalgOp.hasPureTensorSemantics()
67 assert(linalgOp->getNumRegions() == 1 &&
70 linalgOp.getLoc(), resultTypes, inputs, outputs, indexingMaps, iterators);
71 rewriter.inlineRegionBefore(linalgOp->getRegion(0), genericOp.getRegion(),
73 rewriter.replaceOp(linalgOp, genericOp->getResults());