Lines Matching refs:genericOp

56   LogicalResult matchAndRewrite(GenericOp genericOp,  in matchAndRewrite()  argument
58 if (genericOp.hasBufferSemantics()) in matchAndRewrite()
62 if (genericOp.getNumOutputs() != 1) in matchAndRewrite()
65 auto outputType = genericOp.getResultTypes().front().dyn_cast<ShapedType>(); in matchAndRewrite()
71 if (!llvm::all_of(genericOp.getInputOperands(), [](OpOperand *operand) { in matchAndRewrite()
80 if (!llvm::is_splat(llvm::map_range(genericOp.getInputAndOutputOperands(), in matchAndRewrite()
94 if (!llvm::all_of(genericOp.getIndexingMapsArray(), in matchAndRewrite()
98 for (OpOperand *operand : genericOp.getOutputOperands()) { in matchAndRewrite()
99 if (genericOp.payloadUsesValueFromOperand(operand)) in matchAndRewrite()
104 if (!static_cast<const ConcreteType *>(this)->matchIndexingMaps(genericOp)) in matchAndRewrite()
110 static_cast<const ConcreteType *>(this)->getRegionComputeFn(genericOp); in matchAndRewrite()
115 int numInputs = genericOp.getNumInputs(); in matchAndRewrite()
117 for (const auto &operand : llvm::enumerate(genericOp.getInputOperands())) { in matchAndRewrite()
126 OpOperand *consumer = genericOp.getInputOperand(i); in matchAndRewrite()
132 auto linalgOp = cast<LinalgOp>(genericOp.getOperation()); in matchAndRewrite()
158 inputDims.push_back(getDimPositions(genericOp.getIndexingMapsArray()[i])); in matchAndRewrite()
159 auto outputDims = getDimPositions(genericOp.getIndexingMapsArray().back()); in matchAndRewrite()
176 llvm::map_range(genericOp.getInputOperands(), [](OpOperand *operand) { in matchAndRewrite()
257 rewriter.replaceOpWithNewOp<arith::ConstantOp>(genericOp, outputAttr); in matchAndRewrite()
269 bool matchIndexingMaps(GenericOp genericOp) const { in matchIndexingMaps()
271 return genericOp.getIndexingMapsArray().size() == 2; in matchIndexingMaps()
274 RegionComputationFn getRegionComputeFn(GenericOp genericOp) const { in getRegionComputeFn()
276 Block &body = genericOp.region().front(); in getRegionComputeFn()