| /llvm-project-15.0.7/llvm/unittests/Analysis/ |
| H A D | DomTreeUpdaterTest.cpp | 54 DominatorTree DT(*F); in TEST() 75 {{DominatorTree::Insert, BB0, BB0}, {DominatorTree::Delete, BB0, BB0}}); in TEST() 80 std::vector<DominatorTree::UpdateType> Updates; in TEST() 111 {{DominatorTree::Insert, BB1, BB2}, {DominatorTree::Delete, BB0, BB1}}); in TEST() 165 DominatorTree DT(*F); in TEST() 239 DominatorTree DT(*F); in TEST() 328 DominatorTree DT(*F); in TEST() 457 DominatorTree DT(*F); in TEST() 540 DominatorTree DT(*F); in TEST() 629 DominatorTree DT(*F); in TEST() [all …]
|
| /llvm-project-15.0.7/llvm/include/llvm/Transforms/Utils/ |
| H A D | CodeMoverUtils.h | 21 class DominatorTree; variable 29 const DominatorTree &DT, 36 const DominatorTree &DT, 41 DominatorTree &DT, 49 DominatorTree &DT, 56 DominatorTree &DT, 63 DominatorTree &DT, const PostDominatorTree &PDT, 72 const DominatorTree *DT, 77 const DominatorTree *DT, const PostDominatorTree *PDT);
|
| H A D | SimplifyIndVar.h | 24 class DominatorTree; variable 36 const DominatorTree *DT = nullptr; 44 const DominatorTree *getDomTree() const { return DT; } in getDomTree() 50 bool simplifyUsersOfIV(PHINode *CurrIV, ScalarEvolution *SE, DominatorTree *DT, 57 bool simplifyLoopIVs(Loop *L, ScalarEvolution *SE, DominatorTree *DT, 78 DominatorTree *DT, SmallVectorImpl<WeakTrackingVH> &DeadInsts,
|
| H A D | LoopUtils.h | 54 BasicBlock *InsertPreheaderForLoop(Loop *L, DominatorTree *DT, LoopInfo *LI, 62 bool formDedicatedExitBlocks(Loop *L, DominatorTree *DT, LoopInfo *LI, 81 SmallVectorImpl<Instruction *> &Worklist, const DominatorTree &DT, 97 bool formLCSSA(Loop &L, const DominatorTree &DT, const LoopInfo *LI, 149 bool sinkRegion(DomTreeNode *, AAResults *, LoopInfo *, DominatorTree *, 158 DominatorTree *, BlockFrequencyInfo *, 174 bool hoistRegion(DomTreeNode *, AAResults *, LoopInfo *, DominatorTree *, 191 void deleteDeadLoop(Loop *L, DominatorTree *DT, ScalarEvolution *SE, 197 void breakLoopBackedge(Loop *L, DominatorTree &DT, ScalarEvolution &SE, 347 bool canSinkOrHoistInst(Instruction &I, AAResults *AA, DominatorTree *DT, [all …]
|
| H A D | UnrollLoop.h | 28 class DominatorTree; variable 78 ScalarEvolution *SE, DominatorTree *DT, 87 LoopInfo *LI, ScalarEvolution *SE, DominatorTree *DT, AssumptionCache *AC, 94 DominatorTree *DT, AssumptionCache *AC, 99 bool isSafeToUnrollAndJam(Loop *L, ScalarEvolution &SE, DominatorTree &DT, 103 DominatorTree &DT, LoopInfo *LI, ScalarEvolution &SE, 113 ScalarEvolution *SE, DominatorTree *DT,
|
| H A D | AssumeBundleBuilder.h | 28 class DominatorTree; variable 44 DominatorTree *DT = nullptr); 51 DominatorTree *DT = nullptr); 73 DominatorTree *DT);
|
| /llvm-project-15.0.7/llvm/lib/Analysis/ |
| H A D | DomPrinter.cpp | 28 void DominatorTree::viewGraph(const Twine &Name, const Twine &Title) { in viewGraph() 36 void DominatorTree::viewGraph() { in viewGraph() 46 static DominatorTree *getGraph(DominatorTreeWrapperPass *DTWP) { in getGraph() 53 DominatorTreeWrapperPass, false, DominatorTree *, 58 DominatorTreeWrapperPass, false, DominatorTree *, in DomViewerWrapperPass() 66 DominatorTreeWrapperPass, true, DominatorTree *, 71 DominatorTreeWrapperPass, true, DominatorTree *, in DomOnlyViewerWrapperPass() 135 DominatorTreeWrapperPass, false, DominatorTree *, 140 DominatorTreeWrapperPass, false, DominatorTree *, in DomPrinterWrapperPass() 148 DominatorTreeWrapperPass, true, DominatorTree *, [all …]
|
| H A D | DomTreeUpdater.cpp | 27 const DominatorTree::UpdateType Update) const { in isUpdateValid() 42 if (Kind == DominatorTree::Insert && !HasEdge) in isUpdateValid() 46 if (Kind == DominatorTree::Delete && HasEdge) in isUpdateValid() 53 const DominatorTree::UpdateType Update) const { in isSelfDominance() 68 DT->applyUpdates(ArrayRef<DominatorTree::UpdateType>(I, E)); in applyDomTreeUpdates() 90 PDT->applyUpdates(ArrayRef<DominatorTree::UpdateType>(I, E)); in applyPostDomTreeUpdates() 251 ArrayRef<DominatorTree::UpdateType> Updates) { in applyUpdatesPermissive() 256 SmallVector<DominatorTree::UpdateType, 8> DeduplicatedUpdates; in applyUpdatesPermissive() 304 DominatorTree &DomTreeUpdater::getDomTree() { in getDomTree() 363 [&](ArrayRef<DominatorTree::UpdateType>::const_iterator begin, in dump() [all …]
|
| /llvm-project-15.0.7/llvm/include/llvm/Analysis/ |
| H A D | DomTreeUpdater.h | 33 DomTreeUpdater(DominatorTree &DT_, UpdateStrategy Strategy_) in DomTreeUpdater() 35 DomTreeUpdater(DominatorTree *DT_, UpdateStrategy Strategy_) in DomTreeUpdater() 41 DomTreeUpdater(DominatorTree &DT_, PostDominatorTree &PDT_, in DomTreeUpdater() 44 DomTreeUpdater(DominatorTree *DT_, PostDominatorTree *PDT_, in DomTreeUpdater() 123 void applyUpdates(ArrayRef<DominatorTree::UpdateType> Updates); 146 void applyUpdatesPermissive(ArrayRef<DominatorTree::UpdateType> Updates); 185 DominatorTree &getDomTree(); 219 SmallVector<DominatorTree::UpdateType, 16> PendUpdates; 222 DominatorTree *DT = nullptr; 261 bool isUpdateValid(DominatorTree::UpdateType Update) const; [all …]
|
| H A D | ValueTracking.h | 34 class DominatorTree; variable 61 const DominatorTree *DT = nullptr, 77 const DominatorTree *DT = nullptr, 109 const DominatorTree *DT = nullptr, 135 const DominatorTree *DT = nullptr, 149 const DominatorTree *DT = nullptr, 157 const DominatorTree *DT = nullptr, 165 const DominatorTree *DT = nullptr, 173 const DominatorTree *DT = nullptr, 189 const DominatorTree *DT = nullptr, [all …]
|
| H A D | Loads.h | 23 class DominatorTree; variable 37 const DominatorTree *DT = nullptr, 47 const DominatorTree *DT = nullptr, 57 const DominatorTree *DT = nullptr, 71 const DominatorTree *DT = nullptr, 83 DominatorTree &DT); 96 const DominatorTree *DT = nullptr,
|
| H A D | PHITransAddr.h | 21 class DominatorTree; variable 82 const DominatorTree *DT, bool MustDominate); 92 const DominatorTree &DT, 104 const DominatorTree *DT); 112 BasicBlock *PredBB, const DominatorTree &DT,
|
| H A D | MemorySSAUpdater.h | 45 class DominatorTree; variable 115 DominatorTree &DT); 118 ArrayRef<std::unique_ptr<ValueToValueMapTy>> VMaps, DominatorTree &DT); 123 void applyUpdates(ArrayRef<CFGUpdate> Updates, DominatorTree &DT, 126 void applyInsertUpdates(ArrayRef<CFGUpdate> Updates, DominatorTree &DT); 285 DominatorTree &DT); 286 void applyInsertUpdates(ArrayRef<CFGUpdate>, DominatorTree &DT,
|
| /llvm-project-15.0.7/llvm/examples/IRTransforms/ |
| H A D | SimplifyCFG.cpp | 102 static bool removeDeadBlocks_v2(Function &F, DominatorTree &DT) { in removeDeadBlocks_v2() 105 SmallVector<DominatorTree::UpdateType, 8> DTUpdates; in removeDeadBlocks_v2() 122 DTUpdates.push_back({DominatorTree::Delete, &BB, Succ}); in removeDeadBlocks_v2() 177 SmallVector<DominatorTree::UpdateType, 8> DTUpdates; in eliminateCondBranches_v2() 222 SmallVector<DominatorTree::UpdateType, 8> DTUpdates; in eliminateCondBranches_v3() 309 SmallVector<DominatorTree::UpdateType, 8> DTUpdates; in mergeIntoSinglePredecessor_v2() 326 DTUpdates.push_back({DominatorTree::Delete, &BB, Succ}); in mergeIntoSinglePredecessor_v2() 327 DTUpdates.push_back({DominatorTree::Insert, Pred, Succ}); in mergeIntoSinglePredecessor_v2() 330 DTUpdates.push_back({DominatorTree::Delete, Pred, &BB}); in mergeIntoSinglePredecessor_v2() 361 static bool doSimplify_v2(Function &F, DominatorTree &DT) { in doSimplify_v2() [all …]
|
| /llvm-project-15.0.7/llvm/include/llvm/IR/ |
| H A D | Dominators.h | 170 DominatorTree() = default; 171 explicit DominatorTree(Function &F) { recalculate(F); } 172 explicit DominatorTree(DominatorTree &DT, DomTreeBuilder::BBUpdates U) { 253 template <> struct GraphTraits<DominatorTree*> 257 static nodes_iterator nodes_begin(DominatorTree *N) { 261 static nodes_iterator nodes_end(DominatorTree *N) { 273 using Result = DominatorTree; 276 DominatorTree run(Function &F, FunctionAnalysisManager &); 303 DominatorTree DT; 310 DominatorTree &getDomTree() { return DT; } [all …]
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Scalar/ |
| H A D | LoopFuse.cpp | 181 DominatorTree &DT; 186 FusionCandidate(Loop *L, DominatorTree &DT, in FusionCandidate() 393 const DominatorTree *DT = &(LHS.DT); in operator ()() 546 DominatorTree &DT; 805 DominatorTree::UpdateType(DominatorTree::Delete, Pred, BB)); in peelFusionCandidate() 1458 TreeUpdates.emplace_back(DominatorTree::UpdateType(DominatorTree::Delete, in performFusion() 1460 TreeUpdates.emplace_back(DominatorTree::UpdateType(DominatorTree::Insert, in performFusion() 1462 TreeUpdates.emplace_back(DominatorTree::UpdateType(DominatorTree::Delete, in performFusion() 1741 TreeUpdates.emplace_back(DominatorTree::UpdateType(DominatorTree::Delete, in fuseGuardedLoops() 1743 TreeUpdates.emplace_back(DominatorTree::UpdateType(DominatorTree::Insert, in fuseGuardedLoops() [all …]
|
| /llvm-project-15.0.7/llvm/unittests/IR/ |
| H A D | DominatorTreeTest.cpp | 33 DominatorTree DT(*F); in runWithDomTree() 46 TEST(DominatorTree, PHIs) { in TEST() argument 77 TEST(DominatorTree, Unreachable) { in TEST() argument 435 DominatorTree NDT(F); in TEST() 527 DominatorTree NDT(F); in TEST() 622 DominatorTree NDT(F); in TEST() 720 DominatorTree DT(*Holder.F); in TEST() 746 DominatorTree DT(*Holder.F); in TEST() 774 DominatorTree DT(*Holder.F); in TEST() 825 DominatorTree DT(*Holder.F); in TEST() [all …]
|
| H A D | DominatorTreeBatchUpdatesTest.cpp | 30 const auto Insert = DominatorTree::Insert; 31 const auto Delete = DominatorTree::Delete; 96 DominatorTree DT(*Holder.F); in TEST() 118 DominatorTree DT(*Holder.F); in TEST() 144 DominatorTree DT(*Holder.F); in TEST() 177 DominatorTree DT(*Holder.F); in TEST() 208 DominatorTree DT(*Holder.F); in TEST() 241 DominatorTree DT(*Holder.F); in TEST() 274 DominatorTree DT(*Holder.F); in TEST() 307 DominatorTree DT(*Holder.F); in TEST() [all …]
|
| /llvm-project-15.0.7/llvm/lib/IR/ |
| H A D | Dominators.cpp | 113 bool DominatorTree::invalidate(Function &F, const PreservedAnalyses &PA, in invalidate() 135 bool DominatorTree::dominates(const Value *DefV, in dominates() 174 bool DominatorTree::dominates(const Instruction *Def, in dominates() 207 bool DominatorTree::dominates(const BasicBlockEdge &BBE, in dominates() 275 bool DominatorTree::dominates(const Value *DefV, const Use &U) const { in dominates() 335 bool DominatorTree::isReachableFromEntry(const Use &U) const { in isReachableFromEntry() 351 bool DominatorTree::dominates(const BasicBlockEdge &BBE1, in dominates() 367 DominatorTree DominatorTreeAnalysis::run(Function &F, in run() 369 DominatorTree DT; in run() 419 assert(DT.verify(DominatorTree::VerificationLevel::Full)); in verifyAnalysis() [all …]
|
| /llvm-project-15.0.7/llvm/lib/Target/AMDGPU/ |
| H A D | AMDGPUUnifyDivergentExitNodes.cpp | 157 std::vector<DominatorTree::UpdateType> Updates; in unifyReturnBlockSet() 168 Updates.push_back({DominatorTree::Insert, BB, NewRetBlock}); in unifyReturnBlockSet() 185 DominatorTree *DT = nullptr; in runOnFunction() 207 std::vector<DominatorTree::UpdateType> Updates; in runOnFunction() 233 Updates.push_back({DominatorTree::Insert, BB, DummyReturnBB}); in runOnFunction() 244 Updates.push_back({DominatorTree::Insert, BB, TransitionBB}); in runOnFunction() 246 Updates.push_back({DominatorTree::Insert, TransitionBB, Successor}); in runOnFunction() 247 Updates.push_back({DominatorTree::Delete, BB, Successor}); in runOnFunction() 254 Updates.push_back({DominatorTree::Insert, BB, DummyReturnBB}); in runOnFunction() 275 Updates.push_back({DominatorTree::Insert, BB, UnreachableBlock}); in runOnFunction()
|
| /llvm-project-15.0.7/llvm/lib/Transforms/IPO/ |
| H A D | LoopExtractor.cpp | 61 function_ref<DominatorTree &(Function &)> LookupDomTree, in LoopExtractor() 73 function_ref<DominatorTree &(Function &)> LookupDomTree; 80 DominatorTree &DT); 81 bool extractLoop(Loop *L, LoopInfo &LI, DominatorTree &DT); 117 auto LookupDomTree = [this](Function &F) -> DominatorTree & { in runOnModule() 176 DominatorTree &DT = LookupDomTree(F); in runOnFunction() 221 LoopInfo &LI, DominatorTree &DT) { in extractLoops() 239 bool LoopExtractor::extractLoop(Loop *L, LoopInfo &LI, DominatorTree &DT) { in extractLoop() 263 auto LookupDomTree = [&FAM](Function &F) -> DominatorTree & { in run()
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Utils/ |
| H A D | BasicBlockUtils.cpp | 62 SmallVectorImpl<DominatorTree::UpdateType> *Updates, in detachDeadBlocks() 110 SmallVector<DominatorTree::UpdateType, 4> Updates; in DeleteDeadBlocks() 236 std::vector<DominatorTree::UpdateType> Updates; in MergeBlockIntoPredecessor() 258 Updates.push_back({DominatorTree::Delete, PredBB, BB}); in MergeBlockIntoPredecessor() 670 SmallVector<DominatorTree::UpdateType, 3> Updates; in ehAwareSplitEdge() 674 Updates.push_back({DominatorTree::Delete, BB, Succ}); in ehAwareSplitEdge() 807 SmallVector<DominatorTree::UpdateType, 8> Updates; in SplitBlockImpl() 872 SmallVector<DominatorTree::UpdateType, 8> DTUpdates; in splitBlockBefore() 914 SmallVector<DominatorTree::UpdateType, 8> Updates; in UpdateAnalysisInformation() 1380 SmallVector<DominatorTree::UpdateType, 8> Updates; in SplitBlockAndInsertIfThenImpl() [all …]
|
| H A D | MatrixUtils.cpp | 52 {DominatorTree::Delete, Preheader, Tmp}, in CreateLoop() 53 {DominatorTree::Insert, Header, Body}, in CreateLoop() 54 {DominatorTree::Insert, Body, Latch}, in CreateLoop() 55 {DominatorTree::Insert, Latch, Header}, in CreateLoop() 56 {DominatorTree::Insert, Latch, Exit}, in CreateLoop() 57 {DominatorTree::Insert, Preheader, Header}, in CreateLoop()
|
| /llvm-project-15.0.7/llvm/unittests/Transforms/Utils/ |
| H A D | BasicBlockUtilsTest.cpp | 62 DominatorTree DT(*F); in TEST() 88 DominatorTree DT(*F); in TEST() 124 DominatorTree DT(*F); in TEST() 178 DominatorTree DT(*F); in TEST() 254 DominatorTree DT(*F); in TEST() 323 DominatorTree DT(*F); in TEST() 358 DominatorTree DT(*F); in TEST() 385 DominatorTree DT(*F); in TEST() 409 DominatorTree DT(*F); in TEST() 432 DominatorTree DT(*F); in TEST() [all …]
|
| /llvm-project-15.0.7/llvm/lib/CodeGen/ |
| H A D | IndirectBrExpandPass.cpp | 170 SmallVector<DominatorTree::UpdateType, 8> Updates; in runOnFunction() 176 Updates.push_back({DominatorTree::Delete, IBr->getParent(), SuccBB}); in runOnFunction() 207 SmallVector<DominatorTree::UpdateType, 8> Updates; in runOnFunction() 218 Updates.push_back({DominatorTree::Delete, IBr->getParent(), SuccBB}); in runOnFunction() 240 Updates.push_back({DominatorTree::Insert, IBr->getParent(), SwitchBB}); in runOnFunction() 242 Updates.push_back({DominatorTree::Delete, IBr->getParent(), SuccBB}); in runOnFunction() 263 Updates.push_back({DominatorTree::Insert, SwitchBB, BB}); in runOnFunction()
|