Lines Matching refs:DT
235 // making the blocks reachable again. Such DT updates lead to high compile
474 BasicBlock *llvm::SplitEdge(BasicBlock *BB, BasicBlock *Succ, DominatorTree *DT,
482 CriticalEdgeSplittingOptions(DT, LI, MSSAU).setPreserveLCSSA()))
492 return SplitBlock(Succ, &Succ->front(), DT, LI, MSSAU);
499 return SplitBlock(BB, BB->getTerminator(), DT, LI, MSSAU);
518 DominatorTree *DT, LoopInfo *LI,
533 if (DT)
535 if (DomTreeNode *OldNode = DT->getNode(Old)) {
538 DomTreeNode *NewNode = DT->addNewBlock(New, Old);
540 DT->changeImmediateDominator(I, NewNode);
554 DominatorTree *DT, LoopInfo *LI,
558 if (DT) {
559 if (OldBB == DT->getRootNode()->getBlock()) {
561 DT->setNewRoot(NewBB);
564 DT->splitBlock(NewBB);
576 assert(DT && "DT should be available to update LoopInfo!");
588 if (!DT->isReachableFromEntry(Pred))
711 const char *Suffix, DominatorTree *DT,
724 SplitLandingPadPredecessors(BB, Preds, Suffix, NewName.c_str(), NewBBs, DT,
767 UpdateAnalysisInformation(BB, NewBB, Preds, DT, LI, MSSAU, PreserveLCSSA,
782 DominatorTree *DT, LoopInfo *LI,
809 UpdateAnalysisInformation(OrigBB, NewBB1, Preds, DT, LI, MSSAU, PreserveLCSSA,
845 UpdateAnalysisInformation(OrigBB, NewBB2, NewBB2Preds, DT, LI, MSSAU,
929 DominatorTree *DT, LoopInfo *LI,
951 if (DT) {
952 if (DomTreeNode *OldNode = DT->getNode(Head)) {
955 DomTreeNode *NewNode = DT->addNewBlock(Tail, Head);
957 DT->changeImmediateDominator(Child, NewNode);
961 DT->addNewBlock(ThenBlock, Head);
963 DT->changeImmediateDominator(ThenBlock, Head);