Lines Matching refs:DT

87                           ValueToValueMapTy &VMap, DominatorTree *DT,  in ConnectProlog()  argument
161 SplitBlockPredecessors(PrologExit, PrologExitPreds, ".unr-lcssa", DT, LI, in ConnectProlog()
180 SplitBlockPredecessors(OriginalLoopLatchExit, Preds, ".unr-lcssa", DT, LI, in ConnectProlog()
192 if (DT) { in ConnectProlog()
193 auto *NewDom = DT->findNearestCommonDominator(OriginalLoopLatchExit, in ConnectProlog()
195 DT->changeImmediateDominator(OriginalLoopLatchExit, NewDom); in ConnectProlog()
214 ValueToValueMapTy &VMap, DominatorTree *DT, in ConnectEpilog() argument
310 SplitBlockPredecessors(Exit, Preds, ".epilog-lcssa", DT, LI, nullptr, in ConnectEpilog()
321 if (DT) { in ConnectEpilog()
322 auto *NewDom = DT->findNearestCommonDominator(Exit, NewExit); in ConnectEpilog()
323 DT->changeImmediateDominator(Exit, NewDom); in ConnectEpilog()
328 SplitBlockPredecessors(NewExit, NewExitPreds, ".loopexit", DT, LI, nullptr, in ConnectEpilog()
345 DominatorTree *DT, LoopInfo *LI, unsigned Count) { in CloneLoopBlocks() argument
371 if (DT) { in CloneLoopBlocks()
374 DT->addNewBlock(NewBB, InsertTop); in CloneLoopBlocks()
377 BasicBlock *IDomBB = DT->getNode(*BB)->getIDom()->getBlock(); in CloneLoopBlocks()
378 DT->addNewBlock(NewBB, cast<BasicBlock>(VMap[IDomBB])); in CloneLoopBlocks()
585 LoopInfo *LI, ScalarEvolution *SE, DominatorTree *DT, AssumptionCache *AC, in UnrollRuntimeLoopRemainder() argument
708 NewPreHeader = SplitBlock(PreHeader, PreHeader->getTerminator(), DT, LI); in UnrollRuntimeLoopRemainder()
711 NewExit = SplitBlockPredecessors(LatchExit, {Latch}, ".unr-lcssa", DT, LI, in UnrollRuntimeLoopRemainder()
719 EpilogPreHeader = SplitBlock(NewExit, NewExitTerminator, DT, LI); in UnrollRuntimeLoopRemainder()
739 PrologPreHeader = SplitEdge(PreHeader, Header, DT, LI); in UnrollRuntimeLoopRemainder()
742 DT, LI); in UnrollRuntimeLoopRemainder()
745 NewPreHeader = SplitBlock(PrologExit, PrologExit->getTerminator(), DT, LI); in UnrollRuntimeLoopRemainder()
776 !isGuaranteedNotToBeUndefOrPoison(TripCount, AC, PreHeaderBR, DT)) { in UnrollRuntimeLoopRemainder()
805 if (DT) { in UnrollRuntimeLoopRemainder()
807 DT->changeImmediateDominator(NewExit, PreHeader); in UnrollRuntimeLoopRemainder()
809 DT->changeImmediateDominator(PrologExit, PreHeader); in UnrollRuntimeLoopRemainder()
832 NewPreHeader, NewBlocks, LoopBlocks, VMap, DT, LI, Count); in UnrollRuntimeLoopRemainder()
880 if (DT && !L->getExitingBlock()) { in UnrollRuntimeLoopRemainder()
887 auto *DomNodeBB = DT->getNode(BB); in UnrollRuntimeLoopRemainder()
895 DT->changeImmediateDominator(BB, PreHeader); in UnrollRuntimeLoopRemainder()
929 NewPreHeader, VMap, DT, LI, PreserveLCSSA, *SE, Count); in UnrollRuntimeLoopRemainder()
953 NewPreHeader, VMap, DT, LI, PreserveLCSSA, *SE); in UnrollRuntimeLoopRemainder()
962 if (DT) { in UnrollRuntimeLoopRemainder()
963 assert(DT->verify(DominatorTree::VerificationLevel::Full)); in UnrollRuntimeLoopRemainder()
964 LI->verify(*DT); in UnrollRuntimeLoopRemainder()
969 if (Count == 2 && DT && LI && SE) { in UnrollRuntimeLoopRemainder()
976 breakLoopBackedge(remainderLoop, *DT, *SE, *LI, nullptr); in UnrollRuntimeLoopRemainder()
984 if (Value *V = simplifyInstruction(&Inst, {DL, nullptr, DT, AC})) in UnrollRuntimeLoopRemainder()
999 DomTreeUpdater DTU(DT, DomTreeUpdater::UpdateStrategy::Eager); in UnrollRuntimeLoopRemainder()
1009 formDedicatedExitBlocks(L, DT, LI, nullptr, PreserveLCSSA); in UnrollRuntimeLoopRemainder()
1013 formDedicatedExitBlocks(remainderLoop, DT, LI, nullptr, PreserveLCSSA); in UnrollRuntimeLoopRemainder()
1028 UnrollResult = UnrollLoop(remainderLoop, ULO, LI, SE, DT, AC, TTI, in UnrollRuntimeLoopRemainder()