Lines Matching defs:DT
84 const DominatorTree &DT, const LoopInfo &LI,
115 if (!DT.isReachableFromEntry(UserBB)) {
144 const DomTreeNode *DomNode = DT.getNode(DomBB);
158 if (!DT.dominates(DomNode, DT.getNode(ExitBB)))
326 const DominatorTree &DT, const LoopInfo &LI,
332 return formLCSSAForInstructionsImpl(Worklist, DT, LI, SE, PHIsToRemove,
338 Loop &L, const DominatorTree &DT, ArrayRef<BasicBlock *> ExitBlocks,
353 BasicBlock *IDomBB = DT.getNode(BB)->getIDom()->getBlock();
379 static bool formLCSSAImpl(Loop &L, const DominatorTree &DT, const LoopInfo *LI,
388 assert(SubLoop->isRecursivelyLCSSAForm(DT, *LI) && "Subloop not in LCSSA!");
405 computeBlocksDominatingExits(L, DT, ExitBlocks, BlocksDominatingExits);
435 Changed = formLCSSAForInstructionsImpl(Worklist, DT, *LI, SE, nullptr,
438 assert(L.isLCSSAForm(DT));
443 bool llvm::formLCSSA(Loop &L, const DominatorTree &DT, const LoopInfo *LI,
447 return formLCSSAImpl(L, DT, LI, SE, LoopExitBlocks);
451 static bool formLCSSARecursivelyImpl(Loop &L, const DominatorTree &DT,
458 Changed |= formLCSSARecursivelyImpl(*SubLoop, DT, LI, SE, LoopExitBlocks);
460 Changed |= formLCSSAImpl(L, DT, LI, SE, LoopExitBlocks);
465 bool llvm::formLCSSARecursively(Loop &L, const DominatorTree &DT,
469 return formLCSSARecursivelyImpl(L, DT, LI, SE, LoopExitBlocks);
473 static bool formLCSSAOnAllLoops(const LoopInfo *LI, const DominatorTree &DT,
477 Changed |= formLCSSARecursively(*L, DT, LI, SE);
489 DominatorTree *DT;
502 return L->isRecursivelyLCSSAForm(*DT, *LI);
547 DT = &getAnalysis<DominatorTreeWrapperPass>().getDomTree();
551 return formLCSSAOnAllLoops(LI, *DT, SE);
556 auto &DT = AM.getResult<DominatorTreeAnalysis>(F);
558 if (!formLCSSAOnAllLoops(&LI, DT, SE))