Home
last modified time | relevance | path

Searched refs:DominatorTree (Results 1 – 25 of 332) sorted by relevance

12345678910>>...14

/llvm-project-15.0.7/llvm/unittests/Analysis/
H A DDomTreeUpdaterTest.cpp54 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 DCodeMoverUtils.h21 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 DSimplifyIndVar.h24 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 DLoopUtils.h54 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 DUnrollLoop.h28 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 DAssumeBundleBuilder.h28 class DominatorTree; variable
44 DominatorTree *DT = nullptr);
51 DominatorTree *DT = nullptr);
73 DominatorTree *DT);
/llvm-project-15.0.7/llvm/lib/Analysis/
H A DDomPrinter.cpp28 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 DDomTreeUpdater.cpp27 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 DDomTreeUpdater.h33 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 DValueTracking.h34 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 DLoads.h23 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 DPHITransAddr.h21 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 DMemorySSAUpdater.h45 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 DSimplifyCFG.cpp102 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 DDominators.h170 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 DLoopFuse.cpp181 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 DDominatorTreeTest.cpp33 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 DDominatorTreeBatchUpdatesTest.cpp30 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 DDominators.cpp113 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 DAMDGPUUnifyDivergentExitNodes.cpp157 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 DLoopExtractor.cpp61 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 DBasicBlockUtils.cpp62 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 DMatrixUtils.cpp52 {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 DBasicBlockUtilsTest.cpp62 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 DIndirectBrExpandPass.cpp170 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()

12345678910>>...14