Lines Matching refs:Roots
57 using RootsT = decltype(DomTreeT::Roots);
368 // are always selected as tree roots. Roots with forward successors correspond
385 RootsT Roots;
389 Roots.push_back(GetEntryNode(DT));
390 return Roots;
413 Roots.push_back(N);
463 Roots.push_back(FurthestAway);
491 if (HasNonTrivialRoots) RemoveRedundantRoots(DT, BUI, Roots);
495 : Roots) dbgs()
499 return Roots;
511 RootsT &Roots) {
517 for (unsigned i = 0; i < Roots.size(); ++i) {
518 auto &Root = Roots[i];
533 if (llvm::find(Roots, N) != Roots.end()) {
537 std::swap(Root, Roots.back());
538 Roots.pop_back();
552 assert(DT.Roots.size() == 1 && "Dominators should have a singe root");
553 runDFS(DT.Roots[0], 0, DC, 0);
559 for (const NodePtr Root : DT.Roots) Num = runDFS(Root, Num, DC, 0);
571 DT.Roots = FindRoots(DT, nullptr);
581 if (DT.Roots.empty()) return;
586 NodePtr Root = IsPostDom ? nullptr : DT.Roots[0];
668 DT.Roots.push_back(From);
690 auto RIt = llvm::find(DT.Roots, To->getBlock());
691 if (RIt == DT.Roots.end())
719 if (std::none_of(DT.Roots.begin(), DT.Roots.end(), [BUI](const NodePtr N) {
725 RootsT Roots = FindRoots(DT, BUI);
726 if (!isPermutation(DT.Roots, Roots)) {
732 LLVM_DEBUG(dbgs() << "Roots are different in updated trees\n"
1051 DT.Roots.push_back(ToTN->getBlock());
1265 if (!DT.Parent && !DT.Roots.empty()) {
1272 if (DT.Roots.empty()) {
1286 if (!isPermutation(DT.Roots, ComputedRoots)) {
1289 for (const NodePtr N : DT.Roots) errs() << BlockNamePrinter(N) << ", ";