/external/llvm-project/llvm/unittests/Analysis/ |
D | DomTreeUpdaterTest.cpp | 56 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/ |
D | LocalTest.cpp | 214 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 …]
|
D | BasicBlockUtilsTest.cpp | 52 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/ |
D | SimplifyCFG.cpp | 104 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/ |
D | MatrixUtils.cpp | 25 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()
|
D | Local.cpp | 130 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 …]
|
D | BasicBlockUtils.cpp | 88 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/ |
D | Local.h | 75 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,
|
D | BasicBlockUtils.h | 54 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,
|
D | MatrixUtils.h | 79 IRBuilderBase &B, DomTreeUpdater &DTU, 89 IRBuilderBase &B, DomTreeUpdater &DTU, Loop *L,
|
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Scalar/ |
D | TailRecursionElimination.cpp | 503 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 …]
|
D | CallSiteSplitting.cpp | 309 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 …]
|
D | MergeICmps.cpp | 419 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 …]
|
D | JumpThreading.cpp | 306 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 …]
|
D | LoopSimplifyCFG.cpp | 125 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/ |
D | CallSiteSplitting.cpp | 307 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 …]
|
D | TailRecursionElimination.cpp | 395 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 …]
|
D | MergeICmps.cpp | 419 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 …]
|
D | LoopSimplifyCFG.cpp | 127 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()
|
D | JumpThreading.cpp | 318 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/ |
D | Local.cpp | 111 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 …]
|
D | BasicBlockUtils.cpp | 88 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/ |
D | Local.h | 123 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,
|
D | BasicBlockUtils.h | 52 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/ |
D | WasmEHPrepare.cpp | 167 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()
|