Home
last modified time | relevance | path

Searched refs:PDT (Results 1 – 25 of 52) sorted by relevance

123

/llvm-project-15.0.7/llvm/unittests/Transforms/Utils/
H A DCodeMoverUtilsTest.cpp39 PostDominatorTree PDT(*F); in run() local
47 Test(*F, DT, PDT, DI); in run()
97 [&](Function &F, DominatorTree &DT, PostDominatorTree &PDT, in TEST()
188 [&](Function &F, DominatorTree &DT, PostDominatorTree &PDT, in TEST()
248 [&](Function &F, DominatorTree &DT, PostDominatorTree &PDT, in TEST()
318 [&](Function &F, DominatorTree &DT, PostDominatorTree &PDT, in TEST()
372 [&](Function &F, DominatorTree &DT, PostDominatorTree &PDT, in TEST()
422 [&](Function &F, DominatorTree &DT, PostDominatorTree &PDT, in TEST()
428 EXPECT_FALSE(isControlFlowEquivalent(Idom, BB, DT, PDT)); in TEST()
523 DT, &PDT, &DI)); in TEST()
[all …]
H A DLocalTest.cpp238 PostDominatorTree PDT = PostDominatorTree(F); in TEST() local
255 PostDominatorTree PDT = PostDominatorTree(F); in TEST() local
264 PostDominatorTree PDT = PostDominatorTree(F); in TEST() local
273 PostDominatorTree PDT = PostDominatorTree(F); in TEST() local
289 PostDominatorTree PDT = PostDominatorTree(F); in TEST() local
306 PostDominatorTree PDT = PostDominatorTree(F); in TEST() local
315 PostDominatorTree PDT = PostDominatorTree(F); in TEST() local
324 PostDominatorTree PDT = PostDominatorTree(F); in TEST() local
439 PostDominatorTree PDT = PostDominatorTree(F); in TEST() local
451 PostDominatorTree PDT = PostDominatorTree(F); in TEST() local
[all …]
/llvm-project-15.0.7/llvm/include/llvm/CodeGen/
H A DMachinePostDominators.h29 std::unique_ptr<PostDomTreeT> PDT; variable
37 if (!PDT) in getBase()
38 PDT.reset(new PostDomTreeT()); in getBase()
39 return *PDT; in getBase()
47 return PDT->getNode(BB);
51 return PDT->getNode(BB); in getNode()
56 return PDT->dominates(A, B); in dominates()
60 return PDT->dominates(A, B); in dominates()
65 return PDT->properlyDominates(A, B); in properlyDominates()
70 return PDT->properlyDominates(A, B); in properlyDominates()
[all …]
/llvm-project-15.0.7/llvm/unittests/IR/
H A DDominatorTreeTest.cpp34 PostDominatorTree PDT(*F); in runWithDomTree() local
35 Test(*F, &DT, &PDT); in runWithDomTree()
419 ASSERT_TRUE(PDT->dominates(PDT->getNode(D), PDT->getNode(B))); in TEST()
432 EXPECT_FALSE(PDT->dominates(PDT->getNode(D), PDT->getNode(B))); in TEST()
513 ASSERT_TRUE(PDT->dominates(PDT->getNode(D), PDT->getNode(B))); in TEST()
524 EXPECT_FALSE(PDT->dominates(PDT->getNode(D), PDT->getNode(B))); in TEST()
613 PDT->eraseNode(C2); in TEST()
619 EXPECT_FALSE(PDT->dominates(PDT->getNode(D), PDT->getNode(B))); in TEST()
723 EXPECT_TRUE(PDT.verify()); in TEST()
759 PDT.insertEdge(From, To); in TEST()
[all …]
H A DDominatorTreeBatchUpdatesTest.cpp99 EXPECT_TRUE(PDT.verify()); in TEST()
109 PDT.applyUpdates(Updates); in TEST()
110 EXPECT_TRUE(PDT.verify()); in TEST()
121 EXPECT_TRUE(PDT.verify()); in TEST()
131 PDT.applyUpdates(Updates); in TEST()
132 EXPECT_TRUE(PDT.verify()); in TEST()
147 EXPECT_TRUE(PDT.verify()); in TEST()
162 PDT.applyUpdates(Updates); in TEST()
163 EXPECT_TRUE(PDT.verify()); in TEST()
180 EXPECT_TRUE(PDT.verify()); in TEST()
[all …]
/llvm-project-15.0.7/llvm/lib/Analysis/
H A DDomTreeUpdater.cpp126 if (PDT) in recalculate()
142 if (PDT) in recalculate()
162 if (!PDT) in hasPendingPostDomTreeUpdates()
232 if (!DT && !PDT) in applyUpdates()
246 if (PDT) in applyUpdates()
252 if (!DT && !PDT) in applyUpdatesPermissive()
300 if (PDT) in applyUpdatesPermissive()
315 return *PDT; in getPostDomTree()
327 if (!PDT) in dropOutOfDateUpdates()
348 if (PDT) in dump()
[all …]
H A DLegacyDivergenceAnalysis.cpp99 PostDominatorTree &PDT, DenseSet<const Value *> &DV, in DivergencePropagator() argument
101 : F(F), TTI(TTI), DT(DT), PDT(PDT), DV(DV), DU(DU) {} in DivergencePropagator()
122 PostDominatorTree &PDT; member in __anon278c5f880111::DivergencePropagator
165 DomTreeNode *ThisNode = PDT.getNode(ThisBB); in exploreSyncDependency()
245 assert(PDT.properlyDominates(End, Start) && in computeInfluenceRegion()
338 auto &PDT = getAnalysis<PostDominatorTreeWrapperPass>().getPostDomTree(); in runOnFunction() local
343 gpuDA = std::make_unique<DivergenceInfo>(F, DT, PDT, LI, TTI, in runOnFunction()
348 DivergencePropagator DP(F, TTI, DT, PDT, DivergentValues, DivergentUses); in runOnFunction()
H A DSyncDependenceAnalysis.cpp251 const PostDominatorTree &PDT, in SyncDependenceAnalysis() argument
253 : DT(DT), PDT(PDT), LI(LI) { in SyncDependenceAnalysis()
264 const PostDominatorTree &PDT; member
279 const PostDominatorTree &PDT, const LoopInfo &LI, in DivergencePropagator()
281 : LoopPOT(LoopPOT), DT(DT), PDT(PDT), LI(LI), DivTermBlock(DivTermBlock), in DivergencePropagator()
462 DivergencePropagator Propagator(LoopPO, DT, PDT, LI, TermBlock); in getJoinBlocks()
H A DRegionInfo.cpp99 PDT = PDT_; in recalculate()
128 auto PDT = &getAnalysis<PostDominatorTreeWrapperPass>().getPostDomTree(); in runOnFunction() local
131 RI.recalculate(F, DT, PDT, DF); in runOnFunction()
191 auto *PDT = &AM.getResult<PostDominatorTreeAnalysis>(F); in run() local
194 RI.recalculate(F, DT, PDT, DF); in run()
H A DBranchProbabilityInfo.cpp743 const LoopBlock &LoopBB, DominatorTree *DT, PostDominatorTree *PDT, in propagateEstimatedBlockWeight() argument
748 const auto *PDTStartNode = PDT->getNode(BB); in propagateEstimatedBlockWeight()
755 if (!PDT->dominates(PDTStartNode, PDT->getNode(DomBB))) in propagateEstimatedBlockWeight()
820 const Function &F, DominatorTree *DT, PostDominatorTree *PDT) { in computeEestimateBlockWeight() argument
877 propagateEstimatedBlockWeight(LoopBB, DT, PDT, *MaxWeight, in computeEestimateBlockWeight()
1225 PostDominatorTree *PDT) { in calculate() argument
1244 if (!PDT) { in calculate()
1246 PDT = PDTPtr.get(); in calculate()
1249 computeEestimateBlockWeight(F, DT, PDT); in calculate()
1300 PostDominatorTree &PDT = in runOnFunction() local
[all …]
H A DDivergenceAnalysis.cpp347 const PostDominatorTree &PDT, const LoopInfo &LI, in DivergenceInfo() argument
360 SDA = std::make_unique<SyncDependenceAnalysis>(DT, PDT, LI); in DivergenceInfo()
384 auto &PDT = AM.getResult<PostDominatorTreeAnalysis>(F); in run() local
388 return DivergenceInfo(F, DT, PDT, LI, TTI, /* KnownReducible = */ false); in run()
/llvm-project-15.0.7/llvm/lib/CodeGen/
H A DMachinePostDominators.cpp32 : MachineFunctionPass(ID), PDT(nullptr) { in MachinePostDominatorTree()
41 PDT = std::make_unique<PostDomTreeT>(); in runOnMachineFunction()
42 PDT->recalculate(F); in runOnMachineFunction()
57 NCD = PDT->findNearestCommonDominator(NCD, BB); in findNearestCommonDominator()
60 if (PDT->isVirtualRoot(PDT->getNode(NCD))) in findNearestCommonDominator()
68 if (PDT && VerifyMachineDomInfo) in verifyAnalysis()
69 if (!PDT->verify(PostDomTreeT::VerificationLevel::Basic)) { in verifyAnalysis()
78 PDT->print(OS); in print()
H A DMachineRegionInfo.cpp64 PDT = PDT_; in recalculate()
88 auto PDT = &getAnalysis<MachinePostDominatorTree>(); in runOnMachineFunction() local
91 RI.recalculate(F, DT, PDT, DF); in runOnMachineFunction()
/llvm-project-15.0.7/llvm/lib/Transforms/Utils/
H A DCodeMoverUtils.cpp66 const PostDominatorTree &PDT,
110 const PostDominatorTree &PDT, unsigned MaxLookup) { in collectControlConditions() argument
135 if (PDT.dominates(CurBlock, IDom)) { in collectControlConditions()
254 PDT); in isControlFlowEquivalent()
260 PDT); in isControlFlowEquivalent()
314 if (!PDT || !DI) in isSafeToMoveBefore()
335 if (isReachedBefore(&I, &InsertPoint, &DT, PDT)) in isSafeToMoveBefore()
340 if (isReachedBefore(&InsertPoint, &I, &DT, PDT)) in isSafeToMoveBefore()
417 if (isSafeToMoveBefore(I, *MovePos, DT, &PDT, &DI)) in moveInstructionsToTheBeginning()
455 if (PDT->dominates(CurBlock, OtherBlock)) in nonStrictlyPostDominate()
[all …]
H A DBreakCriticalEdges.cpp53 auto *PDT = PDTWP ? &PDTWP->getPostDomTree() : nullptr; in runOnFunction() local
58 SplitAllCriticalEdges(F, CriticalEdgeSplittingOptions(DT, LI, nullptr, PDT)); in runOnFunction()
225 auto *PDT = Options.PDT; in SplitKnownCriticalEdge() local
231 if (!DT && !PDT && !LI) in SplitKnownCriticalEdge()
234 if (DT || PDT) { in SplitKnownCriticalEdge()
252 if (PDT) in SplitKnownCriticalEdge()
253 PDT->applyUpdates(Updates); in SplitKnownCriticalEdge()
/llvm-project-15.0.7/llvm/include/llvm/Transforms/Utils/
H A DCodeMoverUtils.h30 const PostDominatorTree &PDT);
37 const PostDominatorTree &PDT);
42 const PostDominatorTree *PDT = nullptr,
50 const PostDominatorTree *PDT = nullptr,
57 const PostDominatorTree &PDT,
63 DominatorTree &DT, const PostDominatorTree &PDT,
73 const PostDominatorTree *PDT);
77 const DominatorTree *DT, const PostDominatorTree *PDT);
H A DBasicBlockUtils.h144 PostDominatorTree *PDT; member
159 PostDominatorTree *PDT = nullptr)
160 : DT(DT), PDT(PDT), LI(LI), MSSAU(MSSAU) {} in DT()
/llvm-project-15.0.7/llvm/include/llvm/Analysis/
H A DDomTreeUpdater.h38 : PDT(&PDT_), Strategy(Strategy_) {} in DomTreeUpdater()
40 : PDT(PDT_), Strategy(Strategy_) {} in DomTreeUpdater()
43 : DT(&DT_), PDT(&PDT_), Strategy(Strategy_) {} in DomTreeUpdater()
46 : DT(DT_), PDT(PDT_), Strategy(Strategy_) {} in DomTreeUpdater()
60 bool hasPostDomTree() const { return PDT != nullptr; } in hasPostDomTree()
223 PostDominatorTree *PDT = nullptr; variable
H A DBranchProbabilityInfo.h120 PostDominatorTree *PDT = nullptr) {
121 calculate(F, LI, TLI, DT, PDT);
199 PostDominatorTree *PDT);
391 PostDominatorTree *PDT, uint32_t BBWeight,
400 PostDominatorTree *PDT);
H A DSyncDependenceAnalysis.h63 SyncDependenceAnalysis(const DominatorTree &DT, const PostDominatorTree &PDT,
83 const PostDominatorTree &PDT; variable
/llvm-project-15.0.7/llvm/unittests/Analysis/
H A DDomTreeUpdaterTest.cpp55 PostDominatorTree PDT(*F); in TEST() local
115 ASSERT_TRUE(PDT.verify()); in TEST()
123 ASSERT_TRUE(PDT.verify()); in TEST()
129 EXPECT_TRUE(PDT.verify()); in TEST()
143 ASSERT_FALSE(PDT.verify()); in TEST()
146 ASSERT_TRUE(PDT.verify()); in TEST()
166 PostDominatorTree PDT(*F); in TEST() local
173 ASSERT_TRUE(PDT.verify()); in TEST()
191 ASSERT_TRUE(PDT.verify()); in TEST()
204 ASSERT_TRUE(PDT.verify()); in TEST()
[all …]
/llvm-project-15.0.7/llvm/lib/Target/AMDGPU/
H A DSILowerI1Copies.cpp50 MachinePostDominatorTree *PDT = nullptr; member in __anone83803c50111::SILowerI1Copies
126 MachinePostDominatorTree &PDT; member in __anone83803c50111::PhiIncomingAnalysis
136 PhiIncomingAnalysis(MachinePostDominatorTree &PDT) : PDT(PDT) {} in PhiIncomingAnalysis() argument
180 if (Divergent && PDT.dominates(&DefBlock, MBB)) in analyze()
249 MachinePostDominatorTree &PDT; member in __anone83803c50111::LoopFinder
274 : DT(DT), PDT(PDT) {} in LoopFinder()
372 if (!PDT.dominates(VisitedPostDom, MBB)) in advanceLevel()
452 PDT = &getAnalysis<MachinePostDominatorTree>(); in runOnMachineFunction()
543 LoopFinder LF(*DT, *PDT); in lowerPhis()
544 PhiIncomingAnalysis PIA(*PDT); in lowerPhis()
[all …]
/llvm-project-15.0.7/llvm/lib/Transforms/Scalar/
H A DADCE.cpp121 PostDominatorTree &PDT; member in __anon4cd2add00111::AggressiveDeadCodeElimination
196 PostDominatorTree &PDT) in AggressiveDeadCodeElimination() argument
197 : F(F), DT(DT), PDT(PDT) {} in AggressiveDeadCodeElimination()
298 for (auto &PDTChild : children<DomTreeNode *>(PDT.getRootNode())) { in initialize()
488 ReverseIDFCalculator IDFs(PDT); in markLiveBranchesFromControlDependences()
636 DomTreeUpdater(DT, &PDT, DomTreeUpdater::UpdateStrategy::Eager) in updateDeadRegions()
695 auto &PDT = FAM.getResult<PostDominatorTreeAnalysis>(F); in run() local
696 if (!AggressiveDeadCodeElimination(F, DT, PDT).performDeadCodeElimination()) in run()
727 auto &PDT = getAnalysis<PostDominatorTreeWrapperPass>().getPostDomTree(); in runOnFunction() local
728 return AggressiveDeadCodeElimination(F, DT, PDT) in runOnFunction()
H A DLoopFuse.cpp182 const PostDominatorTree *PDT; member
193 Peeled(false), DT(DT), PDT(PDT), ORE(ORE) { in FusionCandidate()
549 PostDominatorTree &PDT; member
561 DT(DT), DI(DI), SE(SE), PDT(PDT), ORE(ORE), AC(AC), TTI(TTI) {} in LoopFuser()
617 assert(PDT.verify()); in fuseLoops()
638 DT, PDT); in isControlFlowEquivalent()
784 PDT.recalculate(*FC0.Preheader->getParent()); in peelFusionCandidate()
932 &PDT, &DI)) { in fuseCandidates()
1510 assert(PDT.verify()); in performFusion()
1580 DT, PDT, DI); in fuseGuardedLoops()
[all …]
H A DGuardWidening.cpp117 PostDominatorTree *PDT; member in __anon4a46d7eb0111::GuardWideningImpl
275 explicit GuardWideningImpl(DominatorTree &DT, PostDominatorTree *PDT, in GuardWideningImpl() argument
279 : DT(DT), PDT(PDT), LI(LI), MSSAU(MSSAU), Root(Root), in GuardWideningImpl()
457 if (!PDT) return true; in computeWideningScore()
458 return !PDT->dominates(DominatedBlock, DominatingBlock); in computeWideningScore()
766 auto &PDT = AM.getResult<PostDominatorTreeAnalysis>(F); in run() local
771 if (!GuardWideningImpl(DT, &PDT, LI, MSSAU ? MSSAU.get() : nullptr, in run()
817 auto &PDT = getAnalysis<PostDominatorTreeWrapperPass>().getPostDomTree(); in runOnFunction() local
822 return GuardWideningImpl(DT, &PDT, LI, MSSAU ? MSSAU.get() : nullptr, in runOnFunction()
852 auto *PDT = PDTWP ? &PDTWP->getPostDomTree() : nullptr; in runOnLoop() local
[all …]

123