/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/ |
H A D | GenericDomTreeUpdaterImpl.h | 32 if (PDT) in recalculate() 33 PDT->recalculate(F); in recalculate() 48 if (PDT) in recalculate() 49 PDT->recalculate(F); in recalculate() 60 if (!DT && !PDT) in applyUpdates() 74 if (PDT) in applyUpdates() 75 PDT->applyUpdates(Updates); in applyUpdates() 81 if (!DT && !PDT) in applyUpdatesPermissive() 129 if (PDT) in applyUpdatesPermissive() 130 PDT->applyUpdates(DeduplicatedUpdates); in applyUpdatesPermissive() [all …]
|
H A D | GenericDomTreeUpdater.h | 41 : PDT(&PDT_), Strategy(Strategy_) {} in GenericDomTreeUpdater() 43 : PDT(PDT_), Strategy(Strategy_) {} in GenericDomTreeUpdater() 46 : DT(&DT_), PDT(&PDT_), Strategy(Strategy_) {} in GenericDomTreeUpdater() 49 : DT(DT_), PDT(PDT_), Strategy(Strategy_) {} in GenericDomTreeUpdater() 67 bool hasPostDomTree() const { return PDT != nullptr; } in hasPostDomTree() 103 if (!PDT) in hasPendingPostDomTreeUpdates() 212 PostDomTreeT *PDT = nullptr; variable
|
H A D | BranchProbabilityInfo.h | 120 PostDominatorTree *PDT = nullptr) { 121 calculate(F, LI, TLI, DT, PDT); 209 PostDominatorTree *PDT); 404 PostDominatorTree *PDT, uint32_t BBWeight, 413 PostDominatorTree *PDT);
|
H A D | RegionInfo.h | 697 : DT(std::move(Arg.DT)), PDT(std::move(Arg.PDT)), DF(std::move(Arg.DF)), 705 PDT = std::move(RHS.PDT); 716 PostDomTreeT *PDT; 746 PDT = nullptr; 925 void recalculate(Function &F, DominatorTree *DT, PostDominatorTree *PDT,
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
H A D | CodeMoverUtils.cpp | 65 const PostDominatorTree &PDT, 111 const PostDominatorTree &PDT, in collectControlConditions() argument 137 if (PDT.dominates(CurBlock, IDom)) { in collectControlConditions() 141 } else if (PDT.dominates(CurBlock, BI->getSuccessor(0))) { in collectControlConditions() 147 } else if (PDT.dominates(CurBlock, BI->getSuccessor(1))) { in collectControlConditions() 233 const PostDominatorTree &PDT) { in isControlFlowEquivalent() argument 234 return isControlFlowEquivalent(*I0.getParent(), *I1.getParent(), DT, PDT); in isControlFlowEquivalent() 239 const PostDominatorTree &PDT) { in isControlFlowEquivalent() argument 243 if ((DT.dominates(&BB0, &BB1) && PDT.dominates(&BB1, &BB0)) || in isControlFlowEquivalent() 244 (PDT.dominates(&BB0, &BB1) && DT.dominates(&BB1, &BB0))) in isControlFlowEquivalent() [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()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/ |
H A D | CodeMoverUtils.h | 33 const PostDominatorTree &PDT); 40 const PostDominatorTree &PDT); 45 const PostDominatorTree *PDT = nullptr, 53 const PostDominatorTree *PDT = nullptr, 60 const PostDominatorTree &PDT, 66 DominatorTree &DT, const PostDominatorTree &PDT, 76 const PostDominatorTree *PDT); 80 const DominatorTree *DT, const PostDominatorTree *PDT);
|
H A D | BasicBlockUtils.h | 147 PostDominatorTree *PDT; member 162 PostDominatorTree *PDT = nullptr) 163 : DT(DT), PDT(PDT), LI(LI), MSSAU(MSSAU) {} in DT()
|
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
H A D | MachinePostDominators.cpp | 66 : MachineFunctionPass(ID), PDT() { in MachinePostDominatorTreeWrapperPass() 73 PDT = MachinePostDominatorTree(); in runOnMachineFunction() 74 PDT->recalculate(F); in runOnMachineFunction() 112 if (VerifyMachineDomInfo && PDT && in verifyAnalysis() 113 !PDT->verify(MachinePostDominatorTree::VerificationLevel::Basic)) in verifyAnalysis() 119 PDT->print(OS); in print()
|
H A D | MachineRegionInfo.cpp | 64 PDT = PDT_; in recalculate() 88 auto PDT = in runOnMachineFunction() local 92 RI.recalculate(F, DT, PDT, DF); in runOnMachineFunction()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
H A D | SILowerI1Copies.cpp | 63 MachinePostDominatorTree *PDT); 93 MachinePostDominatorTree *PDT) in Vreg1LoweringHelper() argument 94 : PhiLoweringHelper(MF, DT, PDT) {} in Vreg1LoweringHelper() 128 MachinePostDominatorTree &PDT; member in __anon952a5e950111::PhiIncomingAnalysis 139 PhiIncomingAnalysis(MachinePostDominatorTree &PDT, const SIInstrInfo *TII) in PhiIncomingAnalysis() argument 140 : PDT(PDT), TII(TII) {} in PhiIncomingAnalysis() 173 if (TII->hasDivergentBranch(MBB) && PDT.dominates(&DefBlock, MBB)) in analyze() 242 MachinePostDominatorTree &PDT; member in __anon952a5e950111::LoopFinder 266 LoopFinder(MachineDominatorTree &DT, MachinePostDominatorTree &PDT) in LoopFinder() argument 267 : DT(DT), PDT(PDT) {} in LoopFinder() [all …]
|
H A D | AMDGPUUnifyDivergentExitNodes.cpp | 71 bool run(Function &F, DominatorTree *DT, const PostDominatorTree &PDT, 189 const PostDominatorTree &PDT, in run() argument 193 if (PDT.root_size() == 0 || in run() 194 (PDT.root_size() == 1 && in run() 195 !isa<BranchInst>(PDT.getRoot()->getTerminator()))) in run() 216 PDT.roots(), [&](auto BB) { return !isUniformlyReached(UA, *BB); }); in run() 218 for (BasicBlock *BB : PDT.roots()) { in run() 335 const auto &PDT = in runOnFunction() local 340 return AMDGPUUnifyDivergentExitNodesImpl(TranformInfo).run(F, DT, PDT, UA); in runOnFunction() 350 const auto &PDT = AM.getResult<PostDominatorTreeAnalysis>(F); in run() local [all …]
|
H A D | AMDGPUGlobalISelDivergenceLowering.cpp | 59 MachinePostDominatorTree *PDT, 85 MachinePostDominatorTree *PDT, MachineUniformityInfo *MUI) in DivergenceLoweringHelper() argument 86 : PhiLoweringHelper(MF, DT, PDT), MUI(MUI), B(*MF) {} in DivergenceLoweringHelper() 214 MachinePostDominatorTree &PDT = in runOnMachineFunction() local 219 DivergenceLoweringHelper Helper(&MF, &DT, &PDT, &MUI); in runOnMachineFunction()
|
H A D | SILowerI1Copies.h | 40 MachinePostDominatorTree *PDT); 47 MachinePostDominatorTree *PDT = nullptr; variable
|
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/ |
H A D | MachinePostDominators.h | 91 std::optional<MachinePostDominatorTree> PDT; variable 98 MachinePostDominatorTree &getPostDomTree() { return *PDT; } in getPostDomTree() 99 const MachinePostDominatorTree &getPostDomTree() const { return *PDT; } in getPostDomTree() 103 void releaseMemory() override { PDT.reset(); } in releaseMemory()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | LoopFuse.cpp | 182 const PostDominatorTree *PDT; member 186 FusionCandidate(Loop *L, DominatorTree &DT, const PostDominatorTree *PDT, in FusionCandidate() 192 Peeled(false), DT(DT), PDT(PDT), ORE(ORE) { in FusionCandidate() 405 assert(DT && LHS.PDT && "Expecting valid dominator tree"); in operator ()() 411 assert(LHS.PDT->dominates(LHSEntryBlock, RHSEntryBlock)); in operator ()() 417 assert(LHS.PDT->dominates(RHSEntryBlock, LHSEntryBlock)); in operator ()() 426 nonStrictlyPostDominate(LHSEntryBlock, RHSEntryBlock, DT, LHS.PDT); in operator ()() 428 nonStrictlyPostDominate(RHSEntryBlock, LHSEntryBlock, DT, LHS.PDT); in operator ()() 433 DomTreeNode *LNode = LHS.PDT->getNode(LHSEntryBlock); in operator ()() 434 DomTreeNode *RNode = LHS.PDT->getNode(RHSEntryBlock); in operator ()() [all …]
|
H A D | ADCE.cpp | 126 PostDominatorTree &PDT; member in __anonf15092a00111::AggressiveDeadCodeElimination 201 PostDominatorTree &PDT) in AggressiveDeadCodeElimination() argument 202 : F(F), DT(DT), PDT(PDT) {} in AggressiveDeadCodeElimination() 303 for (const auto &PDTChild : children<DomTreeNode *>(PDT.getRootNode())) { in initialize() 493 ReverseIDFCalculator IDFs(PDT); in markLiveBranchesFromControlDependences() 667 DomTreeUpdater(DT, &PDT, DomTreeUpdater::UpdateStrategy::Eager) in updateDeadRegions() 726 auto &PDT = FAM.getResult<PostDominatorTreeAnalysis>(F); in run() local 728 AggressiveDeadCodeElimination(F, DT, PDT).performDeadCodeElimination(); in run()
|
H A D | JumpTableToSwitch.cpp | 150 PostDominatorTree *PDT = AM.getCachedResult<PostDominatorTreeAnalysis>(F); in run() local 151 DomTreeUpdater DTU(DT, PDT, DomTreeUpdater::UpdateStrategy::Lazy); in run() 187 if (PDT) in run()
|
H A D | GuardWidening.cpp | 136 PostDominatorTree *PDT; member in __anonfd3b26bb0111::GuardWideningImpl 322 explicit GuardWideningImpl(DominatorTree &DT, PostDominatorTree *PDT, in GuardWideningImpl() argument 326 : DT(DT), PDT(PDT), LI(LI), AC(AC), MSSAU(MSSAU), Root(Root), in GuardWideningImpl() 556 if (!PDT) in computeWideningScore() 558 return !PDT->dominates(DominatedBlock, DominatingBlock); in computeWideningScore() 993 auto &PDT = AM.getResult<PostDominatorTreeAnalysis>(F); in run() local 999 if (!GuardWideningImpl(DT, &PDT, LI, AC, MSSAU ? MSSAU.get() : nullptr, in run()
|
/freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
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 | 733 const LoopBlock &LoopBB, DominatorTree *DT, PostDominatorTree *PDT, in propagateEstimatedBlockWeight() argument 738 const auto *PDTStartNode = PDT->getNode(BB); in propagateEstimatedBlockWeight() 745 if (!PDT->dominates(PDTStartNode, PDT->getNode(DomBB))) in propagateEstimatedBlockWeight() 807 const Function &F, DominatorTree *DT, PostDominatorTree *PDT) { in computeEestimateBlockWeight() argument 819 propagateEstimatedBlockWeight(getLoopBlock(BB), DT, PDT, *BBWeight, in computeEestimateBlockWeight() 867 propagateEstimatedBlockWeight(LoopBB, DT, PDT, *MaxWeight, in computeEestimateBlockWeight() 1226 PostDominatorTree *PDT) { in calculate() argument 1245 if (!PDT) { in calculate() 1247 PDT = PDTPtr.get(); in calculate() 1250 computeEestimateBlockWeight(F, DT, PDT); in calculate() [all …]
|
H A D | PostDominators.cpp | 100 PostDominatorTree PDT(F); in run() local 101 return PDT; in run()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/IPO/ |
H A D | HotColdSplitting.cpp | 498 const PostDominatorTree &PDT) { in create() argument 520 bool SinkPostDom = PDT.dominates(&SinkBB, &PredBB); in create() 661 std::unique_ptr<PostDominatorTree> PDT; in outlineColdRegions() local 699 if (!PDT) in outlineColdRegions() 700 PDT = std::make_unique<PostDominatorTree>(F); in outlineColdRegions() 702 auto Regions = OutliningRegion::create(*BB, *DT, *PDT); in outlineColdRegions() 750 if ((DT->dominates(BB, Block) && PDT->dominates(Block, BB)) || in outlineColdRegions() 751 (PDT->dominates(BB, Block) && DT->dominates(Block, BB))) in outlineColdRegions()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/ |
H A D | MemCpyOptimizer.h | 48 PostDominatorTree *PDT = nullptr; variable 59 AssumptionCache *AC, DominatorTree *DT, PostDominatorTree *PDT,
|
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/ |
H A D | AArch64StackTagging.cpp | 554 PostDominatorTree *PDT = nullptr; in runOnFunction() local 556 PDT = &P->getPostDomTree(); in runOnFunction() 558 if (PDT == nullptr) { in runOnFunction() 560 PDT = DeletePDT.get(); in runOnFunction() 618 if (!DT || !PDT || in runOnFunction() 619 !memtag::forAllReachableExits(*DT, *PDT, *LI, Start, Info.LifetimeEnd, in runOnFunction()
|