Home
last modified time | relevance | path

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

1234567891011

/freebsd-14.2/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DCodeMoverUtils.h24 class DominatorTree; variable
32 const DominatorTree &DT,
39 const DominatorTree &DT,
44 DominatorTree &DT,
52 DominatorTree &DT,
59 DominatorTree &DT,
66 DominatorTree &DT, const PostDominatorTree &PDT,
75 const DominatorTree *DT,
80 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.h53 BasicBlock *InsertPreheaderForLoop(Loop *L, DominatorTree *DT, LoopInfo *LI,
61 bool formDedicatedExitBlocks(Loop *L, DominatorTree *DT, LoopInfo *LI,
83 SmallVectorImpl<Instruction *> &Worklist, const DominatorTree &DT,
100 bool formLCSSA(Loop &L, const DominatorTree &DT, const LoopInfo *LI,
151 bool sinkRegion(DomTreeNode *, AAResults *, LoopInfo *, DominatorTree *,
160 DominatorTree *, TargetLibraryInfo *,
175 bool hoistRegion(DomTreeNode *, AAResults *, LoopInfo *, DominatorTree *,
197 void deleteDeadLoop(Loop *L, DominatorTree *DT, ScalarEvolution *SE,
203 void breakLoopBackedge(Loop *L, DominatorTree &DT, ScalarEvolution &SE,
219 PredIteratorCache &, LoopInfo *, DominatorTree *, AssumptionCache *AC,
[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 ScalarEvolution *SE, DominatorTree *DT,
147 DominatorTree &DT, LoopInfo *LI, AssumptionCache *AC,
H A DAssumeBundleBuilder.h28 class DominatorTree; variable
47 DominatorTree *DT = nullptr);
54 DominatorTree *DT = nullptr);
74 DominatorTree *DT);
/freebsd-14.2/contrib/llvm-project/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 DLoads.h24 class DominatorTree; variable
38 const DominatorTree *DT = nullptr,
49 const DominatorTree *DT = nullptr,
60 const DominatorTree *DT = nullptr,
75 const DominatorTree *DT = nullptr,
86 ScalarEvolution &SE, DominatorTree &DT,
101 const DominatorTree *DT = nullptr,
H A DValueTracking.h35 class DominatorTree; variable
60 const DominatorTree *DT = nullptr,
67 const DominatorTree *DT = nullptr,
75 const DominatorTree *DT = nullptr,
116 const DominatorTree *DT = nullptr,
130 const DominatorTree *DT = nullptr,
158 const DominatorTree *DT = nullptr,
183 const DominatorTree *DT = nullptr,
549 const DominatorTree *DT = nullptr,
856 const DominatorTree &DT);
[all …]
H A DPHITransAddr.h21 class DominatorTree; variable
79 const DominatorTree *DT, bool MustDominate);
89 const DominatorTree &DT,
101 const DominatorTree *DT);
109 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);
282 DominatorTree &DT);
283 void applyInsertUpdates(ArrayRef<CFGUpdate>, DominatorTree &DT,
H A DBasicAliasAnalysis.h27 class DominatorTree; variable
48 DominatorTree *DT_;
50 DominatorTree *getDT(const AAQueryInfo &AAQI) const { in getDT()
57 DominatorTree *DT = nullptr)
108 AssumptionCache *AC, DominatorTree *DT);
120 DominatorTree *DT, const AAQueryInfo &AAQI);
H A DCFG.h24 class DominatorTree; variable
72 const DominatorTree *DT = nullptr, const LoopInfo *LI = nullptr);
83 const DominatorTree *DT = nullptr, const LoopInfo *LI = nullptr);
97 const DominatorTree *DT = nullptr, const LoopInfo *LI = nullptr);
/freebsd-14.2/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()
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()
250 ArrayRef<DominatorTree::UpdateType> Updates) { in applyUpdatesPermissive()
255 SmallVector<DominatorTree::UpdateType, 8> DeduplicatedUpdates; in applyUpdatesPermissive()
303 DominatorTree &DomTreeUpdater::getDomTree() { in getDomTree()
362 [&](ArrayRef<DominatorTree::UpdateType>::const_iterator begin, in dump()
[all …]
/freebsd-14.2/contrib/llvm-project/llvm/include/llvm/IR/
H A DDominators.h166 DominatorTree() = default;
167 explicit DominatorTree(Function &F) { recalculate(F); }
168 explicit DominatorTree(DominatorTree &DT, DomTreeBuilder::BBUpdates U) {
261 template <> struct GraphTraits<DominatorTree*>
265 static nodes_iterator nodes_begin(DominatorTree *N) {
269 static nodes_iterator nodes_end(DominatorTree *N) {
281 using Result = DominatorTree;
284 DominatorTree run(Function &F, FunctionAnalysisManager &);
314 DominatorTree DT;
321 DominatorTree &getDomTree() { return DT; }
[all …]
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPUUnifyDivergentExitNodes.cpp71 bool run(Function &F, DominatorTree *DT, const PostDominatorTree &PDT,
161 std::vector<DominatorTree::UpdateType> Updates; in unifyReturnBlockSet()
172 Updates.push_back({DominatorTree::Insert, BB, NewRetBlock}); in unifyReturnBlockSet()
207 std::vector<DominatorTree::UpdateType> Updates; in run()
242 Updates.push_back({DominatorTree::Insert, BB, DummyReturnBB}); in run()
253 Updates.push_back({DominatorTree::Insert, BB, TransitionBB}); in run()
256 Updates.push_back({DominatorTree::Delete, BB, Successor}); in run()
263 Updates.push_back({DominatorTree::Insert, BB, DummyReturnBB}); in run()
284 Updates.push_back({DominatorTree::Insert, BB, UnreachableBlock}); in run()
332 DominatorTree *DT = nullptr; in runOnFunction()
[all …]
/freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DLoopFuse.cpp181 DominatorTree &DT;
398 const DominatorTree *DT = &(LHS.DT); in operator ()()
571 DominatorTree &DT;
829 DominatorTree::UpdateType(DominatorTree::Delete, Pred, BB)); in peelFusionCandidate()
1658 TreeUpdates.emplace_back(DominatorTree::UpdateType( in performFusion()
1707 TreeUpdates.emplace_back(DominatorTree::UpdateType(DominatorTree::Delete, in performFusion()
1709 TreeUpdates.emplace_back(DominatorTree::UpdateType(DominatorTree::Insert, in performFusion()
1711 TreeUpdates.emplace_back(DominatorTree::UpdateType(DominatorTree::Delete, in performFusion()
1992 TreeUpdates.emplace_back(DominatorTree::UpdateType(DominatorTree::Delete, in fuseGuardedLoops()
1994 TreeUpdates.emplace_back(DominatorTree::UpdateType(DominatorTree::Insert, in fuseGuardedLoops()
[all …]
/freebsd-14.2/contrib/llvm-project/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()
200 bool DominatorTree::dominates(const BasicBlockEdge &BBE, in dominates()
268 bool DominatorTree::dominates(const Value *DefV, const Use &U) const { in dominates()
321 bool DominatorTree::isReachableFromEntry(const Use &U) const { in isReachableFromEntry()
337 bool DominatorTree::dominates(const BasicBlockEdge &BBE1, in dominates()
371 DominatorTree DominatorTreeAnalysis::run(Function &F, in run()
373 DominatorTree DT; in run()
423 assert(DT.verify(DominatorTree::VerificationLevel::Full)); in verifyAnalysis()
[all …]
/freebsd-14.2/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,
116 bool SplitCriticalEdges(ArrayRef<CallBrInst *> CBRs, DominatorTree &DT) { in SplitCriticalEdges()
138 bool InsertIntrinsicCalls(ArrayRef<CallBrInst *> CBRs, DominatorTree &DT) { in InsertIntrinsicCalls()
171 static void PrintDebugDomInfo(const DominatorTree &DT, const Use &U, in PrintDebugDomInfo()
183 void UpdateSSA(DominatorTree &DT, CallBrInst *CBR, CallInst *Intrinsic, in UpdateSSA()
234 DominatorTree *DT; in runOnFunction()
235 std::optional<DominatorTree> LazilyComputedDomTree; in runOnFunction()
/freebsd-14.2/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-14.2/contrib/llvm-project/llvm/lib/Target/AArch64/
H A DAArch64LoopIdiomTransform.cpp79 DominatorTree *DT;
85 explicit AArch64LoopIdiomTransform(DominatorTree *DT, LoopInfo *LI, in AArch64LoopIdiomTransform()
451 {DominatorTree::Delete, Preheader, EndBlock}}); in expandFindMismatch()
495 {{DominatorTree::Insert, MinItCheckBlock, MemCheckBlock}, in expandFindMismatch()
541 {{DominatorTree::Insert, MemCheckBlock, LoopPreHeaderBlock}, in expandFindMismatch()
604 {DominatorTree::Insert, SVELoopStartBlock, SVELoopIncBlock}}); in expandFindMismatch()
695 DTU.applyUpdates({{DominatorTree::Insert, LoopIncBlock, EndBlock}, in expandFindMismatch()
766 DTU.applyUpdates({{DominatorTree::Insert, MismatchEnd, CmpBB}}); in transformByteCompare()
774 DTU.applyUpdates({{DominatorTree::Insert, CmpBB, FoundBB}, in transformByteCompare()
775 {DominatorTree::Insert, CmpBB, EndBB}}); in transformByteCompare()
[all …]
/freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/Utils/
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()
H A DBasicBlockUtils.cpp64 SmallVectorImpl<DominatorTree::UpdateType> *Updates, in detachDeadBlocks()
73 Updates->push_back({DominatorTree::Delete, BB, Succ}); in detachDeadBlocks()
112 SmallVector<DominatorTree::UpdateType, 4> Updates; in DeleteDeadBlocks()
184 DominatorTree *DT) { in MergeBlockIntoPredecessor()
249 std::vector<DominatorTree::UpdateType> Updates; in MergeBlockIntoPredecessor()
903 SmallVector<DominatorTree::UpdateType, 3> Updates; in ehAwareSplitEdge()
1042 SmallVector<DominatorTree::UpdateType, 8> Updates; in SplitBlockImpl()
1107 SmallVector<DominatorTree::UpdateType, 8> DTUpdates; in splitBlockBefore()
1149 SmallVector<DominatorTree::UpdateType, 8> Updates; in UpdateAnalysisInformation()
1646 SmallVector<DominatorTree::UpdateType, 8> Updates; in SplitBlockAndInsertIfThenElse()
[all …]
H A DCodeMoverUtils.cpp64 const DominatorTree &DT,
95 static bool domTreeLevelBefore(DominatorTree *DT, const Instruction *InstA, in domTreeLevelBefore()
110 const DominatorTree &DT, in collectControlConditions()
232 const DominatorTree &DT, in isControlFlowEquivalent()
238 const DominatorTree &DT, in isControlFlowEquivalent()
313 DominatorTree &DT, const PostDominatorTree *PDT, in isSafeToMoveBefore()
400 DominatorTree &DT, const PostDominatorTree *PDT, in isSafeToMoveBefore()
412 DominatorTree &DT, in moveInstructionsToTheBeginning()
425 DominatorTree &DT, in moveInstructionsToTheEnd()
438 const DominatorTree *DT, in nonStrictlyPostDominate()
[all …]
/freebsd-14.2/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/
H A DAlignmentFromAssumptions.h25 class DominatorTree; variable
35 DominatorTree *DT_);
38 DominatorTree *DT = nullptr;

1234567891011