Lines Matching defs:srcId
71 /// Returns true if node 'srcId' can be removed after fusing it with node
73 /// 1. 'srcId' has no output dependences after fusion and no escaping memrefs.
74 /// 2. 'srcId' has no output dependences after fusion, has escaping memrefs
76 /// 3. 'srcId' has output dependences after fusion, the fusion slice is
79 unsigned srcId, unsigned dstId, const ComputationSliceState &fusionSlice,
86 for (auto &outEdge : mdg->outEdges[srcId]) {
169 /// producer-consumer dependence between 'srcId' and 'dstId'.
171 gatherProducerConsumerMemrefs(unsigned srcId, unsigned dstId,
175 auto *srcNode = mdg->getNode(srcId);
837 for (unsigned srcId : llvm::reverse(srcIdCandidates)) {
839 auto *srcNode = mdg->getNode(srcId);
841 LLVM_DEBUG(llvm::dbgs() << "Evaluating src loop " << srcId
850 gatherProducerConsumerMemrefs(srcId, dstId, mdg,
967 // Determine if 'srcId' can be removed after fusion, taking into
971 srcId, dstId, bestSlice, fusedLoopInsPoint, srcEscapingMemRefs,
976 if (canCreatePrivateMemRef(memref, srcEscapingMemRefs, srcId, dstId,
991 << "Fused src loop " << srcId << " into dst loop " << dstId
1047 << "Removing src loop " << srcId << " after fusion\n");
1050 mdg->removeNode(srcId);