Home
last modified time | relevance | path

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

123

/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DGenericDomTreeUpdaterImpl.h32 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 DGenericDomTreeUpdater.h41 : 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 DBranchProbabilityInfo.h120 PostDominatorTree *PDT = nullptr) {
121 calculate(F, LI, TLI, DT, PDT);
209 PostDominatorTree *PDT);
404 PostDominatorTree *PDT, uint32_t BBWeight,
413 PostDominatorTree *PDT);
H A DRegionInfo.h697 : 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 DCodeMoverUtils.cpp65 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 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()
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DCodeMoverUtils.h33 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 DBasicBlockUtils.h147 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 DMachinePostDominators.cpp66 : 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 DMachineRegionInfo.cpp64 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 DSILowerI1Copies.cpp63 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 DAMDGPUUnifyDivergentExitNodes.cpp71 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 DAMDGPUGlobalISelDivergenceLowering.cpp59 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 DSILowerI1Copies.h40 MachinePostDominatorTree *PDT);
47 MachinePostDominatorTree *PDT = nullptr; variable
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DMachinePostDominators.h91 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 DLoopFuse.cpp182 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 DADCE.cpp126 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 DJumpTableToSwitch.cpp150 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 DGuardWidening.cpp136 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 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.cpp733 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 DPostDominators.cpp100 PostDominatorTree PDT(F); in run() local
101 return PDT; in run()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/IPO/
H A DHotColdSplitting.cpp498 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 DMemCpyOptimizer.h48 PostDominatorTree *PDT = nullptr; variable
59 AssumptionCache *AC, DominatorTree *DT, PostDominatorTree *PDT,
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/
H A DAArch64StackTagging.cpp554 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()

123