| /llvm-project-15.0.7/llvm/unittests/Transforms/Utils/ |
| H A D | CodeMoverUtilsTest.cpp | 39 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 D | LocalTest.cpp | 238 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 D | MachinePostDominators.h | 29 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 D | DominatorTreeTest.cpp | 34 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 D | DominatorTreeBatchUpdatesTest.cpp | 99 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 D | DomTreeUpdater.cpp | 126 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 D | LegacyDivergenceAnalysis.cpp | 99 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 D | SyncDependenceAnalysis.cpp | 251 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 D | RegionInfo.cpp | 99 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 D | BranchProbabilityInfo.cpp | 743 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 D | DivergenceAnalysis.cpp | 347 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 D | MachinePostDominators.cpp | 32 : 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 D | MachineRegionInfo.cpp | 64 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 D | CodeMoverUtils.cpp | 66 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 D | BreakCriticalEdges.cpp | 53 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 D | CodeMoverUtils.h | 30 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 D | BasicBlockUtils.h | 144 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 D | DomTreeUpdater.h | 38 : 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 D | BranchProbabilityInfo.h | 120 PostDominatorTree *PDT = nullptr) { 121 calculate(F, LI, TLI, DT, PDT); 199 PostDominatorTree *PDT); 391 PostDominatorTree *PDT, uint32_t BBWeight, 400 PostDominatorTree *PDT);
|
| H A D | SyncDependenceAnalysis.h | 63 SyncDependenceAnalysis(const DominatorTree &DT, const PostDominatorTree &PDT, 83 const PostDominatorTree &PDT; variable
|
| /llvm-project-15.0.7/llvm/unittests/Analysis/ |
| H A D | DomTreeUpdaterTest.cpp | 55 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 D | SILowerI1Copies.cpp | 50 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 D | ADCE.cpp | 121 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 D | LoopFuse.cpp | 182 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 D | GuardWidening.cpp | 117 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 …]
|