Lines Matching refs:dstNode

667   auto *dstNode = mdg->getNode(dstId);  in getProducerCandidates()  local
669 for (Operation *load : dstNode->loads) in getProducerCandidates()
699 auto *dstNode = mdg->getNode(dstId); in gatherProducerConsumerMemrefs() local
701 gatherProducerConsumerMemrefs(srcNode->stores, dstNode->loads, in gatherProducerConsumerMemrefs()
997 auto *dstNode = mdg->getNode(dstId); in hasNonAffineUsersOnThePath() local
1005 if (srcNode->op->isBeforeInBlock(op) && op->isBeforeInBlock(dstNode->op)) { in hasNonAffineUsersOnThePath()
1430 auto *dstNode = mdg->getNode(dstId); in fuseProducerConsumerNodes() local
1432 if (!isa<AffineForOp>(dstNode->op)) in fuseProducerConsumerNodes()
1436 if (dstNode->op->getNumResults() > 0) in fuseProducerConsumerNodes()
1445 sinkSequentialLoops(dstNode); in fuseProducerConsumerNodes()
1446 auto dstAffineForOp = cast<AffineForOp>(dstNode->op); in fuseProducerConsumerNodes()
1508 mdg->getFusedLoopNestInsertionPoint(srcNode->id, dstNode->id); in fuseProducerConsumerNodes()
1515 for (Operation *op : dstNode->loads) in fuseProducerConsumerNodes()
1519 for (Operation *op : dstNode->stores) in fuseProducerConsumerNodes()
1597 (removeSrcNode || dstNode->getStoreOpCount(memref) > 0)) in fuseProducerConsumerNodes()
1633 mdg->updateEdges(srcNode->id, dstNode->id, privateMemrefs, in fuseProducerConsumerNodes()
1668 dstNode = mdg->getNode(dstId); in fuseProducerConsumerNodes()
1676 mdg->clearNodeLoadAndStores(dstNode->id); in fuseProducerConsumerNodes()
1706 auto *dstNode = mdg->getNode(dstId); in fuseSiblingNodes() local
1708 if (!isa<AffineForOp>(dstNode->op)) in fuseSiblingNodes()
1711 fuseWithSiblingNodes(dstNode); in fuseSiblingNodes()
1716 void fuseWithSiblingNodes(Node *dstNode) { in fuseWithSiblingNodes()
1719 auto dstAffineForOp = cast<AffineForOp>(dstNode->op); in fuseWithSiblingNodes()
1721 while (findSiblingNodeToFuse(dstNode, &visitedSibNodeIds, &idAndMemref)) { in fuseWithSiblingNodes()
1729 assert(sibNode->op->getBlock() == dstNode->op->getBlock()); in fuseWithSiblingNodes()
1731 sibNode->op->isBeforeInBlock(dstNode->op) in fuseWithSiblingNodes()
1732 ? mdg->getFusedLoopNestInsertionPoint(sibNode->id, dstNode->id) in fuseWithSiblingNodes()
1733 : mdg->getFusedLoopNestInsertionPoint(dstNode->id, sibNode->id); in fuseWithSiblingNodes()
1751 dstNode->getLoadOpsForMemref(memref, &dstLoadOpInsts); in fuseWithSiblingNodes()
1797 auto dstForInst = cast<AffineForOp>(dstNode->op); in fuseWithSiblingNodes()
1803 updateStateAfterSiblingFusion(sibNode, dstNode); in fuseWithSiblingNodes()
1811 bool findSiblingNodeToFuse(Node *dstNode, in findSiblingNodeToFuse()
1823 if (mdg->hasDependencePath(sibNode->id, dstNode->id) || in findSiblingNodeToFuse()
1824 mdg->hasDependencePath(dstNode->id, sibNode->id)) in findSiblingNodeToFuse()
1846 if (hasNonAffineUsersOnThePath(dstNode->id, sibNode->id, mdg) || in findSiblingNodeToFuse()
1847 hasNonAffineUsersOnThePath(sibNode->id, dstNode->id, mdg)) in findSiblingNodeToFuse()
1853 auto fn = dstNode->op->getParentOfType<func::FuncOp>(); in findSiblingNodeToFuse()
1866 if (sibNode->id == dstNode->id) in findSiblingNodeToFuse()
1873 if (dstNode->getLoadOpCount(memref) == 0) in findSiblingNodeToFuse()
1890 dstNode->id, [&](MemRefDependenceGraph::Edge inEdge) { in findSiblingNodeToFuse()
1892 if (dstNode->getLoadOpCount(inEdge.value) > 0 && in findSiblingNodeToFuse()
1908 if (outEdge.id == dstNode->id || outEdge.value != inEdge.value) in findSiblingNodeToFuse()
1933 void updateStateAfterSiblingFusion(Node *sibNode, Node *dstNode) { in updateStateAfterSiblingFusion()
1935 mdg->updateEdges(sibNode->id, dstNode->id); in updateStateAfterSiblingFusion()
1938 auto dstForInst = cast<AffineForOp>(dstNode->op); in updateStateAfterSiblingFusion()
1942 mdg->clearNodeLoadAndStores(dstNode->id); in updateStateAfterSiblingFusion()
1943 mdg->addToNode(dstNode->id, dstLoopCollector.loadOpInsts, in updateStateAfterSiblingFusion()