Home
last modified time | relevance | path

Searched refs:genericOp (Results 1 – 17 of 17) sorted by relevance

/llvm-project-15.0.7/mlir/lib/Dialect/Linalg/Transforms/
H A DDecomposeLinalgOps.cpp86 LogicalResult matchAndRewrite(GenericOp genericOp,
145 Block *body = genericOp.getBody(); in createPeeledGenericOp()
148 genericOp.getIndexingMapsArray(); in createPeeledGenericOp()
152 Location loc = genericOp.getLoc(); in createPeeledGenericOp()
241 genericOp->getLoc(), genericOp->getResultTypes(), in createResidualGenericOp()
251 if (genericOp.getNumParallelLoops() != genericOp.getNumLoops()) { in matchAndRewrite()
252 return rewriter.notifyMatchFailure(genericOp, in matchAndRewrite()
259 if (!genericOp.hasTensorSemantics()) { in matchAndRewrite()
284 Block *body = genericOp.getBody(); in matchAndRewrite()
286 return rewriter.notifyMatchFailure(genericOp, in matchAndRewrite()
[all …]
H A DInterchange.cpp37 interchangeGenericOpPrecondition(GenericOp genericOp, in interchangeGenericOpPrecondition() argument
41 genericOp.getNumLoops() != interchangeVector.size()) in interchangeGenericOpPrecondition()
58 MLIRContext *context = genericOp.getContext(); in interchangeGenericOp()
64 rewriter.startRootUpdate(genericOp); in interchangeGenericOp()
70 for (OpOperand *opOperand : genericOp.getInputAndOutputOperands()) { in interchangeGenericOp()
71 AffineMap m = genericOp.getTiedIndexingMap(opOperand); in interchangeGenericOp()
76 genericOp->setAttr(getIndexingMapsAttrName(), in interchangeGenericOp()
86 genericOp->setAttr(getIteratorTypesAttrName(), in interchangeGenericOp()
90 if (genericOp.hasIndexSemantics()) { in interchangeGenericOp()
96 allIndices.reserve(genericOp.getNumLoops()); in interchangeGenericOp()
[all …]
H A DInlineScalarOperands.cpp30 LogicalResult matchAndRewrite(GenericOp genericOp, in matchAndRewrite()
32 if (!genericOp.hasTensorSemantics()) in matchAndRewrite()
38 for (OpOperand *opOperand : genericOp.getInputOperands()) { in matchAndRewrite()
39 AffineMap map = genericOp.getTiedIndexingMap(opOperand); in matchAndRewrite()
40 if (genericOp.isInputTensor(opOperand) && map.isConstant()) { in matchAndRewrite()
51 for (OpOperand *opOperand : genericOp.getOutputOperands()) in matchAndRewrite()
54 Location loc = genericOp->getLoc(); in matchAndRewrite()
61 rewriter.cloneRegionBefore(genericOp.region(), newOp.region(), in matchAndRewrite()
69 OpOperand *opOperand = genericOp.getInputOperand(idx); in matchAndRewrite()
70 AffineMap map = genericOp.getTiedIndexingMap(opOperand); in matchAndRewrite()
[all …]
H A DElementwiseOpFusion.cpp460 return genericOp.hasTensorSemantics() && in isFusableWithReshapeByDimExpansion()
566 if (!genericOp.hasIndexSemantics()) in isGenericOpExpandable()
702 genericOp, fusableOpOperand, in fuseWithReshapeByExpansion()
724 if (genericOp.isInputTensor(opOperand)) { in fuseWithReshapeByExpansion()
750 Location loc = genericOp.getLoc(); in fuseWithReshapeByExpansion()
798 genericOp.getTiedIndexingMap( in fuseWithReshapeByExpansion()
1008 if (!genericOp.hasTensorSemantics() || genericOp.getNumOutputs() != 1) in getCollapsableIterationSpaceDims()
1359 Location loc = genericOp->getLoc(); in collapseGenericOpIterationDims()
1495 if (!genericOp.hasTensorSemantics()) in matchAndRewrite()
1567 genericOp.iterator_types(), in matchAndRewrite()
[all …]
H A DConstantFold.cpp56 LogicalResult matchAndRewrite(GenericOp genericOp, in matchAndRewrite() argument
58 if (genericOp.hasBufferSemantics()) in matchAndRewrite()
62 if (genericOp.getNumOutputs() != 1) in matchAndRewrite()
94 if (!llvm::all_of(genericOp.getIndexingMapsArray(), in matchAndRewrite()
99 if (genericOp.payloadUsesValueFromOperand(operand)) in matchAndRewrite()
115 int numInputs = genericOp.getNumInputs(); in matchAndRewrite()
126 OpOperand *consumer = genericOp.getInputOperand(i); in matchAndRewrite()
132 auto linalgOp = cast<LinalgOp>(genericOp.getOperation()); in matchAndRewrite()
269 bool matchIndexingMaps(GenericOp genericOp) const { in matchIndexingMaps()
271 return genericOp.getIndexingMapsArray().size() == 2; in matchIndexingMaps()
[all …]
H A DDropUnitDims.cpp148 static void replaceUnitDimIndexOps(GenericOp genericOp, in replaceUnitDimIndexOps() argument
172 LogicalResult matchAndRewrite(GenericOp genericOp, in matchAndRewrite()
188 ArrayAttr iteratorTypes = genericOp.iterator_types(); in matchAndRewrite()
213 rewriter.startRootUpdate(genericOp); in matchAndRewrite()
214 genericOp.indexing_mapsAttr(newIndexingMapAttr); in matchAndRewrite()
217 rewriter.finalizeRootUpdate(genericOp); in matchAndRewrite()
250 int64_t origRank = genericOp.getRank(opOperand); in replaceUnitExtents()
358 LogicalResult matchAndRewrite(GenericOp genericOp, in matchAndRewrite()
367 Location loc = genericOp.getLoc(); in matchAndRewrite()
429 resultTypes.reserve(genericOp.getNumResults()); in matchAndRewrite()
[all …]
H A DBufferizableOpInterfaceImpl.cpp94 auto genericOp = cast<linalg::LinalgOp>(op); in bufferizesToMemoryRead() local
95 return genericOp.payloadUsesValueFromOperand(&opOperand); in bufferizesToMemoryRead()
108 auto genericOp = cast<linalg::LinalgOp>(op); in getAliasingOpOperand() local
111 return {genericOp.getOutputOperand(opResult.getResultNumber())}; in getAliasingOpOperand()
116 auto genericOp = cast<linalg::LinalgOp>(op); in getAliasingOpResult() local
119 if (genericOp.isOutputTensor(&opOperand)) in getAliasingOpResult()
120 return {genericOp.getTiedOpResult(&opOperand)}; in getAliasingOpResult()
H A DGeneralization.cpp58 GenericOp genericOp = in generalizeNamedOp() local
61 rewriter.inlineRegionBefore(linalgOp->getRegion(0), genericOp.region(), in generalizeNamedOp()
62 genericOp.region().begin()); in generalizeNamedOp()
63 rewriter.replaceOp(linalgOp, genericOp->getResults()); in generalizeNamedOp()
64 return genericOp; in generalizeNamedOp()
H A DDetensorize.cpp50 GenericOp genericOp = dyn_cast_or_null<GenericOp>(op); in shouldBeDetensored() local
51 return genericOp && in shouldBeDetensored()
53 genericOp.getInputAndOutputOperands(), [&](OpOperand *opOperand) { in shouldBeDetensored()
370 if (auto genericOp = dyn_cast<GenericOp>(currentItemDefiningOp)) { in compute() local
372 if (opsToDetensor.count(genericOp)) in compute()
377 if (!shouldBeDetensored(genericOp, typeConverter)) { in compute()
381 opsToDetensor.insert(genericOp); in compute()
382 llvm::append_range(workList, genericOp.inputs()); in compute()
452 func->walk([&](GenericOp genericOp) { in compute() argument
453 if (shouldBeDetensored(genericOp, typeConverter)) in compute()
[all …]
H A DSplitReduction.cpp201 GenericOp genericOp = b.create<GenericOp>( in splitReduction() local
204 b.inlineRegionBefore(op->getRegion(0), genericOp.region(), in splitReduction()
205 genericOp.region().begin()); in splitReduction()
226 loc, op->getResultTypes(), ValueRange({genericOp.getResult(0)}), in splitReduction()
238 cast<LinalgOp>(genericOp.getOperation()), reduction}; in splitReduction()
391 GenericOp genericOp = in splitReductionByScaling() local
394 b.inlineRegionBefore(op->getRegion(0), genericOp.region(), in splitReductionByScaling()
395 genericOp.region().begin()); in splitReductionByScaling()
396 genericOp.region().front().insertArgument(reductionDimPos, in splitReductionByScaling()
408 llvm::zip(genericOp->getResults(), op.outputs(), combinerOps)) { in splitReductionByScaling()
[all …]
H A DTransforms.cpp543 GenericOp genericOp, PatternRewriter &rewriter) const { in returningMatchAndRewrite() argument
544 if (failed(filter.checkAndNotify(rewriter, genericOp))) in returningMatchAndRewrite()
548 interchangeGenericOp(rewriter, genericOp, interchangeVector); in returningMatchAndRewrite()
553 filter.replaceLinalgTransformationFilter(rewriter, genericOp); in returningMatchAndRewrite()
574 FailureOr<GenericOp> genericOp = generalizeNamedOp(rewriter, linalgOp); in returningMatchAndRewrite() local
575 if (failed(genericOp)) in returningMatchAndRewrite()
577 filter.replaceLinalgTransformationFilter(rewriter, *genericOp); in returningMatchAndRewrite()
578 return genericOp; in returningMatchAndRewrite()
/llvm-project-15.0.7/mlir/lib/Conversion/LinalgToSPIRV/
H A DLinalgToSPIRV.cpp54 matchAsPerformingReduction(linalg::GenericOp genericOp);
65 linalg::GenericOp genericOp) { in matchAsPerformingReduction() argument
66 Operation *op = genericOp.getOperation(); in matchAsPerformingReduction()
69 if (!genericOp.hasBufferSemantics()) in matchAsPerformingReduction()
73 if (genericOp.getNumInputs() != 1 || genericOp.getNumOutputs() != 1) in matchAsPerformingReduction()
87 if (!genericOp.hasSingleReductionLoop()) in matchAsPerformingReduction()
90 auto indexingMaps = genericOp.getIndexingMapsArray(); in matchAsPerformingReduction()
110 linalg::GenericOp genericOp, OpAdaptor adaptor, in matchAndRewrite() argument
112 Operation *op = genericOp.getOperation(); in matchAndRewrite()
137 Location loc = genericOp.getLoc(); in matchAndRewrite()
[all …]
/llvm-project-15.0.7/mlir/lib/Dialect/Linalg/IR/
H A DLinalgOps.cpp885 Location loc = genericOp.getLoc(); in matchAndRewrite()
887 if (genericOp.hasTensorSemantics()) { in matchAndRewrite()
894 genericOp.iterator_types(), genericOp.docAttr(), in matchAndRewrite()
895 genericOp.library_callAttr(), in matchAndRewrite()
927 deduplicateInputOperands(GenericOp genericOp, in deduplicateInputOperands()
980 if (!genericOp.hasTensorSemantics()) { in deduplicateOutputOperands()
1044 GenericOp genericOp, GenericOp newOp, in populateOpPayload()
1116 Block &body = genericOp.region().front(); in matchAndRewrite()
1124 if (genericOp.hasBufferSemantics()) { in matchAndRewrite()
1125 if (genericOp.getNumInputs() == 1 && genericOp.getNumOutputs() == 1 && in matchAndRewrite()
[all …]
/llvm-project-15.0.7/mlir/lib/Dialect/MemRef/Transforms/
H A DExpandOps.cpp61 auto genericOp = rewriter.create<memref::GenericAtomicRMWOp>( in matchAndRewrite() local
64 OpBuilder::atBlockEnd(genericOp.getBody(), rewriter.getListener()); in matchAndRewrite()
66 Value lhs = genericOp.getCurrentValue(); in matchAndRewrite()
72 rewriter.replaceOp(op, genericOp.getResult()); in matchAndRewrite()
/llvm-project-15.0.7/mlir/lib/Conversion/TosaToLinalg/
H A DTosaToLinalg.cpp1372 auto genericOp = rewriter.create<linalg::GenericOp>( in matchAndRewrite() local
1375 rewriter.replaceOp(op, genericOp.getResult(0)); in matchAndRewrite()
1378 rewriter.createBlock(&genericOp.region(), genericOp.region().end(), in matchAndRewrite()
1818 auto genericOp = rewriter.create<linalg::GenericOp>( in matchAndRewrite() local
1827 op, resultTy, genericOp.getResult(0), in matchAndRewrite()
2075 auto genericOp = rewriter.create<linalg::GenericOp>( in matchAndRewrite() local
2089 rewriter.replaceOp(op, genericOp.getResult(0)); in matchAndRewrite()
2132 auto genericOp = rewriter.create<linalg::GenericOp>( in matchAndRewrite() local
2135 rewriter.replaceOp(op, genericOp.getResult(0)); in matchAndRewrite()
2140 &genericOp.region(), genericOp.region().end(), in matchAndRewrite()
H A DTosaToLinalgNamed.cpp825 auto genericOp = rewriter.create<linalg::GenericOp>( in matchAndRewrite() local
960 rewriter.replaceOp(op, genericOp.getResult(0)); in matchAndRewrite()
/llvm-project-15.0.7/mlir/include/mlir/Dialect/Linalg/Transforms/
H A DTransforms.h184 GenericOp genericOp,