Home
last modified time | relevance | path

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

12345678910>>...12

/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DCodeMoverUtils.h26 class DominatorTree; variable
35 const DominatorTree &DT,
43 const DominatorTree &DT,
48 DominatorTree &DT,
56 DominatorTree &DT,
64 DominatorTree &DT,
71 DominatorTree &DT,
81 const DominatorTree *DT,
86 const DominatorTree *DT,
H A DSimplifyIndVar.h26 class DominatorTree; variable
38 const DominatorTree *DT = nullptr;
46 const DominatorTree *getDomTree() const { return DT; } in getDomTree()
56 DominatorTree *DT, LoopInfo *LI,
64 bool simplifyLoopIVs(Loop *L, ScalarEvolution *SE, DominatorTree *DT,
85 DominatorTree *DT, SmallVectorImpl<WeakTrackingVH> &DeadInsts,
H A DLoopUtils.h55 LLVM_ABI BasicBlock *InsertPreheaderForLoop(Loop *L, DominatorTree *DT,
65 LLVM_ABI bool formDedicatedExitBlocks(Loop *L, DominatorTree *DT, LoopInfo *LI,
89 const DominatorTree &DT, const LoopInfo &LI,
106 LLVM_ABI bool formLCSSA(Loop &L, const DominatorTree &DT, const LoopInfo *LI,
118 LLVM_ABI bool formLCSSARecursively(Loop &L, const DominatorTree &DT,
158 DominatorTree *, TargetLibraryInfo *,
167 DominatorTree *, TargetLibraryInfo *,
184 DominatorTree *, AssumptionCache *,
206 LLVM_ABI void deleteDeadLoop(Loop *L, DominatorTree *DT, ScalarEvolution *SE,
212 LLVM_ABI void breakLoopBackedge(Loop *L, DominatorTree &DT, ScalarEvolution &SE,
[all …]
H A DUnrollLoop.h31 class DominatorTree; variable
86 DominatorTree *DT, AssumptionCache *AC,
96 LoopInfo *LI, ScalarEvolution *SE, DominatorTree *DT, AssumptionCache *AC,
103 bool UnrollRemainder, LoopInfo *LI, ScalarEvolution *SE, DominatorTree *DT,
108 DominatorTree &DT, DependenceInfo &DI,
112 ScalarEvolution *SE, DominatorTree *DT,
158 Loop *L, const TargetTransformInfo &TTI, DominatorTree &DT, LoopInfo *LI,
H A DAssumeBundleBuilder.h29 class DominatorTree; variable
48 DominatorTree *DT = nullptr);
55 DominatorTree *DT = nullptr);
75 DominatorTree *DT);
/freebsd/contrib/llvm-project/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()
64 DominatorTreeWrapperPass, true, DominatorTree *,
69 DominatorTreeWrapperPass, true, DominatorTree *, in DomOnlyViewerWrapperPass()
126 DominatorTreeWrapperPass, false, DominatorTree *,
131 DominatorTreeWrapperPass, false, DominatorTree *, in DomPrinterWrapperPass()
137 DominatorTreeWrapperPass, true, DominatorTree *,
[all …]
H A DDomTreeUpdater.cpp26 GenericDomTreeUpdater<DomTreeUpdater, DominatorTree, PostDominatorTree>;
29 GenericDomTreeUpdater<DomTreeUpdater, DominatorTree,
33 GenericDomTreeUpdater<DomTreeUpdater, DominatorTree, PostDominatorTree>::
36 GenericDomTreeUpdater<DomTreeUpdater, DominatorTree, PostDominatorTree>::
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DDomTreeUpdater.h30 GenericDomTreeUpdater<DomTreeUpdater, DominatorTree, PostDominatorTree>;
33 : public GenericDomTreeUpdater<DomTreeUpdater, DominatorTree,
35 friend GenericDomTreeUpdater<DomTreeUpdater, DominatorTree,
40 GenericDomTreeUpdater<DomTreeUpdater, DominatorTree, PostDominatorTree>;
122 GenericDomTreeUpdater<DomTreeUpdater, DominatorTree,
126 GenericDomTreeUpdater<DomTreeUpdater, DominatorTree, PostDominatorTree>::
129 GenericDomTreeUpdater<DomTreeUpdater, DominatorTree, PostDominatorTree>::
H A DLoads.h25 class DominatorTree; variable
42 const DominatorTree *DT = nullptr,
52 const DominatorTree *DT = nullptr, const TargetLibraryInfo *TLI = nullptr);
61 const DominatorTree *DT = nullptr, const TargetLibraryInfo *TLI = nullptr);
74 const DominatorTree *DT = nullptr, const TargetLibraryInfo *TLI = nullptr);
84 LoadInst *LI, Loop *L, ScalarEvolution &SE, DominatorTree &DT,
91 Loop *L, ScalarEvolution *SE, DominatorTree *DT, AssumptionCache *AC,
105 const DominatorTree *DT = nullptr, const TargetLibraryInfo *TLI = nullptr);
H A DPHITransAddr.h22 class DominatorTree; variable
80 const DominatorTree *DT, bool MustDominate);
91 const DominatorTree &DT,
103 const DominatorTree *DT);
111 BasicBlock *PredBB, const DominatorTree &DT,
H A DValueTracking.h34 class DominatorTree; variable
65 const DominatorTree *DT = nullptr,
72 const DominatorTree *DT = nullptr,
81 const DominatorTree *DT = nullptr,
133 const DominatorTree *DT = nullptr,
209 const DominatorTree *DT = nullptr,
220 const DominatorTree *DT = nullptr,
259 const Instruction *CxtI = nullptr, const DominatorTree *DT = nullptr,
547 AssumptionCache *AC = nullptr, const DominatorTree *DT = nullptr,
554 const DominatorTree *DT = nullptr,
[all …]
H A DMemorySSAUpdater.h46 class DominatorTree; variable
117 DominatorTree &DT);
120 ArrayRef<std::unique_ptr<ValueToValueMapTy>> VMaps, DominatorTree &DT);
125 LLVM_ABI void applyUpdates(ArrayRef<CFGUpdate> Updates, DominatorTree &DT,
129 DominatorTree &DT);
295 DominatorTree &DT);
296 void applyInsertUpdates(ArrayRef<CFGUpdate>, DominatorTree &DT,
H A DCFG.h25 class DominatorTree; variable
73 const DominatorTree *DT = nullptr, const LoopInfo *LI = nullptr);
84 const DominatorTree *DT = nullptr, const LoopInfo *LI = nullptr);
98 const DominatorTree *DT = nullptr, const LoopInfo *LI = nullptr);
110 const DominatorTree *DT = nullptr, const LoopInfo *LI = nullptr);
H A DBasicAliasAnalysis.h28 class DominatorTree; variable
49 DominatorTree *DT_;
51 DominatorTree *getDT(const AAQueryInfo &AAQI) const { in getDT()
58 DominatorTree *DT = nullptr)
113 AssumptionCache *AC, DominatorTree *DT);
125 DominatorTree *DT, const AAQueryInfo &AAQI);
H A DCaptureTracking.h27 class DominatorTree; variable
79 const DominatorTree *DT,
94 const DominatorTree *DT, bool IncludeI, CaptureComponents Mask,
111 const DominatorTree &DT, CaptureComponents Mask,
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DDominators.h165 class DominatorTree : public DominatorTreeBase<BasicBlock, false> {
169 DominatorTree() = default;
170 explicit DominatorTree(Function &F) { recalculate(F); }
171 explicit DominatorTree(DominatorTree &DT, DomTreeBuilder::BBUpdates U) {
270 template <> struct GraphTraits<DominatorTree*>
272 static NodeRef getEntryNode(DominatorTree *DT) { return DT->getRootNode(); }
274 static nodes_iterator nodes_begin(DominatorTree *N) {
278 static nodes_iterator nodes_end(DominatorTree *N) {
290 using Result = DominatorTree;
293 LLVM_ABI DominatorTree run(Function &F, FunctionAnalysisManager &);
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DLoopFuse.cpp180 DominatorTree &DT;
185 FusionCandidate(Loop *L, DominatorTree &DT, const PostDominatorTree *PDT, in FusionCandidate()
397 const DominatorTree *DT = &(LHS.DT); in operator ()()
570 DominatorTree &DT;
579 LoopFuser(LoopInfo &LI, DominatorTree &DT, DependenceInfo &DI, in LoopFuser()
823 SmallVector<DominatorTree::UpdateType, 8> TreeUpdates; in peelFusionCandidate()
829 DominatorTree::UpdateType(DominatorTree::Delete, Pred, BB)); in peelFusionCandidate()
1613 SmallVector<DominatorTree::UpdateType, 8> TreeUpdates; in performFusion()
1635 TreeUpdates.emplace_back(DominatorTree::UpdateType( in performFusion()
1636 DominatorTree::Delete, FC0.ExitingBlock, FC1.Preheader)); in performFusion()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPUUnifyDivergentExitNodes.cpp70 bool run(Function &F, DominatorTree *DT, const PostDominatorTree &PDT,
157 std::vector<DominatorTree::UpdateType> Updates; in unifyReturnBlockSet()
168 Updates.emplace_back(DominatorTree::Insert, BB, NewRetBlock); in unifyReturnBlockSet()
184 bool AMDGPUUnifyDivergentExitNodesImpl::run(Function &F, DominatorTree *DT, in run()
203 std::vector<DominatorTree::UpdateType> Updates; in run()
241 Updates.emplace_back(DominatorTree::Insert, BB, DummyReturnBB); in run()
252 Updates.emplace_back(DominatorTree::Insert, BB, TransitionBB); in run()
254 Updates.emplace_back(DominatorTree::Insert, TransitionBB, Successor); in run()
255 Updates.emplace_back(DominatorTree::Delete, BB, Successor); in run()
262 Updates.emplace_back(DominatorTree::Insert, BB, DummyReturnBB); in run()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/IR/
H A DDominators.cpp126 bool DominatorTree::invalidate(Function &F, const PreservedAnalyses &PA, in invalidate()
135 bool DominatorTree::dominates(const BasicBlock *BB, const Use &U) const { in dominates()
148 bool DominatorTree::dominates(const Value *DefV, in dominates()
187 bool DominatorTree::dominates(const Instruction *Def, in dominates()
213 bool DominatorTree::dominates(const BasicBlockEdge &BBE, in dominates()
263 bool DominatorTree::dominates(const BasicBlockEdge &BBE, const Use &U) const { in dominates()
281 bool DominatorTree::dominates(const Value *DefV, const Use &U) const { in dominates()
334 bool DominatorTree::isReachableFromEntry(const Use &U) const { in isReachableFromEntry()
350 bool DominatorTree::dominates(const BasicBlockEdge &BBE1, in dominates()
357 Instruction *DominatorTree::findNearestCommonDominator(Instruction *I1, in findNearestCommonDominator()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DCallBrPrepare.cpp57 static bool SplitCriticalEdges(ArrayRef<CallBrInst *> CBRs, DominatorTree &DT);
59 DominatorTree &DT);
60 static void UpdateSSA(DominatorTree &DT, CallBrInst *CBR, CallInst *Intrinsic,
118 bool SplitCriticalEdges(ArrayRef<CallBrInst *> CBRs, DominatorTree &DT) { in SplitCriticalEdges()
140 bool InsertIntrinsicCalls(ArrayRef<CallBrInst *> CBRs, DominatorTree &DT) { in InsertIntrinsicCalls()
173 static void PrintDebugDomInfo(const DominatorTree &DT, const Use &U, in PrintDebugDomInfo()
185 void UpdateSSA(DominatorTree &DT, CallBrInst *CBR, CallInst *Intrinsic, in UpdateSSA()
236 DominatorTree *DT; in runOnFunction()
237 std::optional<DominatorTree> LazilyComputedDomTree; in runOnFunction()
H A DIndirectBrExpandPass.cpp177 SmallVector<DominatorTree::UpdateType, 8> Updates; in runImpl()
183 Updates.push_back({DominatorTree::Delete, IBr->getParent(), SuccBB}); in runImpl()
215 SmallVector<DominatorTree::UpdateType, 8> Updates; in runImpl()
226 Updates.push_back({DominatorTree::Delete, IBr->getParent(), SuccBB}); in runImpl()
248 Updates.push_back({DominatorTree::Insert, IBr->getParent(), SwitchBB}); in runImpl()
250 Updates.push_back({DominatorTree::Delete, IBr->getParent(), SuccBB}); in runImpl()
271 Updates.push_back({DominatorTree::Insert, SwitchBB, BB}); in runImpl()
/freebsd/contrib/llvm-project/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()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DLoopIdiomVectorize.cpp121 DominatorTree *DT;
134 LoopIdiomVectorize(LoopIdiomVectorizeStyle S, unsigned VF, DominatorTree *DT, in LoopIdiomVectorize()
451 DTU.applyUpdates({{DominatorTree::Insert, VectorLoopPreheaderBlock, in createMaskedFindMismatch()
483 {{DominatorTree::Insert, VectorLoopStartBlock, VectorLoopMismatchBlock}, in createMaskedFindMismatch()
484 {DominatorTree::Insert, VectorLoopStartBlock, VectorLoopIncBlock}}); in createMaskedFindMismatch()
506 {{DominatorTree::Insert, VectorLoopIncBlock, VectorLoopStartBlock}, in createMaskedFindMismatch()
507 {DominatorTree::Insert, VectorLoopIncBlock, EndBlock}}); in createMaskedFindMismatch()
542 DTU.applyUpdates({{DominatorTree::Insert, VectorLoopPreheaderBlock, in createPredicatedFindMismatch()
594 {{DominatorTree::Insert, VectorLoopStartBlock, VectorLoopMismatchBlock}, in createPredicatedFindMismatch()
595 {DominatorTree::Insert, VectorLoopStartBlock, VectorLoopIncBlock}}); in createPredicatedFindMismatch()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DBasicBlockUtils.cpp63 SmallVectorImpl<DominatorTree::UpdateType> *Updates, in detachDeadBlocks()
72 Updates->push_back({DominatorTree::Delete, BB, Succ}); in detachDeadBlocks()
111 SmallVector<DominatorTree::UpdateType, 4> Updates; in DeleteDeadBlocks()
181 DominatorTree *DT) { in MergeBlockIntoPredecessor()
246 std::vector<DominatorTree::UpdateType> Updates; in MergeBlockIntoPredecessor()
264 Updates.push_back({DominatorTree::Insert, PredBB, SuccOfBB}); in MergeBlockIntoPredecessor()
268 Updates.push_back({DominatorTree::Delete, BB, SuccOfBB}); in MergeBlockIntoPredecessor()
269 Updates.push_back({DominatorTree::Delete, PredBB, BB}); in MergeBlockIntoPredecessor()
626 BasicBlock *llvm::SplitEdge(BasicBlock *BB, BasicBlock *Succ, DominatorTree *DT, in SplitEdge()
774 SmallVector<DominatorTree::UpdateType, 3> Updates; in ehAwareSplitEdge()
[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()

12345678910>>...12