/openbsd/gnu/llvm/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 | 53 BasicBlock *InsertPreheaderForLoop(Loop *L, DominatorTree *DT, LoopInfo *LI, 61 bool formDedicatedExitBlocks(Loop *L, DominatorTree *DT, LoopInfo *LI, 80 SmallVectorImpl<Instruction *> &Worklist, const DominatorTree &DT, 96 bool formLCSSA(Loop &L, const DominatorTree &DT, const LoopInfo *LI, 148 bool sinkRegion(DomTreeNode *, AAResults *, LoopInfo *, DominatorTree *, 157 DominatorTree *, TargetLibraryInfo *, 172 bool hoistRegion(DomTreeNode *, AAResults *, LoopInfo *, DominatorTree *, 189 void deleteDeadLoop(Loop *L, DominatorTree *DT, ScalarEvolution *SE, 195 void breakLoopBackedge(Loop *L, DominatorTree &DT, ScalarEvolution &SE, 211 PredIteratorCache &, LoopInfo *, DominatorTree *, AssumptionCache *AC, [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, AssumptionCache *AC, 114 ScalarEvolution *SE, DominatorTree *DT,
|
H A D | AssumeBundleBuilder.h | 28 class DominatorTree; variable 44 DominatorTree *DT = nullptr); 51 DominatorTree *DT = nullptr); 73 DominatorTree *DT);
|
H A D | BasicBlockUtils.h | 49 SmallVectorImpl<DominatorTree::UpdateType> *Updates, 100 DominatorTree *DT = nullptr); 145 DominatorTree *DT; 158 CriticalEdgeSplittingOptions(DominatorTree *DT = nullptr, 251 DominatorTree *DT = nullptr, LoopInfo *LI = nullptr, 282 BasicBlock *SplitBlock(BasicBlock *Old, Instruction *SplitPt, DominatorTree *DT, 326 const char *Suffix, DominatorTree *DT, 369 DominatorTree *DT, LoopInfo *LI = nullptr, 423 DominatorTree *DT,
|
/openbsd/gnu/llvm/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() 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 …]
|
/openbsd/gnu/llvm/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 | 33 class DominatorTree; variable 59 const DominatorTree *DT = nullptr, 75 const DominatorTree *DT = nullptr, 105 const DominatorTree *DT = nullptr, 131 const DominatorTree *DT = nullptr, 144 const DominatorTree *DT = nullptr, 152 const DominatorTree *DT = nullptr, 160 const DominatorTree *DT = nullptr, 168 const DominatorTree *DT = nullptr, 183 const DominatorTree *DT = nullptr, [all …]
|
H A D | Loads.h | 24 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 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,
|
H A D | CFG.h | 24 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);
|
/openbsd/gnu/llvm/llvm/examples/IRTransforms/ |
H A D | SimplifyCFG.cpp | 100 static bool removeDeadBlocks_v2(Function &F, DominatorTree &DT) { in removeDeadBlocks_v2() 103 SmallVector<DominatorTree::UpdateType, 8> DTUpdates; in removeDeadBlocks_v2() 120 DTUpdates.push_back({DominatorTree::Delete, &BB, Succ}); in removeDeadBlocks_v2() 175 SmallVector<DominatorTree::UpdateType, 8> DTUpdates; in eliminateCondBranches_v2() 220 SmallVector<DominatorTree::UpdateType, 8> DTUpdates; in eliminateCondBranches_v3() 307 SmallVector<DominatorTree::UpdateType, 8> DTUpdates; in mergeIntoSinglePredecessor_v2() 324 DTUpdates.push_back({DominatorTree::Delete, &BB, Succ}); in mergeIntoSinglePredecessor_v2() 325 DTUpdates.push_back({DominatorTree::Insert, Pred, Succ}); in mergeIntoSinglePredecessor_v2() 328 DTUpdates.push_back({DominatorTree::Delete, Pred, &BB}); in mergeIntoSinglePredecessor_v2() 359 static bool doSimplify_v2(Function &F, DominatorTree &DT) { in doSimplify_v2() [all …]
|
/openbsd/gnu/llvm/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) { 265 template <> struct GraphTraits<DominatorTree*> 269 static nodes_iterator nodes_begin(DominatorTree *N) { 273 static nodes_iterator nodes_end(DominatorTree *N) { 285 using Result = DominatorTree; 288 DominatorTree run(Function &F, FunctionAnalysisManager &); 315 DominatorTree DT; 322 DominatorTree &getDomTree() { return DT; } [all …]
|
/openbsd/gnu/llvm/llvm/lib/Transforms/Scalar/ |
H A D | LoopFuse.cpp | 184 DominatorTree &DT; 401 const DominatorTree *DT = &(LHS.DT); in operator ()() 574 DominatorTree &DT; 832 DominatorTree::UpdateType(DominatorTree::Delete, Pred, BB)); in peelFusionCandidate() 1660 TreeUpdates.emplace_back(DominatorTree::UpdateType( in performFusion() 1708 TreeUpdates.emplace_back(DominatorTree::UpdateType(DominatorTree::Delete, in performFusion() 1710 TreeUpdates.emplace_back(DominatorTree::UpdateType(DominatorTree::Insert, in performFusion() 1712 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 …]
|
/openbsd/gnu/llvm/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() 385 DominatorTree DominatorTreeAnalysis::run(Function &F, in run() 387 DominatorTree DT; in run() 437 assert(DT.verify(DominatorTree::VerificationLevel::Full)); in verifyAnalysis() [all …]
|
/openbsd/gnu/llvm/llvm/lib/Transforms/Utils/ |
H A D | BasicBlockUtils.cpp | 63 SmallVectorImpl<DominatorTree::UpdateType> *Updates, in detachDeadBlocks() 111 SmallVector<DominatorTree::UpdateType, 4> Updates; in DeleteDeadBlocks() 183 DominatorTree *DT) { in MergeBlockIntoPredecessor() 248 std::vector<DominatorTree::UpdateType> Updates; in MergeBlockIntoPredecessor() 768 SmallVector<DominatorTree::UpdateType, 3> Updates; in ehAwareSplitEdge() 905 SmallVector<DominatorTree::UpdateType, 8> Updates; in SplitBlockImpl() 970 SmallVector<DominatorTree::UpdateType, 8> DTUpdates; in splitBlockBefore() 1012 SmallVector<DominatorTree::UpdateType, 8> Updates; in UpdateAnalysisInformation() 1478 SmallVector<DominatorTree::UpdateType, 8> Updates; in SplitBlockAndInsertIfThenImpl() 1588 SmallVector<DominatorTree::UpdateType, 8> Updates; in SplitBlockAndInsertIfThenElse() [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()
|
H A D | CodeMoverUtils.cpp | 64 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 …]
|
/openbsd/gnu/llvm/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()
|
/openbsd/gnu/llvm/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() 242 Updates.push_back({DominatorTree::Insert, BB, DummyReturnBB}); in runOnFunction() 253 Updates.push_back({DominatorTree::Insert, BB, TransitionBB}); in runOnFunction() 255 Updates.push_back({DominatorTree::Insert, TransitionBB, Successor}); in runOnFunction() 256 Updates.push_back({DominatorTree::Delete, BB, Successor}); in runOnFunction() 263 Updates.push_back({DominatorTree::Insert, BB, DummyReturnBB}); in runOnFunction() 284 Updates.push_back({DominatorTree::Insert, BB, UnreachableBlock}); in runOnFunction()
|
/openbsd/gnu/llvm/llvm/lib/CodeGen/ |
H A D | IndirectBrExpandPass.cpp | 171 SmallVector<DominatorTree::UpdateType, 8> Updates; in runOnFunction() 177 Updates.push_back({DominatorTree::Delete, IBr->getParent(), SuccBB}); in runOnFunction() 208 SmallVector<DominatorTree::UpdateType, 8> Updates; in runOnFunction() 219 Updates.push_back({DominatorTree::Delete, IBr->getParent(), SuccBB}); in runOnFunction() 241 Updates.push_back({DominatorTree::Insert, IBr->getParent(), SwitchBB}); in runOnFunction() 243 Updates.push_back({DominatorTree::Delete, IBr->getParent(), SuccBB}); in runOnFunction() 264 Updates.push_back({DominatorTree::Insert, SwitchBB, BB}); in runOnFunction()
|
/openbsd/gnu/llvm/llvm/include/llvm/Transforms/Scalar/ |
H A D | AlignmentFromAssumptions.h | 25 class DominatorTree; variable 35 DominatorTree *DT_); 38 DominatorTree *DT = nullptr;
|