Searched refs:PDT (Results 1 - 25 of 39) sorted by relevance

12

/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DMachinePostDominators.h29 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 DCodeMoverUtils.h32 const PostDominatorTree &PDT);
41 const PostDominatorTree &PDT);
45 const DominatorTree &DT, const PostDominatorTree &PDT,
51 const DominatorTree &DT, const PostDominatorTree &PDT,
H A DBasicBlockUtils.h123 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 DMachinePostDominators.cpp32 : 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 DMachineRegionInfo.cpp64 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 DDomTreeUpdater.cpp81 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 DSyncDependenceAnalysis.cpp121 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 DRegionInfo.cpp101 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 DLegacyDivergenceAnalysis.cpp98 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 DPostDominators.cpp100 PostDominatorTree PDT(F);
101 return PDT;
H A DBranchProbabilityInfo.cpp150 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 DMustExecute.cpp372 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 DCodeMoverUtils.cpp35 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 DBreakCriticalEdges.cpp55 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 DSyncDependenceAnalysis.h47 SyncDependenceAnalysis(const DominatorTree &DT, const PostDominatorTree &PDT,
75 const PostDominatorTree &PDT; member in class:llvm::SyncDependenceAnalysis
H A DDomTreeUpdater.h36 : 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 DRegionInfo.h699 : 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 DSCCP.h45 PostDominatorTree *PDT; member in struct:llvm::AnalysisResultsForFn
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DADCE.cpp121 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 DLoopFuse.cpp162 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 DGuardWidening.cpp115 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 DGVNHoist.cpp258 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 DSILowerI1Copies.cpp57 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 DAMDGPUUnifyDivergentExitNodes.cpp197 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 DHotColdSplitting.cpp402 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

Completed in 376 milliseconds

12