Lines Matching defs:CallGraphNode

41     DenseMap<Attribute, CallGraphNode *> &resolvedRefs,
42 function_ref<void(CallGraphNode *, Operation *)> callback) {
49 CallGraphNode *&node = refIt.first->second;
81 DenseSet<CallGraphNode *> topLevelUses;
84 DenseMap<CallGraphNode *, int> innerUses;
91 void dropCallUses(CallGraphNode *userNode, Operation *callOp, CallGraph &cg);
94 void eraseNode(CallGraphNode *node);
97 bool isDead(CallGraphNode *node) const;
101 bool hasOneUseAndDiscardable(CallGraphNode *node) const;
104 void recomputeUses(CallGraphNode *node, CallGraph &cg);
108 void mergeUsesAfterInlining(CallGraphNode *lhs, CallGraphNode *rhs);
116 DenseMap<CallGraphNode *, int> discardableSymNodeUses;
120 DenseMap<CallGraphNode *, CGUser> nodeUses;
131 DenseMap<Attribute, CallGraphNode *> alwaysLiveNodes;
149 [](CallGraphNode *, Operation *) {});
160 for (CallGraphNode *node : cg)
164 void CGUseList::dropCallUses(CallGraphNode *userNode, Operation *callOp,
167 auto walkFn = [&](CallGraphNode *node, Operation *user) {
174 DenseMap<Attribute, CallGraphNode *> resolvedRefs;
178 void CGUseList::eraseNode(CallGraphNode *node) {
192 bool CGUseList::isDead(CallGraphNode *node) const {
203 bool CGUseList::hasOneUseAndDiscardable(CallGraphNode *node) const {
214 void CGUseList::recomputeUses(CallGraphNode *node, CallGraph &cg) {
221 DenseMap<Attribute, CallGraphNode *> resolvedRefs;
222 auto walkFn = [&](CallGraphNode *refNode, Operation *user) {
236 void CGUseList::mergeUsesAfterInlining(CallGraphNode *lhs, CallGraphNode *rhs) {
245 for (CallGraphNode *node : uses.topLevelUses)
262 std::vector<CallGraphNode *>::iterator begin() { return nodes.begin(); }
263 std::vector<CallGraphNode *>::iterator end() { return nodes.end(); }
266 void reset(const std::vector<CallGraphNode *> &newNodes) { nodes = newNodes; }
269 void remove(CallGraphNode *node) {
278 std::vector<CallGraphNode *> nodes;
305 CallGraphNode *sourceNode, CallGraph &cg,
309 SmallVector<std::pair<Block *, CallGraphNode *>, 8> worklist;
310 auto addToWorklist = [&](CallGraphNode *node,
330 CallGraphNode *targetNode = cg.resolveCallable(call, symbolTable);
340 CallGraphNode *nestedNode = cg.lookupNode(&nestedRegion);
363 CallGraphNode *node, std::optional<size_t> inlineHistoryID,
364 MutableArrayRef<std::pair<CallGraphNode *, std::optional<size_t>>>
388 CallGraphNode *node;
400 void markForDeletion(CallGraphNode *node) { deadNodes.insert(node); }
405 for (CallGraphNode *node : deadNodes)
410 SmallPtrSet<CallGraphNode *, 8> deadNodes;
446 LogicalResult optimizeSCCAsync(MutableArrayRef<CallGraphNode *> nodesToVisit,
453 LogicalResult optimizeCallable(CallGraphNode *node,
490 SmallVector<CallGraphNode *, 4> nodesToVisit;
516 for (CallGraphNode *node : nodesToVisit)
522 Inliner::Impl::optimizeSCCAsync(MutableArrayRef<CallGraphNode *> nodesToVisit,
538 for (CallGraphNode *node : nodesToVisit)
544 return failableParallelForEach(ctx, nodesToVisit, [&](CallGraphNode *node) {
564 Inliner::Impl::optimizeCallable(CallGraphNode *node,
591 llvm::SmallSetVector<CallGraphNode *, 1> deadNodes;
596 for (CallGraphNode *node : currentSCC) {
614 SmallVector<std::pair<CallGraphNode *, InlineHistoryT>, 8> inlineHistory;
700 for (CallGraphNode *node : deadNodes) {
718 [&](CallGraphNode::Edge const &edge) -> bool {