Lines Matching defs:DTU
92 "applying corresponding DTU updates.");
96 void llvm::DeleteDeadBlock(BasicBlock *BB, DomTreeUpdater *DTU,
98 DeleteDeadBlocks({BB}, DTU, KeepOneInputPHIs);
101 void llvm::DeleteDeadBlocks(ArrayRef <BasicBlock *> BBs, DomTreeUpdater *DTU,
113 detachDeadBlocks(BBs, DTU ? &Updates : nullptr, KeepOneInputPHIs);
115 if (DTU)
116 DTU->applyUpdates(Updates);
119 if (DTU)
120 DTU->deleteBB(BB);
125 bool llvm::EliminateUnreachableBlocks(Function &F, DomTreeUpdater *DTU,
140 DeleteDeadBlocks(DeadBlocks, DTU, KeepOneInputPHIs);
180 bool llvm::MergeBlockIntoPredecessor(BasicBlock *BB, DomTreeUpdater *DTU,
238 assert(!DTU && "cannot use both DT and DTU for updates");
247 // DTU update: Collect all the edges that exit BB.
250 if (DTU) {
251 assert(!DT && "cannot use both DT and DTU for updates");
324 if (DTU)
325 DTU->applyUpdates(Updates);
334 DeleteDeadBlock(BB, DTU);
340 SmallPtrSetImpl<BasicBlock *> &MergeBlocks, Loop *L, DomTreeUpdater *DTU,
351 if (MergeBlockIntoPredecessor(Dest, DTU, LI)) {
914 DomTreeUpdater DTU(DT, DomTreeUpdater::UpdateStrategy::Lazy);
921 DTU.applyUpdates(Updates);
922 DTU.flush();
1029 DomTreeUpdater *DTU, DominatorTree *DT,
1035 DTU ? DTU : (DT ? &LocalDTU : nullptr), LI, MSSAU,
1053 if (DTU) {
1065 DTU->applyUpdates(Updates);
1088 return SplitBlockImpl(Old, SplitPt, /*DTU=*/nullptr, DT, LI, MSSAU, BBName,
1092 DomTreeUpdater *DTU, LoopInfo *LI,
1095 return SplitBlockImpl(Old, SplitPt, DTU, /*DT=*/nullptr, LI, MSSAU, BBName,
1100 DomTreeUpdater *DTU, LoopInfo *LI,
1118 if (DTU) {
1131 DTU->applyUpdates(DTUpdates);
1136 MSSAU->applyUpdates(DTUpdates, DTU->getDomTree());
1145 /// Invalidates DFS Numbering when DTU or DT is provided.
1148 DomTreeUpdater *DTU, DominatorTree *DT,
1152 if (DTU) {
1155 if (NewBB->isEntryBlock() && DTU->hasDomTree()) {
1159 DTU->recalculate(*NewBB->getParent());
1171 DTU->applyUpdates(Updates);
1191 if (DTU && DTU->hasDomTree())
1192 DT = &DTU->getDomTree();
1326 DomTreeUpdater *DTU, DominatorTree *DT, LoopInfo *LI,
1331 const char *Suffix, DomTreeUpdater *DTU,
1345 DTU, DT, LI, MSSAU, PreserveLCSSA);
1395 UpdateAnalysisInformation(BB, NewBB, Preds, DTU, DT, LI, MSSAU, PreserveLCSSA,
1424 return SplitBlockPredecessorsImpl(BB, Preds, Suffix, /*DTU=*/nullptr, DT, LI,
1430 DomTreeUpdater *DTU, LoopInfo *LI,
1433 return SplitBlockPredecessorsImpl(BB, Preds, Suffix, DTU,
1440 DomTreeUpdater *DTU, DominatorTree *DT, LoopInfo *LI,
1466 UpdateAnalysisInformation(OrigBB, NewBB1, Preds, DTU, DT, LI, MSSAU,
1502 UpdateAnalysisInformation(OrigBB, NewBB2, NewBB2Preds, DTU, DT, LI, MSSAU,
1543 DomTreeUpdater *DTU, LoopInfo *LI,
1547 NewBBs, DTU, /*DT=*/nullptr, LI, MSSAU,
1553 DomTreeUpdater *DTU) {
1603 if (DTU)
1604 DTU->applyUpdates({{DominatorTree::Delete, Pred, BB}});
1613 DomTreeUpdater *DTU, LoopInfo *LI,
1618 /* UnreachableElse */ false, BranchWeights, DTU, LI);
1626 DomTreeUpdater *DTU, LoopInfo *LI,
1631 /* UnreachableElse */ Unreachable, BranchWeights, DTU, LI);
1639 DomTreeUpdater *DTU, LoopInfo *LI) {
1644 /* UnreachableElse */ false, BranchWeights, DTU, LI);
1653 MDNode *BranchWeights, DomTreeUpdater *DTU, LoopInfo *LI) {
1662 if (DTU) {
1706 if (DTU) {
1717 DTU->applyUpdates(Updates);