Lines Matching defs:MemRefDependenceGraph
106 struct MemRefDependenceGraph { struct
111 struct Node {
176 struct Edge {
194 DenseMap<unsigned, Node> nodes;
196 DenseMap<unsigned, SmallVector<Edge, 2>> inEdges;
198 DenseMap<unsigned, SmallVector<Edge, 2>> outEdges;
201 DenseMap<Value, unsigned> memrefEdgeCount;
203 unsigned nextNodeId = 0;
205 MemRefDependenceGraph() {} in MemRefDependenceGraph() argument
212 Node *getNode(unsigned id) { in getNode()
219 Node *getForOpNode(AffineForOp forOp) { in getForOpNode()
227 unsigned addNode(Operation *op) { in addNode()
234 void removeNode(unsigned id) { in removeNode()
257 bool writesToLiveInOrEscapingMemrefs(unsigned id) { in writesToLiveInOrEscapingMemrefs()
279 AffineWriteOpInterface getUniqueOutgoingStore(Node *node) { in getUniqueOutgoingStore()
318 bool canRemoveNode(unsigned id) { in canRemoveNode()
334 bool hasEdge(unsigned srcId, unsigned dstId, Value value = nullptr) { in hasEdge()
348 void addEdge(unsigned srcId, unsigned dstId, Value value) { in addEdge()
358 void removeEdge(unsigned srcId, unsigned dstId, Value value) { in removeEdge()
383 bool hasDependencePath(unsigned srcId, unsigned dstId) { in hasDependencePath()
412 unsigned getIncomingMemRefAccesses(unsigned id, Value memref) { in getIncomingMemRefAccesses()
427 unsigned getOutEdgeCount(unsigned id, Value memref = nullptr) { in getOutEdgeCount()
439 Operation *getFusedLoopNestInsertionPoint(unsigned srcId, unsigned dstId) { in getFusedLoopNestInsertionPoint()
501 void updateEdges(unsigned srcId, unsigned dstId, Value oldMemRef, in updateEdges()
534 void updateEdges(unsigned sibId, unsigned dstId) { in updateEdges()
559 void addToNode(unsigned id, const SmallVectorImpl<Operation *> &loads, in addToNode()
568 void clearNodeLoadAndStores(unsigned id) { in clearNodeLoadAndStores()
576 void forEachMemRefInputEdge(unsigned id, in forEachMemRefInputEdge()
584 void forEachMemRefOutputEdge(unsigned id, in forEachMemRefOutputEdge()
592 void forEachMemRefEdge(ArrayRef<Edge> edges, in forEachMemRefEdge()
607 void print(raw_ostream &os) const { in print()
624 void dump() const { print(llvm::errs()); } in dump()