Home
last modified time | relevance | path

Searched refs:DTU (Results 1 – 25 of 63) sorted by relevance

123

/external/llvm-project/llvm/unittests/Analysis/
DDomTreeUpdaterTest.cpp56 DomTreeUpdater DTU(DT, PDT, DomTreeUpdater::UpdateStrategy::Eager); in TEST() local
58 ASSERT_TRUE(DTU.hasDomTree()); in TEST()
59 ASSERT_TRUE(DTU.hasPostDomTree()); in TEST()
60 ASSERT_TRUE(DTU.isEager()); in TEST()
61 ASSERT_FALSE(DTU.isLazy()); in TEST()
62 ASSERT_TRUE(DTU.getDomTree().verify()); in TEST()
63 ASSERT_TRUE(DTU.getPostDomTree().verify()); in TEST()
64 ASSERT_FALSE(DTU.hasPendingUpdates()); in TEST()
74 DTU.applyUpdatesPermissive( in TEST()
76 ASSERT_FALSE(DTU.hasPendingUpdates()); in TEST()
[all …]
/external/llvm-project/llvm/unittests/Transforms/Utils/
DLocalTest.cpp214 auto Test = [&](Function &F, DomTreeUpdater &DTU) { in TEST() argument
222 MergeBasicBlockIntoOnlyPred(BB, &DTU); in TEST()
224 if (DTU.hasDomTree()) { in TEST()
225 EXPECT_TRUE(DTU.getDomTree().verify()); in TEST()
227 if (DTU.hasPostDomTree()) { in TEST()
228 EXPECT_TRUE(DTU.getPostDomTree().verify()); in TEST()
237 DomTreeUpdater DTU(*DT, PDT, DomTreeUpdater::UpdateStrategy::Eager); in TEST() local
238 Test(F, DTU); in TEST()
245 DomTreeUpdater DTU(*DT, DomTreeUpdater::UpdateStrategy::Eager); in TEST() local
246 Test(F, DTU); in TEST()
[all …]
DBasicBlockUtilsTest.cpp52 DomTreeUpdater DTU(DT, DomTreeUpdater::UpdateStrategy::Eager); in TEST() local
55 bool Result = EliminateUnreachableBlocks(*F, &DTU); in TEST()
80 DomTreeUpdater DTU(DT, DomTreeUpdater::UpdateStrategy::Eager); in TEST() local
83 bool Result = EliminateUnreachableBlocks(*F, &DTU); in TEST()
/external/llvm-project/llvm/examples/IRTransforms/
DSimplifyCFG.cpp104 DomTreeUpdater DTU(DT, DomTreeUpdater::UpdateStrategy::Lazy); in removeDeadBlocks_v2() local
127 DTU.deleteBB(&BB); in removeDeadBlocks_v2()
132 DTU.applyUpdatesPermissive(DTUpdates); in removeDeadBlocks_v2()
176 DomTreeUpdater DTU(DT, DomTreeUpdater::UpdateStrategy::Lazy); in eliminateCondBranches_v2() local
212 DTU.applyUpdatesPermissive(DTUpdates); in eliminateCondBranches_v2()
221 DomTreeUpdater DTU(DT, DomTreeUpdater::UpdateStrategy::Lazy); in eliminateCondBranches_v3() local
259 DTU.applyUpdatesPermissive(DTUpdates); in eliminateCondBranches_v3()
308 DomTreeUpdater DTU(DT, DomTreeUpdater::UpdateStrategy::Lazy); in mergeIntoSinglePredecessor_v2() local
346 DTU.deleteBB(&BB); in mergeIntoSinglePredecessor_v2()
352 DTU.applyUpdatesPermissive(DTUpdates); in mergeIntoSinglePredecessor_v2()
/external/llvm-project/llvm/lib/Transforms/Utils/
DMatrixUtils.cpp25 IRBuilderBase &B, DomTreeUpdater &DTU, Loop *L, in CreateLoop() argument
51 DTU.applyUpdatesPermissive({ in CreateLoop()
71 IRBuilderBase &B, DomTreeUpdater &DTU, in CreateTiledLoops() argument
85 "cols", B, DTU, ColLoop, LI); in CreateTiledLoops()
89 "rows", B, DTU, RowLoop, LI); in CreateTiledLoops()
94 B.getInt64(TileSize), "inner", B, DTU, InnerLoop, LI); in CreateTiledLoops()
DLocal.cpp130 DomTreeUpdater *DTU) { in ConstantFoldTerminator() argument
153 if (DTU) in ConstantFoldTerminator()
154 DTU->applyUpdatesPermissive({{DominatorTree::Delete, BB, OldDest}}); in ConstantFoldTerminator()
232 if (DTU) in ConstantFoldTerminator()
233 DTU->applyUpdatesPermissive( in ConstantFoldTerminator()
261 if (DTU) in ConstantFoldTerminator()
271 if (DTU) in ConstantFoldTerminator()
281 if (DTU) in ConstantFoldTerminator()
282 DTU->applyUpdatesPermissive(Updates); in ConstantFoldTerminator()
329 if (DTU) in ConstantFoldTerminator()
[all …]
DBasicBlockUtils.cpp88 void llvm::DeleteDeadBlock(BasicBlock *BB, DomTreeUpdater *DTU, in DeleteDeadBlock() argument
90 DeleteDeadBlocks({BB}, DTU, KeepOneInputPHIs); in DeleteDeadBlock()
93 void llvm::DeleteDeadBlocks(ArrayRef <BasicBlock *> BBs, DomTreeUpdater *DTU, in DeleteDeadBlocks() argument
105 DetatchDeadBlocks(BBs, DTU ? &Updates : nullptr, KeepOneInputPHIs); in DeleteDeadBlocks()
107 if (DTU) in DeleteDeadBlocks()
108 DTU->applyUpdatesPermissive(Updates); in DeleteDeadBlocks()
111 if (DTU) in DeleteDeadBlocks()
112 DTU->deleteBB(BB); in DeleteDeadBlocks()
117 bool llvm::EliminateUnreachableBlocks(Function &F, DomTreeUpdater *DTU, in EliminateUnreachableBlocks() argument
134 DeleteDeadBlocks(DeadBlocks, DTU, KeepOneInputPHIs); in EliminateUnreachableBlocks()
[all …]
/external/llvm-project/llvm/include/llvm/Transforms/Utils/
DLocal.h75 DomTreeUpdater *DTU = nullptr);
164 DomTreeUpdater *DTU = nullptr);
169 void MergeBasicBlockIntoOnlyPred(BasicBlock *BB, DomTreeUpdater *DTU = nullptr);
176 DomTreeUpdater *DTU = nullptr);
249 void changeToCall(InvokeInst *II, DomTreeUpdater *DTU = nullptr);
358 DomTreeUpdater *DTU = nullptr,
374 void removeUnwindEdge(BasicBlock *BB, DomTreeUpdater *DTU = nullptr);
379 bool removeUnreachableBlocks(Function &F, DomTreeUpdater *DTU = nullptr,
DBasicBlockUtils.h54 void DeleteDeadBlock(BasicBlock *BB, DomTreeUpdater *DTU = nullptr,
64 DomTreeUpdater *DTU = nullptr,
70 bool EliminateUnreachableBlocks(Function &F, DomTreeUpdater *DTU = nullptr,
94 bool MergeBlockIntoPredecessor(BasicBlock *BB, DomTreeUpdater *DTU = nullptr,
109 DomTreeUpdater *DTU = nullptr, LoopInfo *LI = nullptr);
305 DomTreeUpdater *DTU = nullptr);
457 BasicBlock *CreateControlFlowHub(DomTreeUpdater *DTU,
DMatrixUtils.h79 IRBuilderBase &B, DomTreeUpdater &DTU,
89 IRBuilderBase &B, DomTreeUpdater &DTU, Loop *L,
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Scalar/
DTailRecursionElimination.cpp503 AliasAnalysis *AA, OptimizationRemarkEmitter *ORE, DomTreeUpdater &DTU) { in eliminateRecursiveTailCall() argument
606 DTU.recalculate(*NewEntry->getParent()); in eliminateRecursiveTailCall()
682 DTU.applyUpdates({{DominatorTree::Insert, BB, OldEntry}}); in eliminateRecursiveTailCall()
691 AliasAnalysis *AA, OptimizationRemarkEmitter *ORE, DomTreeUpdater &DTU) { in foldReturnAndProcessPred() argument
717 ReturnInst *RI = FoldReturnIntoUncondBranch(Ret, BB, Pred, &DTU); in foldReturnAndProcessPred()
724 DTU.deleteBB(BB); in foldReturnAndProcessPred()
727 ArgumentPHIs, AA, ORE, DTU); in foldReturnAndProcessPred()
740 AliasAnalysis *AA, OptimizationRemarkEmitter *ORE, DomTreeUpdater &DTU) { in processReturningBlock() argument
746 ArgumentPHIs, AA, ORE, DTU); in processReturningBlock()
752 DomTreeUpdater &DTU) { in eliminateTailRecursion() argument
[all …]
DCallSiteSplitting.cpp309 DomTreeUpdater &DTU) { in splitCallSite() argument
334 DTU); in splitCallSite()
374 DTU.applyUpdatesPermissive({{DominatorTree::Delete, Splits[i], TailBB}}); in splitCallSite()
378 DTU.deleteBB(TailBB); in splitCallSite()
463 DomTreeUpdater &DTU) { in shouldSplitOnPredicatedArgument() argument
472 assert(DTU.hasDomTree() && "We need a DTU with a valid DT!"); in shouldSplitOnPredicatedArgument()
473 auto *CSDTNode = DTU.getDomTree().getNode(CS.getInstruction()->getParent()); in shouldSplitOnPredicatedArgument()
495 DomTreeUpdater &DTU) { in tryToSplitCallSite() argument
500 auto PredsWithConds = shouldSplitOnPredicatedArgument(CS, DTU); in tryToSplitCallSite()
506 splitCallSite(CS, PredsWithConds, DTU); in tryToSplitCallSite()
[all …]
DMergeICmps.cpp419 DomTreeUpdater &DTU);
610 AliasAnalysis &AA, DomTreeUpdater &DTU) { in mergeComparisons() argument
667 DTU.applyUpdates({{DominatorTree::Insert, BB, PhiBB}}); in mergeComparisons()
672 DTU.applyUpdates({{DominatorTree::Insert, BB, NextCmpBlock}, in mergeComparisons()
679 DomTreeUpdater &DTU) { in simplify() argument
698 const auto mergeRange = [this, &TLI, &AA, &DTU](int I, int Num, in simplify()
702 InsertBefore, Next, Phi_, TLI, AA, DTU); in simplify()
730 DTU.applyUpdates({{DominatorTree::Delete, Pred, EntryBlock_}, in simplify()
738 if (ChainEntryIsFnEntry && DTU.hasDomTree()) { in simplify()
742 DTU.getDomTree().setNewRoot(NextCmpBlock); in simplify()
[all …]
DJumpThreading.cpp306 DomTreeUpdater DTU(*DT, DomTreeUpdater::UpdateStrategy::Lazy); in runOnFunction() local
315 bool Changed = Impl.runImpl(F, TLI, LVI, AA, &DTU, F.hasProfileData(), in runOnFunction()
332 DomTreeUpdater DTU(DT, DomTreeUpdater::UpdateStrategy::Lazy); in run() local
342 bool Changed = runImpl(F, &TLI, &LVI, &AA, &DTU, F.hasProfileData(), in run()
363 DTU = DTU_; in runImpl()
380 assert(DTU && "DTU isn't passed into JumpThreading before using it."); in runImpl()
381 assert(DTU->hasDomTree() && "JumpThreading relies on DomTree to proceed."); in runImpl()
382 DominatorTree &DT = DTU->getDomTree(); in runImpl()
402 if (&BB == &F.getEntryBlock() || DTU->isBBPendingDeletion(&BB)) in runImpl()
413 DeleteDeadBlock(&BB, DTU); in runImpl()
[all …]
DLoopSimplifyCFG.cpp125 DomTreeUpdater DTU; member in __anon30b0ffd50111::ConstantTerminatorFoldingImpl
411 DTU.applyUpdates(DTUpdates); in handleDeadExits()
421 DTU.applyUpdates(DTUpdates); in handleDeadExits()
467 DTU.applyUpdates(DTUpdates); in deleteDeadLoopBlocks()
470 DTU.deleteBB(BB); in deleteDeadLoopBlocks()
530 DTU(DT, DomTreeUpdater::UpdateStrategy::Eager) {} in ConstantTerminatorFoldingImpl()
594 DTU.applyUpdates(DTUpdates); in run()
646 DomTreeUpdater DTU(DT, DomTreeUpdater::UpdateStrategy::Eager); in mergeBlocksIntoPredecessors() local
663 MergeBlockIntoPredecessor(Succ, &DTU, &LI, MSSAU); in mergeBlocksIntoPredecessors()
/external/llvm-project/llvm/lib/Transforms/Scalar/
DCallSiteSplitting.cpp307 DomTreeUpdater &DTU) { in splitCallSite() argument
331 DTU); in splitCallSite()
370 DTU.applyUpdatesPermissive({{DominatorTree::Delete, Splits[i], TailBB}}); in splitCallSite()
374 DTU.deleteBB(TailBB); in splitCallSite()
456 DomTreeUpdater &DTU) { in shouldSplitOnPredicatedArgument() argument
465 assert(DTU.hasDomTree() && "We need a DTU with a valid DT!"); in shouldSplitOnPredicatedArgument()
466 auto *CSDTNode = DTU.getDomTree().getNode(CB.getParent()); in shouldSplitOnPredicatedArgument()
488 DomTreeUpdater &DTU) { in tryToSplitCallSite() argument
493 auto PredsWithConds = shouldSplitOnPredicatedArgument(CB, DTU); in tryToSplitCallSite()
499 splitCallSite(CB, PredsWithConds, DTU); in tryToSplitCallSite()
[all …]
DTailRecursionElimination.cpp395 DomTreeUpdater &DTU; member in __anon559ee9270511::TailRecursionEliminator
426 DomTreeUpdater &DTU) in TailRecursionEliminator() argument
427 : F(F), TTI(TTI), AA(AA), ORE(ORE), DTU(DTU) {} in TailRecursionEliminator()
445 DomTreeUpdater &DTU);
555 DTU.recalculate(*NewEntry->getParent()); in createTailRecurseLoopHeader()
673 DTU.applyUpdates({{DominatorTree::Insert, BB, HeaderBB}}); in eliminateCall()
771 FoldReturnIntoUncondBranch(Ret, Succ, &BB, &DTU); in processBlock()
780 DTU.deleteBB(Succ); in processBlock()
798 DomTreeUpdater &DTU) { in eliminate() argument
819 TailRecursionEliminator TRE(F, TTI, AA, ORE, DTU); in eliminate()
[all …]
DMergeICmps.cpp419 DomTreeUpdater &DTU);
610 AliasAnalysis &AA, DomTreeUpdater &DTU) { in mergeComparisons() argument
668 DTU.applyUpdates({{DominatorTree::Insert, BB, PhiBB}}); in mergeComparisons()
673 DTU.applyUpdates({{DominatorTree::Insert, BB, NextCmpBlock}, in mergeComparisons()
680 DomTreeUpdater &DTU) { in simplify() argument
699 const auto mergeRange = [this, &TLI, &AA, &DTU](int I, int Num, in simplify()
703 InsertBefore, Next, Phi_, TLI, AA, DTU); in simplify()
731 DTU.applyUpdates({{DominatorTree::Delete, Pred, EntryBlock_}, in simplify()
739 if (ChainEntryIsFnEntry && DTU.hasDomTree()) { in simplify()
743 DTU.getDomTree().setNewRoot(NextCmpBlock); in simplify()
[all …]
DLoopSimplifyCFG.cpp127 DomTreeUpdater DTU; member in __anon58198de10111::ConstantTerminatorFoldingImpl
418 DTU.applyUpdates(DTUpdates); in handleDeadExits()
428 DTU.applyUpdates(DTUpdates); in handleDeadExits()
474 DTU.applyUpdates(DTUpdates); in deleteDeadLoopBlocks()
477 DTU.deleteBB(BB); in deleteDeadLoopBlocks()
537 DTU(DT, DomTreeUpdater::UpdateStrategy::Eager) {} in ConstantTerminatorFoldingImpl()
601 DTU.applyUpdates(DTUpdates); in run()
653 DomTreeUpdater DTU(DT, DomTreeUpdater::UpdateStrategy::Eager); in mergeBlocksIntoPredecessors() local
670 MergeBlockIntoPredecessor(Succ, &DTU, &LI, MSSAU); in mergeBlocksIntoPredecessors()
DJumpThreading.cpp318 DomTreeUpdater DTU(*DT, DomTreeUpdater::UpdateStrategy::Lazy); in runOnFunction() local
327 bool Changed = Impl.runImpl(F, TLI, LVI, AA, &DTU, F.hasProfileData(), in runOnFunction()
331 LVI->printLVI(F, DTU.getDomTree(), dbgs()); in runOnFunction()
342 DomTreeUpdater DTU(DT, DomTreeUpdater::UpdateStrategy::Lazy); in run() local
352 bool Changed = runImpl(F, &TLI, &LVI, &AA, &DTU, F.hasProfileData(), in run()
357 LVI.printLVI(F, DTU.getDomTree(), dbgs()); in run()
378 DTU = DTU_; in runImpl()
404 assert(DTU && "DTU isn't passed into JumpThreading before using it."); in runImpl()
405 assert(DTU->hasDomTree() && "JumpThreading relies on DomTree to proceed."); in runImpl()
406 DominatorTree &DT = DTU->getDomTree(); in runImpl()
[all …]
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Utils/
DLocal.cpp111 DomTreeUpdater *DTU) { in ConstantFoldTerminator() argument
134 if (DTU) in ConstantFoldTerminator()
135 DTU->applyUpdatesPermissive({{DominatorTree::Delete, BB, OldDest}}); in ConstantFoldTerminator()
210 if (DTU) in ConstantFoldTerminator()
211 DTU->applyUpdatesPermissive( in ConstantFoldTerminator()
239 if (DTU) in ConstantFoldTerminator()
249 if (DTU) in ConstantFoldTerminator()
259 if (DTU) in ConstantFoldTerminator()
260 DTU->applyUpdatesPermissive(Updates); in ConstantFoldTerminator()
307 if (DTU) in ConstantFoldTerminator()
[all …]
DBasicBlockUtils.cpp88 void llvm::DeleteDeadBlock(BasicBlock *BB, DomTreeUpdater *DTU, in DeleteDeadBlock() argument
90 DeleteDeadBlocks({BB}, DTU, KeepOneInputPHIs); in DeleteDeadBlock()
93 void llvm::DeleteDeadBlocks(ArrayRef <BasicBlock *> BBs, DomTreeUpdater *DTU, in DeleteDeadBlocks() argument
105 DetatchDeadBlocks(BBs, DTU ? &Updates : nullptr, KeepOneInputPHIs); in DeleteDeadBlocks()
107 if (DTU) in DeleteDeadBlocks()
108 DTU->applyUpdatesPermissive(Updates); in DeleteDeadBlocks()
111 if (DTU) in DeleteDeadBlocks()
112 DTU->deleteBB(BB); in DeleteDeadBlocks()
117 bool llvm::EliminateUnreachableBlocks(Function &F, DomTreeUpdater *DTU, in EliminateUnreachableBlocks() argument
134 DeleteDeadBlocks(DeadBlocks, DTU, KeepOneInputPHIs); in EliminateUnreachableBlocks()
[all …]
/external/swiftshader/third_party/llvm-10.0/llvm/include/llvm/Transforms/Utils/
DLocal.h123 DomTreeUpdater *DTU = nullptr);
197 DomTreeUpdater *DTU = nullptr);
202 void MergeBasicBlockIntoOnlyPred(BasicBlock *BB, DomTreeUpdater *DTU = nullptr);
209 DomTreeUpdater *DTU = nullptr);
281 void changeToCall(InvokeInst *II, DomTreeUpdater *DTU = nullptr);
398 DomTreeUpdater *DTU = nullptr,
414 void removeUnwindEdge(BasicBlock *BB, DomTreeUpdater *DTU = nullptr);
419 bool removeUnreachableBlocks(Function &F, DomTreeUpdater *DTU = nullptr,
DBasicBlockUtils.h52 void DeleteDeadBlock(BasicBlock *BB, DomTreeUpdater *DTU = nullptr,
62 DomTreeUpdater *DTU = nullptr,
68 bool EliminateUnreachableBlocks(Function &F, DomTreeUpdater *DTU = nullptr,
91 bool MergeBlockIntoPredecessor(BasicBlock *BB, DomTreeUpdater *DTU = nullptr,
282 DomTreeUpdater *DTU = nullptr);
/external/llvm-project/llvm/lib/CodeGen/
DWasmEHPrepare.cpp167 static void eraseDeadBBsAndChildren(const Container &BBs, DomTreeUpdater *DTU) { in eraseDeadBBsAndChildren() argument
174 DeleteDeadBlock(BB, DTU); in eraseDeadBBsAndChildren()
188 DomTreeUpdater DTU(&DT, /*PostDominatorTree*/ nullptr, in prepareThrows() local
212 eraseDeadBBsAndChildren(Succs, &DTU); in prepareThrows()

123