Home
last modified time | relevance | path

Searched refs:UseMI (Results 1 – 25 of 72) sorted by relevance

123

/freebsd-13.1/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DSIFoldOperands.cpp24 MachineInstr *UseMI; member
182 if (TII->isMUBUF(UseMI)) in frameIndexMayFold()
185 if (!TII->isFLATScratch(UseMI)) in frameIndexMayFold()
206 MachineInstr *MI = Fold.UseMI; in updateOperand()
327 if (Candidate.UseMI == MI) in isUseMIInFoldList()
606 MachineInstr *UseMI, in foldOperand() argument
624 if (UseMI->isRegSequence()) { in foldOperand()
735 UseMI->RemoveOperand(UseMI->getOperandNo(Tmp)); in foldOperand()
1223 for (auto &UseMI : in foldInstOperand() local
1288 foldOperand(OpToFold, UseMI, UseMI->getOperandNo(U), in foldInstOperand()
[all …]
H A DSIOptimizeVGPRLiveRange.cpp205 if (UseMI.getParent() == MBB && !UseMI.isPHI()) in findNonPHIUsesInBlock()
206 Uses.push_back(&UseMI); in findNonPHIUsesInBlock()
295 auto *UseMI = I->getParent(); in collectCandidateRegisters() local
296 auto *UseMBB = UseMI->getParent(); in collectCandidateRegisters()
298 if (!UseMI->isPHI()) in collectCandidateRegisters()
397 auto *UseMI = I->getParent(); in updateLiveRangeInThenRegion() local
398 if (UseMI->isPHI() && I->readsReg()) { in updateLiveRangeInThenRegion()
493 auto *UseMI = O.getParent(); in optimizeLiveRange() local
494 auto *UseBlock = UseMI->getParent(); in optimizeLiveRange()
526 auto *UseMI = O.getParent(); in optimizeWaterfallLiveRange() local
[all …]
H A DSIFixSGPRCopies.cpp186 const auto *UseMI = MO.getParent(); in tryChangeVGPRtoSGPRinCopy() local
187 if (UseMI == &MI) in tryChangeVGPRtoSGPRinCopy()
193 unsigned OpIdx = UseMI->getOperandNo(&MO); in tryChangeVGPRtoSGPRinCopy()
195 !TII->isOperandLegal(*UseMI, OpIdx, &Src)) in tryChangeVGPRtoSGPRinCopy()
789 AllAGPRUses &= (UseMI->isCopy() && in processPHINode()
792 if (UseMI->isCopy() || UseMI->isRegSequence()) { in processPHINode()
793 if (UseMI->isCopy() && in processPHINode()
798 if (Visited.insert(UseMI).second) in processPHINode()
799 worklist.insert(UseMI); in processPHINode()
804 if (UseMI->isPHI()) { in processPHINode()
[all …]
/freebsd-13.1/contrib/llvm-project/llvm/lib/Target/Hexagon/
H A DHexagonOptAddrMode.cpp191 MI.getParent() != UseMI.getParent()) in canRemoveAddasl()
197 getBaseWithLongOffset(UseMI) < 0) in canRemoveAddasl()
205 for (auto &Mo : UseMI.operands()) in canRemoveAddasl()
402 Changed |= updateAddUses(AddMI, UseMI); in processAddUses()
416 const MCInstrDesc &MID = UseMI->getDesc(); in updateAddUses()
642 MIB.add(UseMI->getOperand(0)); in changeAddAsl()
655 MIB.add(UseMI->getOperand(2)); in changeAddAsl()
661 MIB.add(UseMI->getOperand(i)); in changeAddAsl()
663 Deleted.insert(UseMI); in changeAddAsl()
673 const MCInstrDesc &MID = UseMI->getDesc(); in xformUseMI()
[all …]
H A DHexagonConstExtenders.cpp317 MachineInstr *UseMI = nullptr; member
330 return UseMI->getOperand(OpNum); in getOp()
1112 if (!ED.UseMI->mayLoad() && !ED.UseMI->mayStore()) in getOffsetRange()
1217 ED.UseMI = &MI; in recordExtender()
1490 RefMIs.insert(ED0.UseMI); in calculatePlacement()
1495 RefMIs.insert(ED.UseMI); in calculatePlacement()
1602 MachineInstr &MI = *ED.UseMI; in replaceInstrExact()
1720 MachineInstr &MI = *ED.UseMI; in replaceInstrExpr()
1857 const MachineInstr &MI = *ED.UseMI; in replaceInstr()
1984 const MachineInstr *MA = A.UseMI; in runOnMachineFunction()
[all …]
/freebsd-13.1/contrib/llvm-project/llvm/lib/CodeGen/
H A DLiveRangeEdit.cpp188 MachineInstr *DefMI = nullptr, *UseMI = nullptr; in foldAsLoad() local
200 if (UseMI && UseMI != MI) in foldAsLoad()
205 UseMI = MI; in foldAsLoad()
208 if (!DefMI || !UseMI) in foldAsLoad()
214 LIS.getInstructionIndex(*UseMI))) in foldAsLoad()
224 << " into single use: " << *UseMI); in foldAsLoad()
227 if (UseMI->readsWritesVirtualRegister(LI->reg(), &Ops).second) in foldAsLoad()
234 LIS.ReplaceMachineInstrInMaps(*UseMI, *FoldMI); in foldAsLoad()
236 if (UseMI->shouldUpdateCallSiteInfo()) in foldAsLoad()
237 UseMI->getMF()->moveCallSiteInfo(UseMI, FoldMI); in foldAsLoad()
[all …]
H A DMachineTraceMetrics.cpp655 if (UseMI.isDebugInstr()) in getDataDeps()
660 E = UseMI.operands_end(); I != E; ++I) { in getDataDeps()
688 assert(UseMI.isPHI() && UseMI.getNumOperands() % 2 && "Bad PHI"); in getPHIDeps()
745 LRU.MI = UseMI; in updatePhysDepsDownwards()
786 if (UseMI.isPHI()) in updateDepth()
787 getPHIDeps(UseMI, Deps, TBI.Pred, MTM.MRI); in updateDepth()
788 else if (getDataDeps(UseMI, Deps, MTM.MRI)) in updateDepth()
808 InstrCycles &MICycles = Cycles[&UseMI]; in updateDepth()
883 for (const auto &UseMI : *MBB) { in computeInstrDepths()
884 updateDepth(TBI, UseMI, RegUnits); in computeInstrDepths()
[all …]
H A DTargetSchedule.cpp186 const MachineInstr *UseMI, unsigned UseOperIdx) const { in computeOperandLatency() argument
193 if (UseMI) { in computeOperandLatency()
195 *UseMI, UseOperIdx); in computeOperandLatency()
225 if (!UseMI) in computeOperandLatency()
229 const MCSchedClassDesc *UseDesc = resolveSchedClass(UseMI); in computeOperandLatency()
232 unsigned UseIdx = findUseIdx(UseMI, UseOperIdx); in computeOperandLatency()
H A DRegisterScavenging.cpp290 MachineBasicBlock::iterator &UseMI) { in findSurvivorReg() argument
347 UseMI = RestorePointMI; in findSurvivorReg()
449 MachineBasicBlock::iterator &UseMI) { in spill() argument
494 if (!TRI->saveScavengerRegister(*MBB, Before, UseMI, &RC, Reg)) { in spill()
511 TII->loadRegFromStackSlot(*MBB, UseMI, Reg, Scavenged[SI].FrameIndex, in spill()
513 II = std::prev(UseMI); in spill()
545 MachineBasicBlock::iterator UseMI; in scavengeRegister() local
546 Register SReg = findSurvivorReg(I, Candidates, 25, UseMI); in scavengeRegister()
557 ScavengedInfo &Scavenged = spill(SReg, *RC, SPAdj, I, UseMI); in scavengeRegister()
558 Scavenged.Restore = &*std::prev(UseMI); in scavengeRegister()
[all …]
H A DMachineLICM.cpp950 if (UseMI.mayStore() && isInvariantStore(UseMI, TRI, MRI)) in isCopyFeedingInvariantStore()
1010 for (MachineInstr &UseMI : MRI->use_instructions(Reg)) { in HasLoopPHIUse()
1012 if (UseMI.isPHI()) { in HasLoopPHIUse()
1015 if (CurLoop->contains(&UseMI)) in HasLoopPHIUse()
1020 if (isExitBlock(UseMI.getParent())) in HasLoopPHIUse()
1025 if (UseMI.isCopy() && CurLoop->contains(&UseMI)) in HasLoopPHIUse()
1026 Work.push_back(&UseMI); in HasLoopPHIUse()
1040 for (MachineInstr &UseMI : MRI->use_nodbg_instructions(Reg)) { in HasHighOperandLatency()
1041 if (UseMI.isCopyLike()) in HasHighOperandLatency()
1043 if (!CurLoop->contains(UseMI.getParent())) in HasHighOperandLatency()
[all …]
H A DDetectDeadLanes.cpp420 const MachineInstr &UseMI = *MO.getParent(); in determineInitialUsedLanes() local
421 if (UseMI.isKill()) in determineInitialUsedLanes()
425 if (lowersToCopies(UseMI)) { in determineInitialUsedLanes()
426 assert(UseMI.getDesc().getNumDefs() == 1); in determineInitialUsedLanes()
427 const MachineOperand &Def = *UseMI.defs().begin(); in determineInitialUsedLanes()
434 if (lowersToCopies(UseMI)) { in determineInitialUsedLanes()
436 CrossCopy = isCrossCopy(*MRI, UseMI, DstRC, MO); in determineInitialUsedLanes()
438 LLVM_DEBUG(dbgs() << "Copy across incompatible classes: " << UseMI); in determineInitialUsedLanes()
H A DOptimizePHIs.cpp157 for (MachineInstr &UseMI : MRI->use_nodbg_instructions(DstReg)) { in IsDeadPHICycle()
158 if (!UseMI.isPHI() || !IsDeadPHICycle(&UseMI, PHIsInCycle)) in IsDeadPHICycle()
H A DMachineSSAUpdater.cpp225 MachineInstr *UseMI = U.getParent(); in RewriteUse() local
227 if (UseMI->isPHI()) { in RewriteUse()
228 MachineBasicBlock *SourceBB = findCorrespondingPred(UseMI, &U); in RewriteUse()
231 NewVR = GetValueInMiddleOfBlock(UseMI->getParent()); in RewriteUse()
H A DPeepholeOptimizer.cpp504 MachineInstr *UseMI = UseMO.getParent(); in INITIALIZE_PASS_DEPENDENCY() local
505 if (UseMI == &MI) in INITIALIZE_PASS_DEPENDENCY()
508 if (UseMI->isPHI()) { in INITIALIZE_PASS_DEPENDENCY()
534 if (UseMI->getOpcode() == TargetOpcode::SUBREG_TO_REG) in INITIALIZE_PASS_DEPENDENCY()
537 MachineBasicBlock *UseMBB = UseMI->getParent(); in INITIALIZE_PASS_DEPENDENCY()
540 if (!LocalMIs.count(UseMI)) in INITIALIZE_PASS_DEPENDENCY()
577 MachineInstr *UseMI = UseMO->getParent(); in INITIALIZE_PASS_DEPENDENCY() local
578 MachineBasicBlock *UseMBB = UseMI->getParent(); in INITIALIZE_PASS_DEPENDENCY()
603 RC = MRI->getRegClass(UseMI->getOperand(0).getReg()); in INITIALIZE_PASS_DEPENDENCY()
606 BuildMI(*UseMBB, UseMI, UseMI->getDebugLoc(), in INITIALIZE_PASS_DEPENDENCY()
[all …]
H A DRegisterCoalescer.cpp893 MachineInstr *UseMI = MO.getParent(); in removeCopyByCommutingDef() local
944 if (UseMI->isDebugInstr()) { in removeCopyByCommutingDef()
961 if (UseMI == CopyMI) in removeCopyByCommutingDef()
963 if (!UseMI->isCopy()) in removeCopyByCommutingDef()
966 UseMI->getOperand(0).getSubReg()) in removeCopyByCommutingDef()
987 deleteInstr(UseMI); in removeCopyByCommutingDef()
1580 if (UseMI->isDebugInstr()) { in reMaterializeTrivialDef()
1587 MBB->splice(std::next(NewMI.getIterator()), UseMI->getParent(), UseMI); in reMaterializeTrivialDef()
1772 MachineInstr *UseMI = &*(I++); in updateRegDefsUses() local
1834 if (!UseMI->isDebugInstr()) in updateRegDefsUses()
[all …]
H A DTailDuplicator.cpp224 MachineInstr *UseMI = UseMO.getParent(); in tailDuplicateAndUpdate() local
226 if (UseMI->isDebugValue()) { in tailDuplicateAndUpdate()
231 InstrsToRemove.insert(UseMI); in tailDuplicateAndUpdate()
234 if (UseMI->getParent() == DefBB && !UseMI->isPHI()) in tailDuplicateAndUpdate()
304 for (MachineInstr &UseMI : MRI->use_instructions(Reg)) { in isDefLiveOut()
305 if (UseMI.isDebugValue()) in isDefLiveOut()
307 if (UseMI.getParent() != BB) in isDefLiveOut()
/freebsd-13.1/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/
H A DLocalizer.cpp126 MachineInstr &UseMI = *MOUse.getParent(); in localizeInterBlock() local
127 if (MRI->hasOneUse(Reg) && !UseMI.isPHI()) in localizeInterBlock()
128 InsertMBB->insert(InsertMBB->SkipPHIsAndLabels(UseMI), LocalizedMI); in localizeInterBlock()
164 for (MachineInstr &UseMI : MRI->use_nodbg_instructions(Reg)) { in localizeIntraBlock()
165 if (!UseMI.isPHI()) in localizeIntraBlock()
166 Users.insert(&UseMI); in localizeIntraBlock()
H A DCombinerHelper.cpp406 MachineInstr &UseMI = *UseMO.getParent(); in InsertInsnsWithoutSideEffectsBeforeUse() local
411 if (UseMI.isPHI()) { in InsertInsnsWithoutSideEffectsBeforeUse()
501 UseMI.getOpcode(), &UseMI); in matchCombineExtendingLoads()
557 MachineInstr *UseMI = UseMO->getParent(); in applyCombineExtendingLoads() local
631 if (&DefMI == &UseMI) in isPredecessor()
635 return &MI == &DefMI || &MI == &UseMI; in isPredecessor()
647 return MDT->dominates(&DefMI, &UseMI); in dominates()
651 return isPredecessor(DefMI, UseMI); in dominates()
862 if (!dominates(MI, UseMI)) { in findPreIndexCandidate()
997 OtherMI = &UseMI; in matchCombineDivRem()
[all …]
/freebsd-13.1/contrib/llvm-project/llvm/lib/Target/ARM/
H A DMLxExpansionPass.cpp122 MachineInstr *UseMI = &*MRI->use_instr_nodbg_begin(Reg); in getDefReg() local
123 if (UseMI->getParent() != MBB) in getDefReg()
126 while (UseMI->isCopy() || UseMI->isInsertSubreg()) { in getDefReg()
127 Reg = UseMI->getOperand(0).getReg(); in getDefReg()
130 UseMI = &*MRI->use_instr_nodbg_begin(Reg); in getDefReg()
131 if (UseMI->getParent() != MBB) in getDefReg()
/freebsd-13.1/contrib/llvm-project/llvm/lib/Target/PowerPC/
H A DPPCVSXSwapRemoval.cpp677 for (MachineInstr &UseMI : MRI->use_nodbg_instructions(DefReg)) { in recordUnoptimizableWebs()
678 int UseIdx = SwapMap[&UseMI]; in recordUnoptimizableWebs()
690 LLVM_DEBUG(UseMI.dump()); in recordUnoptimizableWebs()
699 Register SwapDefReg = UseMI.getOperand(0).getReg(); in recordUnoptimizableWebs()
711 LLVM_DEBUG(UseMI.dump()); in recordUnoptimizableWebs()
743 for (MachineInstr &UseMI : MRI->use_nodbg_instructions(DefReg)) { in recordUnoptimizableWebs()
744 int UseIdx = SwapMap[&UseMI]; in recordUnoptimizableWebs()
785 for (MachineInstr &UseMI : MRI->use_nodbg_instructions(DefReg)) { in markSwapsForRemoval()
786 int UseIdx = SwapMap[&UseMI]; in markSwapsForRemoval()
790 LLVM_DEBUG(UseMI.dump()); in markSwapsForRemoval()
/freebsd-13.1/contrib/llvm-project/llvm/lib/Target/VE/
H A DVEInstrInfo.cpp546 bool VEInstrInfo::FoldImmediate(MachineInstr &UseMI, MachineInstr &DefMI, in FoldImmediate() argument
607 LLVM_DEBUG(UseMI.dump()); in FoldImmediate()
629 switch (UseMI.getOpcode()) { in FoldImmediate()
676 if (UseMI.getOperand(1).getReg() == Reg) { in FoldImmediate()
679 assert(UseMI.getOperand(2).getReg() == Reg); in FoldImmediate()
693 if (UseMI.getOperand(1).getReg() == Reg) { in FoldImmediate()
700 assert(UseMI.getOperand(2).getReg() == Reg); in FoldImmediate()
713 UseMI.setDesc(get(NewUseOpc)); in FoldImmediate()
715 UseMI.getOperand(1).setReg(UseMI.getOperand(UseIdx).getReg()); in FoldImmediate()
717 UseMI.getOperand(UseIdx).ChangeToImmediate(ImmVal); in FoldImmediate()
/freebsd-13.1/contrib/llvm-project/llvm/lib/Target/Mips/
H A DMips16RegisterInfo.cpp58 MachineBasicBlock::iterator &UseMI, const TargetRegisterClass *RC, in saveScavengerRegister() argument
63 TII.copyPhysReg(MBB, UseMI, DL, Reg, Mips::T0, true); in saveScavengerRegister()
/freebsd-13.1/contrib/llvm-project/llvm/lib/Target/RISCV/
H A DRISCVInsertVSETVLI.cpp385 MachineInstr *UseMI = MRI->getVRegDef(UseMO.getReg()); in computeInfoForInstr() local
386 if (UseMI) { in computeInfoForInstr()
387 UseMI = elideCopies(UseMI, MRI); in computeInfoForInstr()
388 if (UseMI && UseMI->isImplicitDef()) in computeInfoForInstr()
/freebsd-13.1/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86SpeculativeLoadHardening.cpp1792 for (MachineInstr &UseMI : MRI->use_instructions(DefReg)) { in sinkPostLoadHardenedInst()
1795 if (HardenedInstrs.count(&UseMI)) { in sinkPostLoadHardenedInst()
1796 if (!X86InstrInfo::isDataInvariantLoad(UseMI) || isEFLAGSDefLive(UseMI)) { in sinkPostLoadHardenedInst()
1800 assert(X86InstrInfo::isDataInvariant(UseMI) && in sinkPostLoadHardenedInst()
1807 const MCInstrDesc &Desc = UseMI.getDesc(); in sinkPostLoadHardenedInst()
1814 UseMI.getOperand(MemRefBeginIdx + X86::AddrBaseReg); in sinkPostLoadHardenedInst()
1832 if (!X86InstrInfo::isDataInvariant(UseMI) || UseMI.getParent() != MI.getParent() || in sinkPostLoadHardenedInst()
1833 isEFLAGSDefLive(UseMI)) in sinkPostLoadHardenedInst()
1838 if (UseMI.getDesc().getNumDefs() > 1) in sinkPostLoadHardenedInst()
1844 Register UseDefReg = UseMI.getOperand(0).getReg(); in sinkPostLoadHardenedInst()
[all …]
/freebsd-13.1/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DRegisterScavenging.h209 MachineBasicBlock::iterator &UseMI);
221 MachineBasicBlock::iterator &UseMI);

123