Home
last modified time | relevance | path

Searched refs:MDT (Results 1 – 25 of 81) sorted by relevance

1234

/freebsd/contrib/llvm-project/llvm/lib/Target/WebAssembly/
H A DWebAssemblyExceptionInfo.cpp49 auto &MDT = getAnalysis<MachineDominatorTreeWrapperPass>().getDomTree(); in INITIALIZE_PASS_DEPENDENCY() local
51 recalculate(MF, MDT, MDF); in INITIALIZE_PASS_DEPENDENCY()
61 const MachineDominatorTree &MDT) { in isReachableAmongDominated() argument
62 assert(MDT.dominates(Header, Dst)); in isReachableAmongDominated()
73 if (!Visited.count(Succ) && MDT.dominates(Header, Succ)) in isReachableAmongDominated()
80 MachineFunction &MF, MachineDominatorTree &MDT, in recalculate() argument
84 for (auto *DomNode : post_order(&MDT)) { in recalculate()
89 discoverAndMapException(WE.get(), MDT, MDF); in recalculate()
128 for (auto *DomNode : depth_first(&MDT)) { in recalculate()
167 for (auto *DomNode : depth_first(&MDT)) { in recalculate()
[all …]
H A DWebAssemblyMemIntrinsicResults.cpp87 MachineDominatorTree &MDT, in replaceDominatedUses() argument
104 if (&MI == Where || !MDT.dominates(&MI, Where)) in replaceDominatedUses()
150 MachineDominatorTree &MDT, LiveIntervals &LIS, in optimizeCall() argument
173 return replaceDominatedUses(MBB, MI, FromReg, ToReg, MRI, MDT, LIS); in optimizeCall()
183 auto &MDT = getAnalysis<MachineDominatorTreeWrapperPass>().getDomTree(); in runOnMachineFunction() local
204 Changed |= optimizeCall(MBB, MI, MRI, MDT, LIS, TLI, LibInfo); in runOnMachineFunction()
H A DWebAssemblyCFGSort.cpp189 const MachineDominatorTree &MDT) { in sortBlocks() argument
288 !MDT.dominates(Entries.back().TheRegion->getHeader(), Next)) { in sortBlocks()
319 !MDT.dominates(Entries.back().TheRegion->getHeader(), Next)) { in sortBlocks()
390 auto &MDT = getAnalysis<MachineDominatorTreeWrapperPass>().getDomTree(); in runOnMachineFunction() local
395 sortBlocks(MF, MLI, WEI, MDT); in runOnMachineFunction()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DLazyMachineBlockFrequencyInfo.cpp65 auto *MDT = MDTWrapper ? &MDTWrapper->getDomTree() : nullptr; in calculateIfNotAvailable() local
72 LLVM_DEBUG(if (MDT) dbgs() << "DominatorTree is available\n"); in calculateIfNotAvailable()
74 if (!MDT) { in calculateIfNotAvailable()
78 MDT = OwnedMDT.get(); in calculateIfNotAvailable()
83 OwnedMLI->analyze(MDT->getBase()); in calculateIfNotAvailable()
H A DShrinkWrap.cpp117 MachineDominatorTree *MDT = nullptr; member in __anon8a4a73dd0111::ShrinkWrap
228 MDT = &getAnalysis<MachineDominatorTreeWrapperPass>().getDomTree(); in init()
606 !MDT->dominates(InitSave, InitRestore) || in postShrinkWrapping()
642 FindIDom<>(**DirtyPreds.begin(), DirtyPreds, *MDT, false); in postShrinkWrapping()
649 NewSave = FindIDom<>(**NewSave->pred_begin(), NewSave->predecessors(), *MDT, in postShrinkWrapping()
673 MDT->recalculate(MF); in postShrinkWrapping()
676 assert((MDT->dominates(Save, Restore) && MPDT->dominates(Restore, Save)) && in postShrinkWrapping()
692 Save = MDT->findNearestCommonDominator(Save, &MBB); in updateSaveRestorePoints()
740 (!(SaveDominatesRestore = MDT->dominates(Save, Restore)) || in updateSaveRestorePoints()
762 Save = MDT->findNearestCommonDominator(Save, Restore); in updateSaveRestorePoints()
[all …]
H A DUnreachableBlockElim.cpp103 MachineDominatorTree *MDT = MDTWrapper ? &MDTWrapper->getDomTree() : nullptr; in runOnMachineFunction() local
122 if (MDT && MDT->getNode(&BB)) MDT->eraseNode(&BB); in runOnMachineFunction()
H A DXRayInstrumentation.cpp175 auto *MDT = MDTWrapper ? &MDTWrapper->getDomTree() : nullptr; in runOnMachineFunction() local
177 if (!MDT) { in runOnMachineFunction()
179 MDT = &ComputedMDT; in runOnMachineFunction()
187 ComputedMLI.analyze(MDT->getBase()); in runOnMachineFunction()
H A DInlineSpiller.cpp84 MachineDominatorTree &MDT; member in __anon2f89086e0111::HoistSpillHelper
136 MDT(pass.getAnalysis<MachineDominatorTreeWrapperPass>().getDomTree()), in HoistSpillHelper()
154 MachineDominatorTree &MDT; member in __anon2f89086e0111::InlineSpiller
194 MDT(Pass.getAnalysis<MachineDominatorTreeWrapperPass>().getDomTree()), in InlineSpiller()
1384 MachineDomTreeNode *Node = MDT.getNode(Block); in rmRedundantSpills()
1392 SpillBBToSpill[MDT.getNode(Block)] = SpillToKeep; in rmRedundantSpills()
1394 SpillBBToSpill[MDT.getNode(Block)] = CurrentSpill; in rmRedundantSpills()
1423 MachineDomTreeNode *RootIDomNode = MDT[Root]->getIDom(); in getVisitOrders()
1433 MachineDomTreeNode *Node = MDT[Block]; in getVisitOrders()
1438 if (Node != MDT[Block] && SpillBBToSpill[Node]) { in getVisitOrders()
[all …]
H A DSplitKit.cpp360 MachineDominatorTree &MDT, in SplitEditor() argument
363 MDT(MDT), TII(*VRM.getMachineFunction().getSubtarget().getInstrInfo()), in SplitEditor()
375 LICalc[0].reset(&VRM.getMachineFunction(), LIS.getSlotIndexes(), &MDT, in reset()
378 LICalc[1].reset(&VRM.getMachineFunction(), LIS.getSlotIndexes(), &MDT, in reset()
908 assert(MDT.dominates(DefMBB, MBB) && "MBB must be dominated by the def."); in findShallowDominator()
912 MachineDomTreeNode *DefDomNode = MDT[DefMBB]; in findShallowDominator()
950 MachineDomTreeNode *IDom = MDT[Loop->getHeader()]->getIDom(); in findShallowDominator()
953 if (!IDom || !MDT.dominates(DefDomNode, IDom)) in findShallowDominator()
993 } else if (MDT.dominates(MBB1, MBB2)) { in computeRedundantBackCopies()
995 } else if (MDT.dominates(MBB2, MBB1)) { in computeRedundantBackCopies()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/ARC/
H A DARCOptAddrMode.cpp73 MachineDominatorTree *MDT = nullptr; member in __anon13eab7f40111::ARCOptAddrMode
151 MachineDominatorTree *MDT, in dominatesAllUsesOf() argument
164 if (!MDT->dominates(InstBB, MBB)) in dominatesAllUsesOf()
171 if (!MDT->dominates(MI, User)) in dominatesAllUsesOf()
195 return dominatesAllUsesOf(Ldst, R, MDT, MRI); in noUseOfAddBeforeLoadOrStore()
247 if (MDT->dominates(Last, First)) std::swap(First, Last); in tryToCombine()
281 if (MDT->dominates(Ldst, Add)) in canJoinInstructions()
283 else if (!MDT->dominates(Add, Ldst)) in canJoinInstructions()
318 if (&MI != Add && MDT->dominates(Ldst, &MI)) in canJoinInstructions()
320 else if (!MDT->dominates(&MI, Ldst)) in canJoinInstructions()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/GISel/
H A DRISCVPreLegalizerCombiner.cpp54 const RISCVSubtarget &STI, MachineDominatorTree *MDT,
75 const RISCVSubtarget &STI, MachineDominatorTree *MDT, in RISCVPreLegalizerCombinerImpl() argument
78 Helper(Observer, B, /*IsPreLegalize*/ true, &KB, MDT, LI), in RISCVPreLegalizerCombinerImpl()
145 MachineDominatorTree *MDT = in runOnMachineFunction() local
151 ST, MDT, LI); in runOnMachineFunction()
H A DRISCVPostLegalizerCombiner.cpp59 const RISCVSubtarget &STI, MachineDominatorTree *MDT,
80 const RISCVSubtarget &STI, MachineDominatorTree *MDT, in RISCVPostLegalizerCombinerImpl() argument
83 Helper(Observer, B, /*IsPreLegalize*/ false, &KB, MDT, LI), in RISCVPostLegalizerCombinerImpl()
146 MachineDominatorTree *MDT = in runOnMachineFunction() local
156 RuleConfig, ST, MDT, LI); in runOnMachineFunction()
/freebsd/contrib/llvm-project/llvm/lib/Target/Mips/
H A DMipsPostLegalizerCombiner.cpp54 const MipsSubtarget &STI, MachineDominatorTree *MDT,
75 const MipsSubtarget &STI, MachineDominatorTree *MDT, in MipsPostLegalizerCombinerImpl() argument
78 Helper(Observer, B, /*IsPreLegalize*/ false, &KB, MDT, LI), in MipsPostLegalizerCombinerImpl()
141 MachineDominatorTree *MDT = in runOnMachineFunction() local
147 RuleConfig, ST, MDT, LI); in runOnMachineFunction()
H A DMipsPreLegalizerCombiner.cpp48 MachineDominatorTree *MDT, in MipsPreLegalizerCombinerImpl() argument
51 Helper(Observer, B, /*IsPreLegalize*/ true, &KB, MDT, LI) {} in MipsPreLegalizerCombinerImpl()
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DSILateBranchLowering.cpp31 MachineDominatorTree *MDT = nullptr; member in __anon03252fca0111::SILateBranchLowering
106 MachineDominatorTree *MDT) { in splitBlock() argument
117 MDT->getBase().applyUpdates(DTUpdates); in splitBlock()
142 splitBlock(MBB, *BranchMI, MDT); in earlyTerm()
145 MDT->getBase().insertEdge(&MBB, EarlyExitBlock); in earlyTerm()
152 MDT = &getAnalysis<MachineDominatorTreeWrapperPass>().getDomTree(); in runOnMachineFunction()
241 MDT->getBase().insertEdge(MBB, EmptyMBBAtEnd); in runOnMachineFunction()
H A DSIFixSGPRCopies.cpp122 MachineDominatorTree *MDT; member in __anon8637e2150111::SIFixSGPRCopies
409 MachineDominatorTree &MDT) { in isReachable() argument
410 if (MDT.dominates(From, To)) in isReachable()
440 MachineDominatorTree &MDT, in hoistAndMergeSGPRInits() argument
482 assert(MDT.dominates(&*To, &*From)); in hoistAndMergeSGPRInits()
484 auto interferes = [&MDT, From, To](MachineInstr* &Clobber) -> bool { in hoistAndMergeSGPRInits()
487 bool MayClobberFrom = isReachable(Clobber, &*From, MBBTo, MDT); in hoistAndMergeSGPRInits()
488 bool MayClobberTo = isReachable(Clobber, &*To, MBBTo, MDT); in hoistAndMergeSGPRInits()
499 MDT.dominates(Clobber, &*From) && in hoistAndMergeSGPRInits()
500 MDT.dominates(Clobber, &*To)) || in hoistAndMergeSGPRInits()
[all …]
H A DSILowerControlFlow.cpp77 MachineDominatorTree *MDT = nullptr; member in __anon0c226a110111::SILowerControlFlow
500 if (MDT && SplitBB != &MBB) { in emitEndCf()
501 MachineDomTreeNode *MBBNode = (*MDT)[&MBB]; in emitEndCf()
504 MachineDomTreeNode *SplitBBNode = MDT->addNewBlock(SplitBB, &MBB); in emitEndCf()
506 MDT->changeImmediateDominator(Child, SplitBBNode); in emitEndCf()
732 if (MDT) { in removeMBBifRedundant()
736 if (MDT->dominates(&MBB, Succ)) in removeMBBifRedundant()
737 MDT->changeImmediateDominator(MDT->getNode(Succ), in removeMBBifRedundant()
738 MDT->getNode(&MBB)->getIDom()); in removeMBBifRedundant()
739 MDT->eraseNode(&MBB); in removeMBBifRedundant()
[all …]
H A DAMDGPUPreLegalizerCombiner.cpp56 const GCNSubtarget &STI, MachineDominatorTree *MDT,
95 const GCNSubtarget &STI, MachineDominatorTree *MDT, const LegalizerInfo *LI) in AMDGPUPreLegalizerCombinerImpl() argument
97 Helper(Observer, B, /*IsPreLegalize*/ true, &KB, MDT, LI), in AMDGPUPreLegalizerCombinerImpl()
274 MachineDominatorTree *MDT = in runOnMachineFunction() local
280 STI, MDT, STI.getLegalizerInfo()); in runOnMachineFunction()
H A DAMDGPURegBankCombiner.cpp60 const GCNSubtarget &STI, MachineDominatorTree *MDT,
117 const GCNSubtarget &STI, MachineDominatorTree *MDT, const LegalizerInfo *LI) in AMDGPURegBankCombinerImpl() argument
121 Helper(Observer, B, /*IsPreLegalize*/ false, &KB, MDT, LI), in AMDGPURegBankCombinerImpl()
451 MachineDominatorTree *MDT = in runOnMachineFunction() local
458 RuleConfig, ST, MDT, LI); in runOnMachineFunction()
H A DAMDGPUPostLegalizerCombiner.cpp58 const GCNSubtarget &STI, MachineDominatorTree *MDT,
134 const GCNSubtarget &STI, MachineDominatorTree *MDT, const LegalizerInfo *LI) in AMDGPUPostLegalizerCombinerImpl() argument
137 Helper(Observer, B, /*IsPreLegalize*/ false, &KB, MDT, LI), in AMDGPUPostLegalizerCombinerImpl()
496 MachineDominatorTree *MDT = in runOnMachineFunction() local
504 RuleConfig, ST, MDT, LI); in runOnMachineFunction()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/LiveDebugValues/
H A DLiveDebugValues.cpp85 MachineDominatorTree MDT; member in __anonb73615310111::LiveDebugValues
122 DomTree = &MDT; in runOnMachineFunction()
123 MDT.calculate(MF); in runOnMachineFunction()
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DMachineLoopInfo.h111 explicit MachineLoopInfo(MachineDominatorTree &MDT) { calculate(MDT); } in MachineLoopInfo() argument
132 void calculate(MachineDominatorTree &MDT);
/freebsd/contrib/llvm-project/llvm/lib/Target/PowerPC/
H A DPPCCTRLoopsVerify.cpp65 MachineDominatorTree *MDT; member
163 MDT = &getAnalysis<MachineDominatorTreeWrapperPass>().getDomTree(); in runOnMachineFunction()
168 if (!MDT->isReachableFromEntry(&MBB)) in runOnMachineFunction()
/freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/
H A DRDFCopy.h28 CopyPropagation(DataFlowGraph &dfg) : MDT(dfg.getDT()), DFG(dfg), in CopyPropagation()
42 const MachineDominatorTree &MDT;
H A DHexagonEarlyIfConv.cpp217 MachineDominatorTree *MDT = nullptr; member in __anon363a33cb0111::HexagonEarlyIfConversion
235 return L && SB == L->getHeader() && MDT->dominates(B, SB); in isPreheader()
278 if (!MDT->properlyDominates(B, TB) || !MDT->properlyDominates(B, FB)) in matchFlowPattern()
602 MachineDomTreeNode *N = MDT->getNode(B); in visitBlock()
956 MachineDomTreeNode *N = MDT->getNode(B); in removeBlock()
967 MDT->changeImmediateDominator(SB, IDB); in removeBlock()
978 MDT->eraseNode(B); in removeBlock()
1057 MDT = &getAnalysis<MachineDominatorTreeWrapperPass>().getDomTree(); in runOnMachineFunction()

1234