Lines Matching defs:opOperand
85 for (auto &opOperand : op->getOpOperands()) {
86 if (llvm::is_contained(opOperandsToIgnore, &opOperand)) {
89 indexingMaps.push_back(op.getMatchingIndexingMap(&opOperand));
373 for (OpOperand *opOperand : llvm::make_range(consumerInputs.begin(), it)) {
374 fusedInputOperands.push_back(opOperand->get());
375 fusedIndexMaps.push_back(consumer.getMatchingIndexingMap(opOperand));
380 for (OpOperand *opOperand : producer.getDpsInputOperands()) {
381 fusedInputOperands.push_back(opOperand->get());
384 opOperand, producerResultIndexMap,
390 for (OpOperand *opOperand :
392 fusedInputOperands.push_back(opOperand->get());
393 fusedIndexMaps.push_back(consumer.getMatchingIndexingMap(opOperand));
397 for (const auto &opOperand : llvm::enumerate(producer.getDpsInitsMutable())) {
398 if (!preservedProducerResults.count(opOperand.index()))
401 fusedOutputOperands.push_back(opOperand.value().get());
403 &opOperand.value(), producerResultIndexMap,
406 fusedResultTypes.push_back(opOperand.value().get().getType());
410 for (OpOperand &opOperand : consumer.getDpsInitsMutable()) {
411 fusedOutputOperands.push_back(opOperand.get());
412 fusedIndexMaps.push_back(consumer.getMatchingIndexingMap(&opOperand));
413 Type resultType = opOperand.get().getType();
473 for (OpOperand &opOperand : genericOp->getOpOperands()) {
474 if (!areElementwiseOpsFusable(&opOperand))
476 if (!controlFn(&opOperand))
479 Operation *producer = opOperand.get().getDefiningOp();
483 fuseElementwiseOps(rewriter, &opOperand);
867 for (OpOperand *opOperand : linalgOp.getDpsInputOperands()) {
868 if (opOperand == fusableOpOperand) {
874 dyn_cast<RankedTensorType>(opOperand->get().getType())) {
875 AffineMap indexingMap = linalgOp.getMatchingIndexingMap(opOperand);
878 if (expandedOperandType != opOperand->get().getType()) {
891 loc, expandedOperandType, opOperand->get(), reassociation));
895 expandedOpOperands.push_back(opOperand->get());
899 for (OpOperand &opOperand : linalgOp.getDpsInitsMutable()) {
900 AffineMap indexingMap = linalgOp.getMatchingIndexingMap(&opOperand);
901 auto opOperandType = cast<RankedTensorType>(opOperand.get().getType());
904 if (expandedOutputType != opOperand.get().getType()) {
916 loc, expandedOutputType, opOperand.get(), reassociation));
918 outputs.push_back(opOperand.get());
979 for (OpOperand *opOperand : linalgOp.getDpsInputOperands()) {
981 opOperand->get().getDefiningOp<tensor::CollapseShapeOp>();
987 if (!isFusableWithReshapeByDimExpansion(linalgOp, opOperand) ||
988 (!controlFoldingReshapes(opOperand)))
992 fuseWithReshapeByExpansion(linalgOp, reshapeOp, opOperand, rewriter);
1524 OpOperand *opOperand,
1527 AffineMap indexingMap = op.getMatchingIndexingMap(opOperand);
1534 Value operand = opOperand->get();
1597 llvm::map_to_vector(op.getDpsInputOperands(), [&](OpOperand *opOperand) {
1598 return getCollapsedOpOperand(loc, op, opOperand, collapsingInfo,
1783 for (OpOperand &opOperand : genericOp->getOpOperands()) {
1785 opOperand.get().getDefiningOp<tensor::ExpandShapeOp>();
1790 getCollapsableIterationSpaceDims(genericOp, &opOperand,
1793 !controlFoldingReshapes(&opOperand)) {
1948 for (OpOperand *opOperand : genericOp.getDpsInputOperands()) {
1949 Operation *def = opOperand->get().getDefiningOp();
1978 auto resultValue = dyn_cast<OpResult>(opOperand->get());
1992 if (inputOperand == opOperand)
2030 mapping.map(entryBlock.getArgument(opOperand->getOperandNumber()),
2061 for (OpOperand &opOperand : op.getDpsInitsMutable()) {
2062 if (!op.payloadUsesValueFromOperand(&opOperand)) {
2063 Value operandVal = opOperand.get();
2081 op->setOperand(opOperand.getOperandNumber(), emptyTensor);
2103 for (OpOperand *opOperand : genericOp.getDpsInputOperands()) {
2104 if (!genericOp.payloadUsesValueFromOperand(opOperand))
2106 FillOp fillOp = opOperand->get().getDefiningOp<FillOp>();
2117 payload.getArgument(opOperand->getOperandNumber()), convertedVal);