Lines Matching defs:genericOp
470 LogicalResult matchAndRewrite(GenericOp genericOp,
473 for (OpOperand &opOperand : genericOp->getOpOperands()) {
485 return rewriter.notifyMatchFailure(genericOp, "fusion failed");
494 rewriter.eraseOp(genericOp);
1261 getCollapsableIterationSpaceDims(GenericOp genericOp, OpOperand *fusableOperand,
1264 if (!genericOp.hasPureTensorSemantics())
1267 if (!llvm::all_of(genericOp.getIndexingMapsArray(), [](AffineMap map) {
1275 genericOp.getReductionDims(reductionDims);
1278 AffineMap indexingMap = genericOp.getMatchingIndexingMap(fusableOperand);
1279 auto iteratorTypes = genericOp.getIteratorTypesArray();
1341 if (llvm::any_of(genericOp.getIndexingMapsArray(),
1667 if (GenericOp genericOp = dyn_cast<GenericOp>(op.getOperation())) {
1668 return cloneToCollapsedOp(rewriter, genericOp, collapsingInfo);
1781 LogicalResult matchAndRewrite(GenericOp genericOp,
1783 for (OpOperand &opOperand : genericOp->getOpOperands()) {
1790 getCollapsableIterationSpaceDims(genericOp, &opOperand,
1798 genericOp, collapsableIterationDims, rewriter);
1801 genericOp, "failed to do the fusion by collapsing transformation");
1804 rewriter.replaceOp(genericOp, collapseResult->results);
1944 LogicalResult matchAndRewrite(GenericOp genericOp,
1946 if (!genericOp.hasPureTensorSemantics())
1948 for (OpOperand *opOperand : genericOp.getDpsInputOperands()) {
1987 SmallVector<Location> fusedLocs{genericOp.getLoc()};
1988 fusedIndexMaps.reserve(genericOp->getNumOperands());
1989 fusedOperands.reserve(genericOp.getNumDpsInputs());
1990 fusedLocs.reserve(fusedLocs.size() + genericOp.getNumDpsInputs());
1991 for (OpOperand *inputOperand : genericOp.getDpsInputOperands()) {
1996 genericOp.getMatchingIndexingMap(inputOperand));
2000 for (OpOperand &outputOperand : genericOp.getDpsInitsMutable())
2002 genericOp.getMatchingIndexingMap(&outputOperand));
2008 genericOp, "fused op loop bound computation failed");
2015 SmallVector<Value> outputOperands = genericOp.getOutputs();
2017 rewriter.getFusedLoc(fusedLocs), genericOp->getResultTypes(),
2021 genericOp.getIteratorTypes(),
2027 Region ®ion = genericOp->getRegion(0);
2035 rewriter.replaceOp(genericOp, fusedOp->getResults());
2097 LogicalResult matchAndRewrite(GenericOp genericOp,
2099 if (!genericOp.hasPureTensorSemantics())
2102 Block &payload = genericOp.getRegion().front();
2103 for (OpOperand *opOperand : genericOp.getDpsInputOperands()) {
2104 if (!genericOp.payloadUsesValueFromOperand(opOperand))