Lines Matching defs:DT
115 BasicBlock *llvm::InsertPreheaderForLoop(Loop *L, DominatorTree *DT,
137 PreheaderBB = SplitBlockPredecessors(Header, OutsideBlocks, ".preheader", DT,
170 static PHINode *findPHIToPartitionLoops(Loop *L, DominatorTree *DT,
176 if (Value *V = simplifyInstruction(PN, {DL, nullptr, DT, AC})) {
213 DominatorTree *DT, LoopInfo *LI,
245 PHINode *PN = findPHIToPartitionLoops(L, DT, AC);
270 DT, LI, MSSAU, PreserveLCSSA);
299 if (DT->dominates(Header, P))
331 formDedicatedExitBlocks(L, DT, LI, MSSAU, PreserveLCSSA);
340 formLCSSA(*L, *DT, LI, SE);
342 assert(NewOuter->isRecursivelyLCSSAForm(*DT, *LI) &&
356 DominatorTree *DT, LoopInfo *LI,
465 DT->splitBlock(BEBlock);
476 DominatorTree *DT, LoopInfo *LI,
539 Preheader = InsertPreheaderForLoop(L, DT, LI, MSSAU, PreserveLCSSA);
548 if (formDedicatedExitBlocks(L, DT, LI, MSSAU, PreserveLCSSA))
562 if (Loop *OuterL = separateNestedLoop(L, Preheader, DT, LI, SE,
580 LoopLatch = insertUniqueBackedgeBlock(L, Preheader, DT, LI, MSSAU);
596 if (Value *V = simplifyInstruction(PN, {DL, nullptr, DT, AC})) {
671 DomTreeNode *Node = DT->getNode(ExitingBlock);
674 DT->changeImmediateDominator(Child, Node->getIDom());
676 DT->eraseNode(ExitingBlock);
697 bool llvm::simplifyLoop(Loop *L, DominatorTree *DT, LoopInfo *LI,
706 assert(DT && "DT not available.");
708 assert(L->isRecursivelyLCSSAForm(*DT, *LI) &&
726 Changed |= simplifyOneLoop(Worklist.pop_back_val(), Worklist, DT, LI, SE,
793 DominatorTree *DT = &getAnalysis<DominatorTreeWrapperPass>().getDomTree();
810 Changed |= simplifyLoop(L, DT, LI, SE, AC, MSSAU.get(), PreserveLCSSA);
815 *LI, [&](Loop *L) { return L->isRecursivelyLCSSAForm(*DT, *LI); });
826 DominatorTree *DT = &AM.getResult<DominatorTreeAnalysis>(F);
841 simplifyLoop(L, DT, LI, SE, AC, MSSAU.get(), /*PreserveLCSSA*/ false);