Lines Matching full:roots
388 /// Given a pattern, determines the set of roots present in this pattern.
392 // to other operations. These are not roots by default.
407 SmallVector<Value> roots;
410 roots.push_back(operationOp);
412 return roots;
415 /// Given a list of candidate roots, builds the cost graph for connecting them.
418 /// the candidate roots based on the common connector values, taking the one
422 static void buildCostGraph(ArrayRef<Value> roots, RootOrderingGraph &graph,
447 // Map from candidate connector values to their roots and depths. Using a
452 for (Value root : roots) {
527 assert((llvm::hasSingleElement(roots) || graph.size() == roots.size()) &&
618 SmallVector<Value> roots = detectRoots(pattern);
623 buildCostGraph(roots, graph, parentMaps);
644 LLVM_DEBUG(llvm::dbgs() << "Candidate roots:\n");
645 for (Value root : roots) {
652 bestEdges = solver.preOrderTraversal(roots);
658 bestEdges = solver.preOrderTraversal(roots);
956 /// A root of the pattern chosen among the candidate roots in pdl.rewrite.