Lines Matching full:nodes

78   // Numbering map for gep nodes. Used to keep track of ordering for
79 // gep nodes.
151 NodeVect Nodes; member in __anon9d81f58e0111::HexagonCommonGEP
203 Type *PTy = nullptr; // Type indexed by this node. For pointer nodes
379 Nodes.push_back(N); in processGepInst()
393 Nodes.push_back(Nx); in processGepInst()
416 // The creation of gep nodes requires DT-traversal. When processing a GEP in collect()
428 LLVM_DEBUG(dbgs() << "Gep nodes after initial collection:\n" << Nodes); in collect()
431 static void invert_find_roots(const NodeVect &Nodes, NodeChildrenMap &NCM, in invert_find_roots() argument
433 for (GepNode *N : Nodes) { in invert_find_roots()
444 NodeSet &Nodes) { in nodes_for_root() argument
447 Nodes.insert(Root); in nodes_for_root()
456 Nodes.insert(CF->second.begin(), CF->second.end()); in nodes_for_root()
497 // Don't cache the result for nodes with different hashes. The hash in node_eq()
514 // If the root/pointer flags have different values, the nodes are in node_eq()
516 // If both nodes are root nodes, but their base pointers differ, in node_eq()
522 // Here the root/pointer flags are identical, and for root nodes the in node_eq()
523 // base pointers are equal, so the root nodes are equal. in node_eq()
524 // For non-root nodes, compare their parent nodes. in node_eq()
533 // The essence of this commoning is finding gep nodes that are equal. in common()
534 // To do this we need to compare all pairs of nodes. To save time, in common()
535 // first, partition the set of all nodes into sets of potentially equal in common()
536 // nodes, and then compare pairs from within each partition. in common()
540 for (GepNode *N : Nodes) { in common()
545 // Compute the equivalence relation for the gep nodes. Use two caches, in common()
624 for (GepNode *N : Nodes) { in common()
638 LLVM_DEBUG(dbgs() << "Gep nodes after commoning:\n" << Nodes); in common()
640 // Finally, erase the nodes that are no longer used. in common()
642 for (GepNode *N : Nodes) { in common()
654 erase_if(Nodes, in_set(Erase)); in common()
656 LLVM_DEBUG(dbgs() << "Gep nodes after post-commoning cleanup:\n" << Nodes); in common()
797 // Avoid putting nodes into empty blocks. in recalculatePlacement()
887 // For nodes that are not in the main path of the containing loop (i.e. in adjustForInvariance()
904 // Recursively compute the locations of all children nodes. in adjustForInvariance()
954 Nodes.push_back(NewN); in separateChainForNode()
999 // Collect all used nodes together with the uses from loads and stores, in separateConstantChains()
1001 NodeToUsesMap FNs; // Foldable nodes. in separateConstantChains()
1033 LLVM_DEBUG(dbgs() << "Nodes with foldable users:\n" << FNs); in separateConstantChains()
1045 // of root nodes. in computeNodePlacement()
1048 invert_find_roots(Nodes, NCM, Roots); in computeNodePlacement()
1051 // the locations of the child nodes. in computeNodePlacement()
1071 // Such a refinement could include splitting the nodes if they are placed in computeNodePlacement()
1080 << " for nodes:\n" in fabricateGEP()
1149 LLVM_DEBUG(dbgs() << "Nodes before materialization:\n" << Nodes << '\n'); in materialize()
1153 // "parent" relation between nodes. in materialize()
1154 invert_find_roots(Nodes, NCM, Roots); in materialize()
1161 NodeVect NA; // Nodes to assemble. in materialize()
1162 // Append to NA all child nodes up to (and including) the first child in materialize()
1170 // happen for nodes created from dead GEPs). in materialize()
1266 Nodes.clear(); in runOnFunction()