/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/CodeGen/ |
H A D | MachinePostDominators.h | 29 std::unique_ptr<PostDomTreeT> PDT; 39 return PDT->getRoots(); 42 MachineDomTreeNode *getRootNode() const { return PDT->getRootNode(); } 45 return PDT->getNode(BB); 49 return PDT->getNode(BB); 54 return PDT->dominates(A, B); 58 return PDT->dominates(A, B); 63 return PDT->properlyDominates(A, B); 68 return PDT->properlyDominates(A, B); 72 return PDT [all...] |
/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/ |
H A D | CodeMoverUtils.h | 32 const PostDominatorTree &PDT); 41 const PostDominatorTree &PDT); 45 const DominatorTree &DT, const PostDominatorTree &PDT, 51 const DominatorTree &DT, const PostDominatorTree &PDT,
|
H A D | BasicBlockUtils.h | 123 PostDominatorTree *PDT; member in struct:llvm::CriticalEdgeSplittingOptions 134 PostDominatorTree *PDT = nullptr) 135 : DT(DT), PDT(PDT), LI(LI), MSSAU(MSSAU) {}
|
/freebsd-11-stable/contrib/llvm-project/llvm/lib/CodeGen/ |
H A D | MachinePostDominators.cpp | 32 : MachineFunctionPass(ID), PDT(nullptr) { 41 PDT = std::make_unique<PostDomTreeT>(); 42 PDT->recalculate(F); 57 NCD = PDT->findNearestCommonDominator(NCD, BB); 60 if (PDT->isVirtualRoot(PDT->getNode(NCD))) 68 if (PDT && VerifyMachineDomInfo) 69 if (!PDT->verify(PostDomTreeT::VerificationLevel::Basic)) { 78 PDT->print(OS);
|
H A D | MachineRegionInfo.cpp | 64 PDT = PDT_; 88 auto PDT = &getAnalysis<MachinePostDominatorTree>(); local 91 RI.recalculate(F, DT, PDT, DF);
|
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Analysis/ |
H A D | DomTreeUpdater.cpp | 81 if (Strategy != UpdateStrategy::Lazy || !PDT) 90 PDT->applyUpdates(ArrayRef<DominatorTree::UpdateType>(I, E)); 126 if (PDT) 127 PDT->recalculate(F); 142 if (PDT) 143 PDT->recalculate(F); 162 if (!PDT) 173 // The DT and PDT require the nodes related to updates 210 if (PDT && !IsRecalculatingPostDomTree) 211 if (PDT [all...] |
H A D | SyncDependenceAnalysis.cpp | 121 const PostDominatorTree &PDT, 123 : FuncRPOT(DT.getRoot()->getParent()), DT(DT), PDT(PDT), LI(LI) {} 133 const PostDominatorTree &PDT; member in struct:llvm::DivergencePropagator 153 const PostDominatorTree &PDT, const LoopInfo &LI) 154 : FuncRPOT(FuncRPOT), DT(DT), PDT(PDT), LI(LI), 348 DivergencePropagator Propagator{FuncRPOT, DT, PDT, LI}; 370 DivergencePropagator Propagator{FuncRPOT, DT, PDT, LI}; 120 SyncDependenceAnalysis(const DominatorTree &DT, const PostDominatorTree &PDT, const LoopInfo &LI) argument 152 DivergencePropagator(const FunctionRPOT &FuncRPOT, const DominatorTree &DT, const PostDominatorTree &PDT, const LoopInfo &LI) argument
|
H A D | RegionInfo.cpp | 101 PDT = PDT_; 130 auto PDT = &getAnalysis<PostDominatorTreeWrapperPass>().getPostDomTree(); local 133 RI.recalculate(F, DT, PDT, DF); 193 auto *PDT = &AM.getResult<PostDominatorTreeAnalysis>(F); local 196 RI.recalculate(F, DT, PDT, DF);
|
H A D | LegacyDivergenceAnalysis.cpp | 98 PostDominatorTree &PDT, DenseSet<const Value *> &DV, 100 : F(F), TTI(TTI), DT(DT), PDT(PDT), DV(DV), DU(DU) {} 121 PostDominatorTree &PDT; member in class:__anon1630::DivergencePropagator 164 DomTreeNode *ThisNode = PDT.getNode(ThisBB); 244 assert(PDT.properlyDominates(End, Start) && 338 auto &PDT = getAnalysis<PostDominatorTreeWrapperPass>().getPostDomTree(); local 343 gpuDA = std::make_unique<GPUDivergenceAnalysis>(F, DT, PDT, LI, TTI); 347 DivergencePropagator DP(F, TTI, DT, PDT, DivergentValues, DivergentUses); 97 DivergencePropagator(Function &F, TargetTransformInfo &TTI, DominatorTree &DT, PostDominatorTree &PDT, DenseSet<const Value *> &DV, DenseSet<const Use *> &DU) argument
|
H A D | PostDominators.cpp | 100 PostDominatorTree PDT(F); 101 return PDT;
|
H A D | BranchProbabilityInfo.cpp | 150 static void UpdatePDTWorklist(const BasicBlock *BB, PostDominatorTree *PDT, argument 156 PDT->getDescendants(const_cast<BasicBlock *>(BB), Descendants); 167 const Function &F, PostDominatorTree *PDT) { 178 UpdatePDTWorklist(&BB, PDT, WorkList, PostDominatedByUnreachable); 190 UpdatePDTWorklist(BB, PDT, WorkList, PostDominatedByUnreachable); 197 UpdatePDTWorklist(BB, PDT, WorkList, PostDominatedByUnreachable); 203 const Function &F, PostDominatorTree *PDT) { 209 UpdatePDTWorklist(&BB, PDT, WorkList, PostDominatedByColdCall); 218 UpdatePDTWorklist(BB, PDT, WorkList, PostDominatedByColdCall); 225 UpdatePDTWorklist(BB, PDT, WorkLis 166 computePostDominatedByUnreachable( const Function &F, PostDominatorTree *PDT) argument 202 computePostDominatedByColdCall( const Function &F, PostDominatorTree *PDT) argument 1001 std::unique_ptr<PostDominatorTree> PDT = local [all...] |
H A D | MustExecute.cpp | 372 PostDominatorTree *PDT = new PostDominatorTree(const_cast<Function &>(F)); 373 PDTs.push_back(PDT); 374 return PDT; 501 const PostDominatorTree *PDT = PDTGetter(*InitBB->getParent()); local 504 << (LI ? " [LI]" : "") << (PDT ? " [PDT]" : "")); 540 if (PDT) 541 if (const auto *InitNode = PDT->getNode(InitBB))
|
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
H A D | CodeMoverUtils.cpp | 35 const PostDominatorTree &PDT) { 36 return isControlFlowEquivalent(*I0.getParent(), *I1.getParent(), DT, PDT); 41 const PostDominatorTree &PDT) { 45 return ((DT.dominates(&BB0, &BB1) && PDT.dominates(&BB1, &BB0)) || 46 (PDT.dominates(&BB0, &BB1) && DT.dominates(&BB1, &BB0))); 94 const PostDominatorTree &PDT, 111 if (!isControlFlowEquivalent(I, InsertPoint, DT, PDT)) 179 const PostDominatorTree &PDT, DependenceInfo &DI) { 186 if (isSafeToMoveBefore(I, *MovePos, DT, PDT, DI)) 33 isControlFlowEquivalent(const Instruction &I0, const Instruction &I1, const DominatorTree &DT, const PostDominatorTree &PDT) argument 39 isControlFlowEquivalent(const BasicBlock &BB0, const BasicBlock &BB1, const DominatorTree &DT, const PostDominatorTree &PDT) argument 92 isSafeToMoveBefore(Instruction &I, Instruction &InsertPoint, const DominatorTree &DT, const PostDominatorTree &PDT, DependenceInfo &DI) argument 177 moveInstsBottomUp(BasicBlock &FromBB, BasicBlock &ToBB, const DominatorTree &DT, const PostDominatorTree &PDT, DependenceInfo &DI) argument
|
H A D | BreakCriticalEdges.cpp | 55 auto *PDT = PDTWP ? &PDTWP->getPostDomTree() : nullptr; variable 60 SplitAllCriticalEdges(F, CriticalEdgeSplittingOptions(DT, LI, nullptr, PDT)); 214 auto *PDT = Options.PDT; local 221 if (!DT && !PDT && !LI) 224 if (DT || PDT) { 242 if (PDT) 243 PDT->applyUpdates(Updates);
|
/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/Analysis/ |
H A D | SyncDependenceAnalysis.h | 47 SyncDependenceAnalysis(const DominatorTree &DT, const PostDominatorTree &PDT, 75 const PostDominatorTree &PDT; member in class:llvm::SyncDependenceAnalysis
|
H A D | DomTreeUpdater.h | 36 : PDT(&PDT_), Strategy(Strategy_) {} 38 : PDT(PDT_), Strategy(Strategy_) {} 41 : DT(&DT_), PDT(&PDT_), Strategy(Strategy_) {} 44 : DT(DT_), PDT(PDT_), Strategy(Strategy_) {} 58 bool hasPostDomTree() const { return PDT != nullptr; } 70 /// Returns true if either of DT or PDT is valid and the tree has at 71 /// least one update pending. If DT or PDT is nullptr it is treated 82 /// Returns false under Eager UpdateStrategy or PDT is nullptr. 199 /// modified while awaiting deletion. When both DT and PDT are nullptrs, DelBB 264 PostDominatorTree *PDT member in class:llvm::DomTreeUpdater::UpdateStrategy [all...] |
H A D | RegionInfo.h | 699 : DT(std::move(Arg.DT)), PDT(std::move(Arg.PDT)), DF(std::move(Arg.DF)), 707 PDT = std::move(RHS.PDT); 718 PostDomTreeT *PDT; member in class:llvm::RegionInfoBase 748 PDT = nullptr; 929 void recalculate(Function &F, DominatorTree *DT, PostDominatorTree *PDT,
|
/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/ |
H A D | SCCP.h | 45 PostDominatorTree *PDT; member in struct:llvm::AnalysisResultsForFn
|
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | ADCE.cpp | 121 PostDominatorTree &PDT; member in class:__anon2652::AggressiveDeadCodeElimination 196 PostDominatorTree &PDT) 197 : F(F), DT(DT), PDT(PDT) {} 298 for (auto &PDTChild : children<DomTreeNode *>(PDT.getRootNode())) { 488 ReverseIDFCalculator IDFs(PDT); 623 DomTreeUpdater(DT, &PDT, DomTreeUpdater::UpdateStrategy::Eager) 683 auto &PDT = FAM.getResult<PostDominatorTreeAnalysis>(F); local 684 if (!AggressiveDeadCodeElimination(F, DT, PDT).performDeadCodeElimination()) 712 auto &PDT variable 195 AggressiveDeadCodeElimination(Function &F, DominatorTree *DT, PostDominatorTree &PDT) argument [all...] |
H A D | LoopFuse.cpp | 162 const PostDominatorTree *PDT; member in struct:__anon2696::FusionCandidate 167 const PostDominatorTree *PDT, OptimizationRemarkEmitter &ORE) 171 GuardBranch(L->getLoopGuardBranch()), DT(DT), PDT(PDT), ORE(ORE) { 361 // Do not save PDT to local variable as it is only used in asserts and thus 363 assert(DT && LHS.PDT && "Expecting valid dominator tree"); 369 assert(LHS.PDT->dominates(LHSEntryBlock, RHSEntryBlock)); 375 assert(LHS.PDT->dominates(RHSEntryBlock, LHSEntryBlock)); 512 PostDominatorTree &PDT; member in struct:__anon2696::LoopFuser 517 ScalarEvolution &SE, PostDominatorTree &PDT, 166 FusionCandidate(Loop *L, const DominatorTree *DT, const PostDominatorTree *PDT, OptimizationRemarkEmitter &ORE) argument 516 LoopFuser(LoopInfo &LI, DominatorTree &DT, DependenceInfo &DI, ScalarEvolution &SE, PostDominatorTree &PDT, OptimizationRemarkEmitter &ORE, const DataLayout &DL) argument 1628 auto &PDT = getAnalysis<PostDominatorTreeWrapperPass>().getPostDomTree(); variable 1643 auto &PDT = AM.getResult<PostDominatorTreeAnalysis>(F); local [all...] |
H A D | GuardWidening.cpp | 115 PostDominatorTree *PDT; member in class:__anon2676::GuardWideningImpl 273 explicit GuardWideningImpl(DominatorTree &DT, PostDominatorTree *PDT, argument 276 : DT(DT), PDT(PDT), LI(LI), Root(Root), BlockFilter(BlockFilter) 455 if (!PDT) return true; 456 return !PDT->dominates(DominatedBlock, DominatingBlock); 772 auto &PDT = AM.getResult<PostDominatorTreeAnalysis>(F); 773 if (!GuardWideningImpl(DT, &PDT, LI, DT.getRootNode(), 811 auto &PDT = getAnalysis<PostDominatorTreeWrapperPass>().getPostDomTree(); 812 return GuardWideningImpl(DT, &PDT, L [all...] |
H A D | GVNHoist.cpp | 258 GVNHoist(DominatorTree *DT, PostDominatorTree *PDT, AliasAnalysis *AA, argument 260 : DT(DT), PDT(PDT), AA(AA), MD(MD), MSSA(MSSA), 332 PostDominatorTree *PDT; member in class:llvm::GVNHoist 672 auto Root = PDT->getNode(nullptr); 764 ReverseIDFCalculator IDFs(*PDT); 1158 auto &PDT = getAnalysis<PostDominatorTreeWrapperPass>().getPostDomTree(); variable 1163 GVNHoist G(&DT, &PDT, &AA, &MD, &MSSA); 1184 PostDominatorTree &PDT = AM.getResult<PostDominatorTreeAnalysis>(F); local 1188 GVNHoist G(&DT, &PDT, [all...] |
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
H A D | SILowerI1Copies.cpp | 57 MachinePostDominatorTree *PDT = nullptr; member in class:__anon2122::SILowerI1Copies 134 MachinePostDominatorTree &PDT; member in class:__anon2122::PhiIncomingAnalysis 144 PhiIncomingAnalysis(MachinePostDominatorTree &PDT) : PDT(PDT) {} argument 188 if (Divergent && PDT.dominates(&DefBlock, MBB)) { 260 MachinePostDominatorTree &PDT; member in class:__anon2122::LoopFinder 284 LoopFinder(MachineDominatorTree &DT, MachinePostDominatorTree &PDT) argument 285 : DT(DT), PDT(PDT) {} [all...] |
H A D | AMDGPUUnifyDivergentExitNodes.cpp | 197 auto &PDT = getAnalysis<PostDominatorTreeWrapperPass>().getPostDomTree(); local 198 if (PDT.getRoots().size() <= 1) 213 for (BasicBlock *BB : PDT.getRoots()) {
|
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/IPO/ |
H A D | HotColdSplitting.cpp | 402 const PostDominatorTree &PDT) { 424 bool SinkPostDom = PDT.dominates(&SinkBB, &PredBB); 556 std::unique_ptr<PostDominatorTree> PDT; local 587 if (!PDT) 588 PDT = std::make_unique<PostDominatorTree>(F); 590 auto Regions = OutliningRegion::create(*BB, *DT, *PDT); 400 create(BasicBlock &SinkBB, const DominatorTree &DT, const PostDominatorTree &PDT) argument
|