Lines Matching refs:genericOp
859 LogicalResult matchAndRewrite(GenericOp genericOp, in matchAndRewrite()
871 deduplicateInputOperands(genericOp, droppedOpOperands, newInputOperands, in matchAndRewrite()
876 deduplicateOutputOperands(genericOp, droppedOpOperands, in matchAndRewrite()
881 static_cast<size_t>(genericOp.getNumInputsAndOutputs())) in matchAndRewrite()
885 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()
900 ArrayRef<StringRef> odsAttrs = genericOp.getAttributeNames(); in matchAndRewrite()
901 for (NamedAttribute kv : genericOp->getAttrs()) in matchAndRewrite()
906 populateOpPayload(genericOp, newOp, origInsToNewInsPos, in matchAndRewrite()
910 SmallVector<Value> replacementsVals(genericOp->getNumResults(), nullptr); in matchAndRewrite()
911 for (auto result : llvm::enumerate(genericOp.getResults())) { in matchAndRewrite()
917 rewriter.replaceOp(genericOp, replacementsVals); in matchAndRewrite()
927 deduplicateInputOperands(GenericOp genericOp, in deduplicateInputOperands()
933 for (auto inputOpOperand : llvm::enumerate(genericOp.getInputOperands())) { in deduplicateInputOperands()
936 if (!genericOp.payloadUsesValueFromOperand(inputOpOperand.value())) { in deduplicateInputOperands()
940 if (genericOp.canOpOperandsBeDropped(droppedOpOperands)) in deduplicateInputOperands()
947 genericOp.getTiedIndexingMap(inputOpOperand.value()); in deduplicateInputOperands()
971 deduplicateOutputOperands(GenericOp genericOp, in deduplicateOutputOperands()
980 if (!genericOp.hasTensorSemantics()) { in deduplicateOutputOperands()
982 llvm::enumerate(genericOp.getOutputOperands())) { in deduplicateOutputOperands()
986 genericOp.getTiedIndexingMap(outputOpOperand.value())); in deduplicateOutputOperands()
994 auto yieldOp = cast<YieldOp>(genericOp.getBody()->getTerminator()); in deduplicateOutputOperands()
996 llvm::enumerate(genericOp.getOutputOperands())) { in deduplicateOutputOperands()
997 Value result = genericOp.getResult(outputOpOperand.index()); in deduplicateOutputOperands()
999 genericOp.getTiedIndexingMap(outputOpOperand.value()); in deduplicateOutputOperands()
1005 if (!genericOp.payloadUsesValueFromOperand(outputOpOperand.value())) { in deduplicateOutputOperands()
1012 if (genericOp.canOpOperandsBeDropped(droppedOpOperands)) { in deduplicateOutputOperands()
1035 genericOp.getTiedIndexingMap(outputOpOperand.value())); in deduplicateOutputOperands()
1044 GenericOp genericOp, GenericOp newOp, in populateOpPayload()
1051 Block *origOpBlock = &genericOp.region().front(); in populateOpPayload()
1069 OpOperandVector origInputOperands = genericOp.getInputOperands(); in populateOpPayload()
1073 OpOperandVector origOutputOperands = genericOp.getOutputOperands(); in populateOpPayload()
1081 if (newOp.getNumOutputs() != genericOp.getNumOutputs()) { in populateOpPayload()
1107 LogicalResult matchAndRewrite(GenericOp genericOp, in matchAndRewrite()
1110 if (llvm::any_of(genericOp.getIndexingMapsArray(), in matchAndRewrite()
1116 Block &body = genericOp.region().front(); in matchAndRewrite()
1124 if (genericOp.hasBufferSemantics()) { in matchAndRewrite()
1125 if (genericOp.getNumInputs() == 1 && genericOp.getNumOutputs() == 1 && in matchAndRewrite()
1126 genericOp.getInputOperand(0)->get() == in matchAndRewrite()
1127 genericOp.getOutputOperand(0)->get()) { in matchAndRewrite()
1128 rewriter.eraseOp(genericOp); in matchAndRewrite()
1142 Value returnedArg = genericOp->getOperand(argumentNumber); in matchAndRewrite()
1143 Type resultType = genericOp->getResult(yieldVal.index()).getType(); in matchAndRewrite()
1153 genericOp.getLoc(), resultType, returnedArg); in matchAndRewrite()
1159 genericOp.getLoc(), resultType, returnedArg); in matchAndRewrite()
1165 if (returnedArgs.size() != genericOp->getNumResults()) in matchAndRewrite()
1167 rewriter.replaceOp(genericOp, returnedArgs); in matchAndRewrite()