/netbsd-src/external/apache2/llvm/dist/llvm/lib/Analysis/ |
H A D | DomPrinter.cpp | 52 struct DOTGraphTraits<DominatorTree*> : public DOTGraphTraits<DomTreeNode*> { 57 static std::string getGraphName(DominatorTree *DT) { in getGraphName() 61 std::string getNodeLabel(DomTreeNode *Node, DominatorTree *G) { in getNodeLabel() 83 void DominatorTree::viewGraph(const Twine &Name, const Twine &Title) { in viewGraph() 91 void DominatorTree::viewGraph() { in viewGraph() 101 static DominatorTree *getGraph(DominatorTreeWrapperPass *DTWP) { in getGraph() 107 DominatorTreeWrapperPass, false, DominatorTree *, 111 : DOTGraphTraitsViewer<DominatorTreeWrapperPass, false, DominatorTree *, in DomViewer() 119 DominatorTreeWrapperPass, true, DominatorTree *, 123 : DOTGraphTraitsViewer<DominatorTreeWrapperPass, true, DominatorTree *, in DomOnlyViewer() [all …]
|
H A D | DomTreeUpdater.cpp | 26 const DominatorTree::UpdateType Update) const { in isUpdateValid() 41 if (Kind == DominatorTree::Insert && !HasEdge) in isUpdateValid() 45 if (Kind == DominatorTree::Delete && HasEdge) in isUpdateValid() 52 const DominatorTree::UpdateType Update) const { in isSelfDominance() 67 DT->applyUpdates(ArrayRef<DominatorTree::UpdateType>(I, E)); in applyDomTreeUpdates() 89 PDT->applyUpdates(ArrayRef<DominatorTree::UpdateType>(I, E)); in applyPostDomTreeUpdates() 230 void DomTreeUpdater::applyUpdates(ArrayRef<DominatorTree::UpdateType> Updates) { in applyUpdates() 250 ArrayRef<DominatorTree::UpdateType> Updates) { in applyUpdatesPermissive() 255 SmallVector<DominatorTree::UpdateType, 8> DeduplicatedUpdates; in applyUpdatesPermissive() 303 DominatorTree &DomTreeUpdater::getDomTree() { in getDomTree() [all …]
|
/netbsd-src/external/apache2/llvm/dist/llvm/include/llvm/Analysis/ |
H A D | ValueTracking.h | 34 class DominatorTree; variable 62 const DominatorTree *DT = nullptr, 78 const DominatorTree *DT = nullptr, 86 const DominatorTree *DT = nullptr, 95 const DominatorTree *DT = nullptr, 110 const DominatorTree *DT = nullptr, 122 const DominatorTree *DT = nullptr, 136 const DominatorTree *DT = nullptr, 150 const DominatorTree *DT = nullptr, 158 const DominatorTree *DT = nullptr, [all …]
|
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); 228 DominatorTree &getDomTree(); 262 SmallVector<DominatorTree::UpdateType, 16> PendUpdates; 265 DominatorTree *DT = nullptr; 304 bool isUpdateValid(DominatorTree::UpdateType Update) const; [all …]
|
H A D | Loads.h | 23 class DominatorTree; variable 38 const DominatorTree *DT = nullptr, 49 const DominatorTree *DT = nullptr, 59 const DominatorTree *DT = nullptr, 73 const DominatorTree *DT = nullptr, 85 DominatorTree &DT); 98 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 | 48 class DominatorTree; variable 117 DominatorTree &DT); 120 ArrayRef<std::unique_ptr<ValueToValueMapTy>> VMaps, DominatorTree &DT); 125 void applyUpdates(ArrayRef<CFGUpdate> Updates, DominatorTree &DT, 128 void applyInsertUpdates(ArrayRef<CFGUpdate> Updates, DominatorTree &DT); 292 DominatorTree &DT); 293 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); 94 const DominatorTree *DT = nullptr, 109 const DominatorTree *DT = nullptr, const LoopInfo *LI = nullptr);
|
/netbsd-src/external/apache2/llvm/dist/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() 173 static bool eliminateCondBranches_v2(Function &F, DominatorTree &DT) { in eliminateCondBranches_v2() 177 SmallVector<DominatorTree::UpdateType, 8> DTUpdates; in eliminateCondBranches_v2() 207 DTUpdates.push_back({DominatorTree::Delete, &BB, RemovedSucc}); in eliminateCondBranches_v2() 219 static bool eliminateCondBranches_v3(Function &F, DominatorTree &DT) { in eliminateCondBranches_v3() 222 SmallVector<DominatorTree::UpdateType, 8> DTUpdates; in eliminateCondBranches_v3() 254 DTUpdates.push_back({DominatorTree::Delete, &BB, RemovedSucc}); in eliminateCondBranches_v3() 306 static bool mergeIntoSinglePredecessor_v2(Function &F, DominatorTree &DT) { in mergeIntoSinglePredecessor_v2() [all …]
|
/netbsd-src/external/apache2/llvm/dist/llvm/include/llvm/IR/ |
H A D | Dominators.h | 151 class DominatorTree : public DominatorTreeBase<BasicBlock, false> { 155 DominatorTree() = default; 156 explicit DominatorTree(Function &F) { recalculate(F); } 157 explicit DominatorTree(DominatorTree &DT, DomTreeBuilder::BBUpdates U) { 238 template <> struct GraphTraits<DominatorTree*> 240 static NodeRef getEntryNode(DominatorTree *DT) { return DT->getRootNode(); } 242 static nodes_iterator nodes_begin(DominatorTree *N) { 246 static nodes_iterator nodes_end(DominatorTree *N) { 258 using Result = DominatorTree; 261 DominatorTree run(Function &F, FunctionAnalysisManager &); [all …]
|
/netbsd-src/external/apache2/llvm/dist/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, 48 DominatorTree &DT, 55 DominatorTree &DT, 62 DominatorTree &DT, const PostDominatorTree &PDT,
|
H A D | SimplifyIndVar.h | 25 class DominatorTree; variable 37 const DominatorTree *DT = nullptr; 45 const DominatorTree *getDomTree() const { return DT; } in getDomTree() 51 bool simplifyUsersOfIV(PHINode *CurrIV, ScalarEvolution *SE, DominatorTree *DT, 58 bool simplifyLoopIVs(Loop *L, ScalarEvolution *SE, DominatorTree *DT, 79 DominatorTree *DT, SmallVectorImpl<WeakTrackingVH> &DeadInsts,
|
H A D | LoopUtils.h | 57 BasicBlock *InsertPreheaderForLoop(Loop *L, DominatorTree *DT, LoopInfo *LI, 65 bool formDedicatedExitBlocks(Loop *L, DominatorTree *DT, LoopInfo *LI, 84 SmallVectorImpl<Instruction *> &Worklist, const DominatorTree &DT, 100 bool formLCSSA(Loop &L, const DominatorTree &DT, const LoopInfo *LI, 112 bool formLCSSARecursively(Loop &L, const DominatorTree &DT, const LoopInfo *LI, 150 bool sinkRegion(DomTreeNode *, AAResults *, LoopInfo *, DominatorTree *, 164 bool hoistRegion(DomTreeNode *, AAResults *, LoopInfo *, DominatorTree *, 181 void deleteDeadLoop(Loop *L, DominatorTree *DT, ScalarEvolution *SE, 187 void breakLoopBackedge(Loop *L, DominatorTree &DT, ScalarEvolution &SE, 201 PredIteratorCache &, LoopInfo *, DominatorTree *, const TargetLibraryInfo *, [all …]
|
H A D | UnrollLoop.h | 28 class DominatorTree; variable 83 ScalarEvolution *SE, DominatorTree *DT, 92 LoopInfo *LI, ScalarEvolution *SE, DominatorTree *DT, AssumptionCache *AC, 99 DominatorTree *DT, AssumptionCache *AC, 104 bool isSafeToUnrollAndJam(Loop *L, ScalarEvolution &SE, DominatorTree &DT, 108 DominatorTree &DT, LoopInfo *LI, ScalarEvolution &SE, 118 ScalarEvolution *SE, DominatorTree *DT,
|
H A D | BasicBlockUtils.h | 32 class DominatorTree; variable 50 SmallVectorImpl<DominatorTree::UpdateType> *Updates, 137 DominatorTree *DT; 150 CriticalEdgeSplittingOptions(DominatorTree *DT = nullptr, 266 DominatorTree *DT = nullptr, LoopInfo *LI = nullptr, 297 BasicBlock *SplitBlock(BasicBlock *Old, Instruction *SplitPt, DominatorTree *DT, 341 const char *Suffix, DominatorTree *DT, 384 DominatorTree *DT, LoopInfo *LI = nullptr, 438 DominatorTree *DT,
|
H A D | AssumeBundleBuilder.h | 27 class DominatorTree; variable 43 DominatorTree *DT = nullptr); 50 DominatorTree *DT = nullptr); 72 DominatorTree *DT);
|
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/Scalar/ |
H A D | LoopFuse.cpp | 181 const DominatorTree *DT; 186 FusionCandidate(Loop *L, const DominatorTree *DT, in FusionCandidate() 393 const DominatorTree *DT = LHS.DT; in operator ()() 546 DominatorTree &DT; 556 LoopFuser(LoopInfo &LI, DominatorTree &DT, DependenceInfo &DI, in LoopFuser() 799 SmallVector<DominatorTree::UpdateType, 8> TreeUpdates; in peelFusionCandidate() 805 DominatorTree::UpdateType(DominatorTree::Delete, Pred, BB)); in peelFusionCandidate() 1365 SmallVector<DominatorTree::UpdateType, 8> TreeUpdates; in performFusion() 1387 TreeUpdates.emplace_back(DominatorTree::UpdateType( in performFusion() 1388 DominatorTree::Delete, FC0.ExitingBlock, FC1.Preheader)); in performFusion() [all …]
|
H A D | SimplifyCFGPass.cpp | 85 std::vector<DominatorTree::UpdateType> Updates; in mergeEmptyReturnBlocks() 154 Updates.push_back({DominatorTree::Insert, Predecessor, RetBlock}); in mergeEmptyReturnBlocks() 156 Updates.push_back({DominatorTree::Delete, Predecessor, &BB}); in mergeEmptyReturnBlocks() 184 Updates.push_back({DominatorTree::Insert, &BB, RetBlock}); in mergeEmptyReturnBlocks() 238 DominatorTree *DT, in simplifyFunctionCFGImpl() 266 DominatorTree *DT, in simplifyFunctionCFG() 269 (DT && DT->verify(DominatorTree::VerificationLevel::Full))) && in simplifyFunctionCFG() 275 (DT && DT->verify(DominatorTree::VerificationLevel::Full))) && in simplifyFunctionCFG() 310 DominatorTree *DT = nullptr; in run() 347 DominatorTree *DT = nullptr; in runOnFunction()
|
/netbsd-src/external/apache2/llvm/dist/llvm/lib/IR/ |
H A D | Dominators.cpp | 106 bool DominatorTree::invalidate(Function &F, const PreservedAnalyses &PA, in invalidate() 115 bool DominatorTree::dominates(const BasicBlock *BB, const Use &U) const { in dominates() 128 bool DominatorTree::dominates(const Value *DefV, in dominates() 167 bool DominatorTree::dominates(const Instruction *Def, in dominates() 200 bool DominatorTree::dominates(const BasicBlockEdge &BBE, in dominates() 250 bool DominatorTree::dominates(const BasicBlockEdge &BBE, const Use &U) const { in dominates() 268 bool DominatorTree::dominates(const Value *DefV, const Use &U) const { in dominates() 328 bool DominatorTree::isReachableFromEntry(const Use &U) const { in isReachableFromEntry() 344 bool DominatorTree::dominates(const BasicBlockEdge &BBE1, in dominates() 360 DominatorTree DominatorTreeAnalysis::run(Function &F, in run() [all …]
|
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/Utils/ |
H A D | BasicBlockUtils.cpp | 57 SmallVectorImpl<DominatorTree::UpdateType> *Updates, in DetatchDeadBlocks() 66 Updates->push_back({DominatorTree::Delete, BB, Succ}); in DetatchDeadBlocks() 105 SmallVector<DominatorTree::UpdateType, 4> Updates; in DeleteDeadBlocks() 229 std::vector<DominatorTree::UpdateType> Updates; in MergeBlockIntoPredecessor() 244 Updates.push_back({DominatorTree::Insert, PredBB, SuccOfBB}); in MergeBlockIntoPredecessor() 246 Updates.push_back({DominatorTree::Delete, BB, SuccOfBB}); in MergeBlockIntoPredecessor() 247 Updates.push_back({DominatorTree::Delete, PredBB, BB}); in MergeBlockIntoPredecessor() 495 BasicBlock *llvm::SplitEdge(BasicBlock *BB, BasicBlock *Succ, DominatorTree *DT, in SplitEdge() 648 SmallVector<DominatorTree::UpdateType, 3> Updates; in ehAwareSplitEdge() 650 Updates.push_back({DominatorTree::Insert, BB, NewBB}); in ehAwareSplitEdge() [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 | FixIrreducible.cpp | 158 static void createNaturalLoopInternal(LoopInfo &LI, DominatorTree &DT, in createNaturalLoopInternal() 190 assert(DT.verify(DominatorTree::VerificationLevel::Full)); in createNaturalLoopInternal() 192 assert(DT.verify(DominatorTree::VerificationLevel::Fast)); in createNaturalLoopInternal() 247 static void createNaturalLoop(LoopInfo &LI, DominatorTree &DT, Function *F, in createNaturalLoop() 253 static void createNaturalLoop(LoopInfo &LI, DominatorTree &DT, Loop &L, in createNaturalLoop() 261 static bool makeReducible(LoopInfo &LI, DominatorTree &DT, Graph &&G) { in makeReducible() 307 static bool FixIrreducibleImpl(Function &F, LoopInfo &LI, DominatorTree &DT) { in FixIrreducibleImpl()
|
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/IPO/ |
H A D | LoopExtractor.cpp | 66 function_ref<DominatorTree &(Function &)> LookupDomTree, in LoopExtractor() 78 function_ref<DominatorTree &(Function &)> LookupDomTree; 85 DominatorTree &DT); 86 bool extractLoop(Loop *L, LoopInfo &LI, DominatorTree &DT); 122 auto LookupDomTree = [this](Function &F) -> DominatorTree & { in runOnModule() 181 DominatorTree &DT = LookupDomTree(F); in runOnFunction() 226 LoopInfo &LI, DominatorTree &DT) { in extractLoops() 244 bool LoopExtractor::extractLoop(Loop *L, LoopInfo &LI, DominatorTree &DT) { in extractLoop() 268 auto LookupDomTree = [&FAM](Function &F) -> DominatorTree & { in run()
|
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Target/AMDGPU/ |
H A D | AMDGPUUnifyDivergentExitNodes.cpp | 190 std::vector<DominatorTree::UpdateType> Updates; in unifyReturnBlockSet() 201 Updates.push_back({DominatorTree::Insert, BB, NewRetBlock}); in unifyReturnBlockSet() 218 DominatorTree *DT = nullptr; in runOnFunction() 245 std::vector<DominatorTree::UpdateType> Updates; in runOnFunction() 303 Updates.push_back({DominatorTree::Insert, BB, DummyReturnBB}); in runOnFunction() 314 Updates.push_back({DominatorTree::Insert, BB, TransitionBB}); in runOnFunction() 316 Updates.push_back({DominatorTree::Insert, TransitionBB, Successor}); in runOnFunction() 317 Updates.push_back({DominatorTree::Delete, BB, Successor}); in runOnFunction() 324 Updates.push_back({DominatorTree::Insert, BB, DummyReturnBB}); in runOnFunction() 345 Updates.push_back({DominatorTree::Insert, BB, UnreachableBlock}); in runOnFunction()
|
/netbsd-src/external/apache2/llvm/dist/llvm/lib/CodeGen/ |
H A D | IndirectBrExpandPass.cpp | 174 SmallVector<DominatorTree::UpdateType, 8> Updates; in runOnFunction() 180 Updates.push_back({DominatorTree::Delete, IBr->getParent(), SuccBB}); in runOnFunction() 211 SmallVector<DominatorTree::UpdateType, 8> Updates; in runOnFunction() 222 Updates.push_back({DominatorTree::Delete, IBr->getParent(), SuccBB}); in runOnFunction() 244 Updates.push_back({DominatorTree::Insert, IBr->getParent(), SwitchBB}); in runOnFunction() 246 Updates.push_back({DominatorTree::Delete, IBr->getParent(), SuccBB}); in runOnFunction() 266 Updates.push_back({DominatorTree::Insert, SwitchBB, BB}); in runOnFunction()
|