| /llvm-project-15.0.7/llvm/unittests/MI/ |
| H A D | LiveIntervalTest.cpp | 89 T(MF, LIS); in runOnMachineFunction() 128 LIS.handleMove(FromInstr, true); in testHandleMove() 207 testHandleMove(MF, LIS, 2, 1); in TEST() 218 testHandleMove(MF, LIS, 2, 1); in TEST() 229 testHandleMove(MF, LIS, 2, 1); in TEST() 240 testHandleMove(MF, LIS, 2, 1); in TEST() 250 testHandleMove(MF, LIS, 2, 1); in TEST() 261 testHandleMove(MF, LIS, 2, 1); in TEST() 276 testHandleMove(MF, LIS, 1, 2); in TEST() 645 testSplitAt(MF, LIS, 1, 0); in TEST() [all …]
|
| /llvm-project-15.0.7/llvm/lib/Target/AMDGPU/ |
| H A D | SIOptimizeExecMaskingPreRA.cpp | 33 LiveIntervals *LIS; member in __anon6b0c42990111::SIOptimizeExecMaskingPreRA 256 *LIS->getSlotIndexes(), *TRI); in optimizeVcndVcmpPair() 263 LIS->removeAllRegUnitsForPhysReg(CCReg); in optimizeVcndVcmpPair() 277 LIS->RemoveMachineInstrFromMaps(*Cmp); in optimizeVcndVcmpPair() 283 LIS->shrinkToUses(SelLI); in optimizeVcndVcmpPair() 289 LIS->RemoveMachineInstrFromMaps(*Sel); in optimizeVcndVcmpPair() 359 LIS->removeInterval(SavedExecReg); in optimizeElseBranch() 360 LIS->removeInterval(DstReg); in optimizeElseBranch() 380 LIS = &getAnalysis<LiveIntervals>(); in runOnMachineFunction() 497 LIS->removeInterval(SavedExec); in runOnMachineFunction() [all …]
|
| H A D | SILowerControlFlow.cpp | 278 if (!LIS) { in emitIf() 334 if (LIS) in emitElse() 350 if (!LIS) { in emitElse() 401 if (LIS) in emitIfBreak() 413 if (LIS) { in emitIfBreak() 436 if (LIS) { in emitLoop() 545 if (LIS) in emitEndCf() 550 if (LIS) in emitEndCf() 713 if (LIS) in lowerInitExec() 772 if (!LIS) { in lowerInitExec() [all …]
|
| H A D | GCNPreRAOptimizations.cpp | 45 LiveIntervals *LIS; member in __anon62f2d32f0111::GCNPreRAOptimizations 179 LIS->removeInterval(RegToUpdate); in processReg() 180 LIS->createAndComputeVirtRegInterval(RegToUpdate); in processReg() 194 if (SlotIndex::isEarlierInstr(LIS->getInstructionIndex(*Def1), in processReg() 198 LIS->RemoveMachineInstrFromMaps(*Def0); in processReg() 199 LIS->RemoveMachineInstrFromMaps(*Def1); in processReg() 206 LIS->InsertMachineInstrInMaps(*NewI); in processReg() 207 LIS->removeInterval(Reg); in processReg() 208 LIS->createAndComputeVirtRegInterval(Reg); in processReg() 222 LIS = &getAnalysis<LiveIntervals>(); in runOnMachineFunction() [all …]
|
| H A D | GCNRegPressure.h | 112 const LiveIntervals &LIS; 118 GCNRPTracker(const LiveIntervals &LIS_) : LIS(LIS_) {} in GCNRPTracker() 198 const LiveIntervals &LIS, 202 const LiveIntervals &LIS, 212 getLiveRegMap(Range &&R, bool After, LiveIntervals &LIS) { in getLiveRegMap() argument 215 auto &SII = *LIS.getSlotIndexes(); in getLiveRegMap() 227 if (!LIS.hasInterval(Reg)) in getLiveRegMap() 229 auto &LI = LIS.getInterval(Reg); in getLiveRegMap() 251 return getLiveRegs(LIS.getInstructionIndex(MI).getDeadSlot(), LIS, in getLiveRegsAfter() 257 return getLiveRegs(LIS.getInstructionIndex(MI).getBaseIndex(), LIS, in getLiveRegsBefore() [all …]
|
| H A D | GCNRegPressure.cpp | 24 const LiveIntervals &LIS, in printLivesAt() argument 27 << *LIS.getInstructionFromIndex(SI); in printLivesAt() 31 if (!LIS.hasInterval(Reg)) in printLivesAt() 33 const auto &LI = LIS.getInterval(Reg); in printLivesAt() 215 return getLiveLaneMask(MO.getReg(), SI, LIS, MRI); in getUsedRegMask() 228 auto const UsedMask = getUsedRegMask(MO, MRI, LIS); in collectVirtualRegUses() 249 const auto &LI = LIS.getInterval(Reg); in getLiveLaneMask() 269 if (!LIS.hasInterval(Reg)) in getLiveRegs() 287 LiveRegs = After ? getLiveRegsAfter(MI, LIS) in reset() 288 : getLiveRegsBefore(MI, LIS); in reset() [all …]
|
| H A D | SIWholeQuadMode.cpp | 158 LiveIntervals *LIS; member in __anon487d63ae0111::SIWholeQuadMode 754 LIS->InsertMachineInstrInMaps(*Save); in saveSCC() 1018 LIS->RemoveMachineInstrFromMaps(MI); in lowerKillI1() 1032 LIS->removeInterval(CndReg); in lowerKillI1() 1105 Last != MBBE ? LIS->getInstructionIndex(*Last) : LIS->getMBBEndIdx(&MBB); in prepareInsertion() 1178 LIS->InsertMachineInstrInMaps(*MI); in toExact() 1194 LIS->InsertMachineInstrInMaps(*MI); in toWQM() 1215 LIS->InsertMachineInstrInMaps(*MI); in toStrictMode() 1238 LIS->InsertMachineInstrInMaps(*MI); in fromStrictMode() 1472 LIS->removeInterval(Reg); in lowerCopyInstrs() [all …]
|
| H A D | GCNIterativeScheduler.cpp | 56 if (!I->isDebugInstr() && LIS) in printRegion() 57 OS << LIS->getInstructionIndex(*I); in printRegion() 63 if (!I->isDebugInstr() && LIS) in printRegion() 64 OS << LIS->getInstructionIndex(*I); in printRegion() 69 if (LIS) OS << LIS->getInstructionIndex(*End) << '\t'; in printRegion() 97 printRegion(OS, R->Begin, R->End, LIS, 1); in printRegions() 109 printRegion(OS, R->Begin, R->End, LIS); in printSchedResult() 227 , UPTracker(*LIS) { in GCNIterativeScheduler() 267 GCNUpwardRPTracker RPTracker(*LIS); in getSchedulePressure() 359 assert(LIS != nullptr); in scheduleRegion() [all …]
|
| H A D | SILowerSGPRSpills.cpp | 39 LiveIntervals *LIS = nullptr; member in __anon3bd1a61b0111::SILowerSGPRSpills 78 LiveIntervals *LIS) { in insertCSRSaves() argument 106 if (LIS) { in insertCSRSaves() 110 LIS->InsertMachineInstrInMaps(Inst); in insertCSRSaves() 111 LIS->removeAllRegUnitsForPhysReg(Reg); in insertCSRSaves() 120 LiveIntervals *LIS) { in insertCSRRestores() argument 144 if (LIS) { in insertCSRRestores() 146 LIS->InsertMachineInstrInMaps(Inst); in insertCSRRestores() 147 LIS->removeAllRegUnitsForPhysReg(Reg); in insertCSRRestores() 231 insertCSRSaves(*SaveBlock, CSI, LIS); in spillCalleeSavedRegs() [all …]
|
| /llvm-project-15.0.7/llvm/lib/Target/WebAssembly/ |
| H A D | WebAssemblyRegStackify.cpp | 274 LIS.getInstructionIndex(*Insert))) in getVRegDef() 508 if (LIS.shrinkToUses(&LI)) { in shrinkToUses() 526 LIS.handleMove(*Def); in moveForSingleUse() 575 LIS.InsertMachineInstrInMaps(*Clone); in rematerializeCheapDef() 586 shrinkToUses(LI, LIS); in rematerializeCheapDef() 596 LIS.removeInterval(Reg); in rematerializeCheapDef() 597 LIS.RemoveMachineInstrFromMaps(Def); in rematerializeCheapDef() 639 LIS.handleMove(*Def); in moveAndTeeForMultiUse() 658 LiveInterval &LI = LIS.getInterval(Reg); in moveAndTeeForMultiUse() 663 shrinkToUses(LI, LIS); in moveAndTeeForMultiUse() [all …]
|
| H A D | WebAssemblyMemIntrinsicResults.cpp | 88 LiveIntervals &LIS) { in replaceDominatedUses() argument 91 LiveInterval *FromLI = &LIS.getInterval(FromReg); in replaceDominatedUses() 92 LiveInterval *ToLI = &LIS.getInterval(ToReg); in replaceDominatedUses() 94 SlotIndex FromIdx = LIS.getInstructionIndex(MI).getRegSlot(); in replaceDominatedUses() 108 SlotIndex WhereIdx = LIS.getInstructionIndex(*Where); in replaceDominatedUses() 133 LIS.extendToIndices(*ToLI, Indices); in replaceDominatedUses() 136 LIS.shrinkToUses(FromLI); in replaceDominatedUses() 150 MachineDominatorTree &MDT, LiveIntervals &LIS, in optimizeCall() argument 173 return replaceDominatedUses(MBB, MI, FromReg, ToReg, MRI, MDT, LIS); in optimizeCall() 188 auto &LIS = getAnalysis<LiveIntervals>(); in runOnMachineFunction() local [all …]
|
| H A D | WebAssemblyOptimizeLiveIntervals.cpp | 80 auto &LIS = getAnalysis<LiveIntervals>(); in runOnMachineFunction() local 96 LIS.splitSeparateComponents(LIS.getInterval(Reg), SplitLIs); in runOnMachineFunction() 116 LiveInterval &LI = LIS.getInterval(MI.getOperand(0).getReg()); in runOnMachineFunction() 117 LIS.removeVRegDefAt(LI, LIS.getInstructionIndex(MI).getRegSlot()); in runOnMachineFunction() 118 LIS.RemoveMachineInstrFromMaps(MI); in runOnMachineFunction()
|
| /llvm-project-15.0.7/llvm/lib/CodeGen/ |
| H A D | LiveRangeEdit.cpp | 39 LiveInterval &LI = LIS.createEmptyInterval(VReg); in createEmptyIntervalFrom() 46 LiveInterval &OldLI = LIS.getInterval(OldReg); in createEmptyIntervalFrom() 66 LIS.getInterval(VReg).markNotSpillable(); in createFrom() 166 DefIdx = LIS.getInstructionIndex(*RM.OrigMI); in canRematerializeAt() 197 LIS.removeInterval(Reg); in eraseVirtReg() 338 LiveInterval &LI = LIS.getInterval(Reg); in eliminateDeadDef() 354 LIS.removeVRegDefAt(LI, Idx); in eliminateDeadDef() 409 LIS.RemoveMachineInstrFromMaps(*MI); in eliminateDeadDef() 420 ToShrink.remove(&LIS.getInterval(Reg)); in eliminateDeadDef() 445 if (!LIS.shrinkToUses(LI, &Dead)) in eliminateDeadDefs() [all …]
|
| H A D | PHIElimination.cpp | 68 LiveIntervals *LIS; member in __anon5187251e0111::PHIElimination 204 if (LIS) in runOnMachineFunction() 212 if (LIS) in runOnMachineFunction() 388 if (LIS) { in LowerPHINode() 564 if (LIS) { in LowerPHINode() 625 if (LIS) in LowerPHINode() 733 assert((LV || LIS) && in isLiveIn() 735 if (LIS) in isLiveIn() 736 return LIS->isLiveInToMBB(LIS->getInterval(Reg), MBB); in isLiveIn() 743 assert((LV || LIS) && in isLiveOutPastPHIs() [all …]
|
| H A D | SplitKit.cpp | 60 : LIS(lis), LastInsertPoint(BBNum) {} in InsertPointAnalysis() 67 SlotIndex MBBEnd = LIS.getMBBEndIdx(&MBB); in computeLastInsertPoint() 143 if (LIP == LIS.getMBBEndIdx(&MBB)) in getLastInsertPointIter() 145 return LIS.getInstructionFromIndex(LIP); in getLastInsertPointIter() 320 Stop = LIS.getMBBEndIdx(&*MFI); in countLiveBlocks() 353 : SA(SA), LIS(LIS), VRM(VRM), MRI(VRM.getMachineFunction().getRegInfo()), in SplitEditor() 727 useIntv(LIS.getMBBStartIdx(&MBB), LIS.getMBBEndIdx(&MBB)); in useIntv() 817 assert(LIS.getMBBFromIndex(Start) == LIS.getMBBFromIndex(End) && in overlapIntv() 860 LIS.removeVRegDefAt(*LI, Def); in removeBackCopies() 861 LIS.RemoveMachineInstrFromMaps(*MI); in removeBackCopies() [all …]
|
| H A D | TwoAddressInstructionPass.cpp | 292 if (LIS && Reg.isVirtual() && !LIS->isNotInMIMap(*MI)) { in isPlainlyKilled() 817 if (LIS) { in rescheduleMIBelowKill() 940 if (LIS) { in rescheduleMIBelowKill() 958 if (LIS) { in rescheduleMIBelowKill() 1007 if (LIS) { in rescheduleKillAboveMI() 1123 if (LIS) { in rescheduleKillAboveMI() 1522 if (LIS) { in processTiedPairs() 1596 if (LIS) { in processTiedPairs() 1867 if (LIS) { in eliminateRegSequence() 1925 if (LIS) in eliminateRegSequence() [all …]
|
| H A D | InlineSpiller.cpp | 87 LiveIntervals &LIS; member in __anon689c7d9e0111::HoistSpillHelper 147 IPA(LIS, mf.getNumBlockIDs()) {} in HoistSpillHelper() 158 LiveIntervals &LIS; member in __anon689c7d9e0111::InlineSpiller 274 LIS.getInterval(MO.getReg()); in getVDefInterval() 423 getVDefInterval(MI, LIS); in hoistSpillInsideBB() 716 assert(LIS.hasInterval(Reg) && in reMaterializeAll() 747 LIS.RemoveMachineInstrFromMaps(*MI); in coalesceStackAccess() 959 LIS.InsertMachineInstrInMaps(MI); in foldMemoryOperand() 1045 getVDefInterval(MI, LIS); in insertSpill() 1188 LIS.RemoveMachineInstrFromMaps(MI); in spillAll() [all …]
|
| H A D | RegAllocPBQP.cpp | 193 LiveIntervals &LIS = G.getMetadata().LIS; in apply() local 310 LiveIntervals &LIS = G.getMetadata().LIS; in apply() local 334 LiveInterval &LI = LIS.getInterval(VReg); in apply() 594 LiveIntervals &LIS = G.getMetadata().LIS; in initializeGraph() local 666 if (LIS.getInterval(VReg).empty()) { in initializeGraph() 695 LiveRangeEdit LRE(&LIS.getInterval(VReg), NewIntervals, MF, LIS, &VRM, in spillVReg() 721 LiveIntervals &LIS = G.getMetadata().LIS; in mapPBQPToRegAlloc() local 762 LiveInterval &LI = LIS.getInterval(R); in finalizeAlloc() 826 findVRegIntervalsToAlloc(MF, LIS); in runOnMachineFunction() 877 finalizeAlloc(MF, LIS, VRM); in runOnMachineFunction() [all …]
|
| H A D | RegisterCoalescer.cpp | 131 LiveIntervals *LIS = nullptr; member in __anoncc82f7ba0111::RegisterCoalescer 722 LIS->getMBBStartIdx(LIS->getMBBFromIndex(FillerStart)); in adjustCopiesBackFrom() 1714 LIS->shrinkToUses(&DstLI); in eliminateUndefCopy() 1894 LIS->shrinkToUses(&LI); in setUndefOnPrunedSubRegUses() 2355 LiveIntervals *LIS; member in __anoncc82f7ba0311::JoinVals 2509 NewVNInfo(newVNInfo), CP(cp), LIS(lis), Indexes(LIS->getSlotIndexes()), in JoinVals() 3892 return LIS->intervalIsInOneMBB(LIS->getInterval(SrcReg)) in isLocalCopy() 3893 || LIS->intervalIsInOneMBB(LIS->getInterval(DstReg)); in isLocalCopy() 3898 if (!LIS->hasInterval(reg)) in lateLiveIntervalUpdate() 4009 if (isLocalCopy(&MI, LIS)) { in copyCoalesceInMBB() [all …]
|
| H A D | RenameIndependentSubregs.cpp | 74 : ConEQ(LIS), SR(&SR), Index(Index) {} in SubRangeInfo() 104 LiveIntervals *LIS; member in __anon4f5f40e50111::RenameIndependentSubregs 223 SlotIndex Pos = LIS->getInstructionIndex(*MI); in rewriteOperands() 271 BumpPtrAllocator &Allocator = LIS->getVNInfoAllocator(); in distribute() 303 BumpPtrAllocator &Allocator = LIS->getVNInfoAllocator(); in computeMainRangesFixFlags() 304 const SlotIndexes &Indexes = *LIS->getSlotIndexes(); in computeMainRangesFixFlags() 368 LIS->constructMainRangeFromSubranges(LI); in computeMainRangesFixFlags() 373 LIS->shrinkToUses(&LI); in computeMainRangesFixFlags() 386 LIS = &getAnalysis<LiveIntervals>(); in runOnMachineFunction() 395 if (!LIS->hasInterval(Reg)) in runOnMachineFunction() [all …]
|
| H A D | LiveDebugVariables.cpp | 317 LiveIntervals &LIS); 447 LiveIntervals &LIS); 473 LiveIntervals &LIS); 534 LiveIntervals *LIS; member in __anon41ad64740411::LDVImpl 825 if (!LIS->hasInterval(Reg)) { in handleDebugValue() 959 LiveIntervals &LIS) { in extendDef() argument 1048 if (!LIS.hasInterval(DstReg)) in addDefsFromCopies() 1158 MRI, LIS); in computeIntervals() 1644 if (!LIS.isNotInMIMap(*I) && in findNextInsertLocation() 1782 MBBEnd = LIS.getMBBEndIdx(&*MBB); in emitDebugValues() [all …]
|
| H A D | CalcSpillWeights.cpp | 41 calculateSpillWeightAndHint(LIS.getInterval(Reg)); in calculateSpillWeightsAndHints() 81 const LiveIntervals &LIS, in isRematerializable() argument 94 MachineInstr *MI = LIS.getInstructionFromIndex(VNI->def); in isRematerializable() 114 const LiveInterval &SrcLI = LIS.getInterval(Reg); in isRematerializable() 120 MI = LIS.getInstructionFromIndex(VNI->def); in isRematerializable() 165 const LiveInterval &OrigInt = LIS.getInterval(Original); in weightCalcHelper() 182 MachineBasicBlock *LocalMBB = LIS.getMBBFromIndex(*End); in weightCalcHelper() 183 assert(LocalMBB == LIS.getMBBFromIndex(*Start) && in weightCalcHelper() 222 SlotIndex SI = LIS.getInstructionIndex(*MI); in weightCalcHelper() 254 if (Writes && IsExiting && LIS.isLiveOutOfMBB(LI, MBB)) in weightCalcHelper() [all …]
|
| H A D | RegAllocBase.cpp | 62 LIS = &lis; in init() 78 enqueue(&LIS->getInterval(Reg)); in seedLiveRegs() 95 LIS->removeInterval(VirtReg->reg()); in allocatePhysRegs() 147 assert(LIS->hasInterval(Reg)); in allocatePhysRegs() 149 LiveInterval *SplitVirtReg = &LIS->getInterval(Reg); in allocatePhysRegs() 155 LIS->removeInterval(SplitVirtReg->reg()); in allocatePhysRegs() 170 LIS->RemoveMachineInstrFromMaps(*DeadInst); in postOptimization()
|
| /llvm-project-15.0.7/llvm/lib/Target/PowerPC/ |
| H A D | PPCVSXFMAMutate.cpp | 67 LiveIntervals *LIS; member 109 SlotIndex FMAIdx = LIS->getInstructionIndex(MI); in processBlock() 192 if (LIS->getInterval(Reg2).Query(FMAIdx).isKill() in processBlock() 196 } else if (LIS->getInterval(Reg3).Query(FMAIdx).isKill() in processBlock() 213 !LIS->getInterval(AddendSrcReg).liveAt(FMAIdx)) in processBlock() 281 LiveInterval &FMAInt = LIS->getInterval(OldFMAReg); in processBlock() 299 LiveInterval &NewFMAInt = LIS->getInterval(KilledProdReg); in processBlock() 321 LiveRange &AddendSrcRange = LIS->getRegUnit(Unit); in processBlock() 322 AddendSrcRange.extendInBlock(LIS->getMBBStartIdx(&MBB), in processBlock() 333 LIS->RemoveMachineInstrFromMaps(*AddendMI); in processBlock() [all …]
|
| /llvm-project-15.0.7/llvm/include/llvm/CodeGen/ |
| H A D | CalcSpillWeights.h | 47 LiveIntervals &LIS; variable 57 VirtRegAuxInfo(MachineFunction &MF, LiveIntervals &LIS, in VirtRegAuxInfo() argument 60 : MF(MF), LIS(LIS), VRM(VRM), Loops(Loops), MBFI(MBFI) {} in VirtRegAuxInfo() 79 const LiveIntervals &LIS,
|