Home
last modified time | relevance | path

Searched refs:LIS (Results 1 – 25 of 44) sorted by relevance

12

/external/llvm/lib/CodeGen/
DLiveRangeEdit.cpp40 LiveInterval &LI = LIS.getOrCreateInterval(VReg); in createFrom()
62 MachineInstr *DefMI = LIS.getInstructionFromIndex(VNI->def); in scanRemattable()
95 LiveInterval &li = LIS.getInterval(MO.getReg()); in allUsesAvailableAt()
117 DefIdx = LIS.getInstructionIndex(RM.OrigMI); in canRematerializeAt()
120 RM.OrigMI = LIS.getInstructionFromIndex(DefIdx); in canRematerializeAt()
144 return LIS.getSlotIndexes()->insertMachineInstrInMaps(--MI, Late) in rematerializeAt()
150 LIS.removeInterval(Reg); in eraseVirtReg()
183 LIS.getInstructionIndex(DefMI), in foldAsLoad()
184 LIS.getInstructionIndex(UseMI))) in foldAsLoad()
204 LIS.ReplaceMachineInstrInMaps(UseMI, FoldMI); in foldAsLoad()
[all …]
DRegisterCoalescer.cpp77 LiveIntervals *LIS; member in __anon7cb0cdb20111::RegisterCoalescer
372 LiveRangeEdit(0, NewRegs, *MF, *LIS, 0, this).eliminateDeadDefs(DeadDefs); in eliminateDeadDefs()
402 LIS->getInterval(CP.isFlipped() ? CP.getDstReg() : CP.getSrcReg()); in adjustCopiesBackFrom()
404 LIS->getInterval(CP.isFlipped() ? CP.getSrcReg() : CP.getDstReg()); in adjustCopiesBackFrom()
405 SlotIndex CopyIdx = LIS->getInstructionIndex(CopyMI).getRegSlot(); in adjustCopiesBackFrom()
427 MachineInstr *ACopyMI = LIS->getInstructionFromIndex(AValNo->def); in adjustCopiesBackFrom()
440 LIS->getInstructionFromIndex(ValLR->end.getPrevSlot()); in adjustCopiesBackFrom()
479 LIS->shrinkToUses(&IntA); in adjustCopiesBackFrom()
493 if (LIS->hasPHIKill(IntA, AValNo)) in hasOtherReachingDefs()
542 SlotIndex CopyIdx = LIS->getInstructionIndex(CopyMI).getRegSlot(); in removeCopyByCommutingDef()
[all …]
DCalcSpillWeights.cpp46 LiveIntervals &LIS = getAnalysis<LiveIntervals>(); in runOnMachineFunction() local
48 VirtRegAuxInfo VRAI(MF, LIS, getAnalysis<MachineLoopInfo>()); in runOnMachineFunction()
53 VRAI.CalculateWeightAndHint(LIS.getInterval(Reg)); in runOnMachineFunction()
91 const LiveIntervals &LIS, in isRematerializable() argument
101 MachineInstr *MI = LIS.getInstructionFromIndex(VNI->def); in isRematerializable()
104 if (!TII.isTriviallyReMaterializable(MI, LIS.getAliasAnalysis())) in isRematerializable()
153 if (writes && isExiting && LIS.isLiveOutOfMBB(li, mbb)) in CalculateWeightAndHint()
167 if (hweight > bestPhys && LIS.isAllocatable(hint)) in CalculateWeightAndHint()
189 if (li.isZeroLength(LIS.getSlotIndexes())) { in CalculateWeightAndHint()
198 if (isRematerializable(li, LIS, *MF.getTarget().getInstrInfo())) in CalculateWeightAndHint()
DInlineSpiller.cpp56 LiveIntervals &LIS; member in __anon5e1e17960111::InlineSpiller
140 LIS(pass.getAnalysis<LiveIntervals>()), in InlineSpiller()
232 if (SnipLI.getNumValNums() > 2 || !LIS.intervalIsInOneMBB(SnipLI)) in isSnippet()
282 LiveInterval &SnipLI = LIS.getInterval(SnipReg); in collectRegsToSpill()
368 SV.SpillMBB = LIS.getMBBFromIndex(SV.SpillVNI->def); in propagateSiblingValue()
386 DepSV.SpillMBB = LIS.getMBBFromIndex(DepSV.SpillVNI->def); in propagateSiblingValue()
526 LiveInterval &LI = LIS.getInterval(Reg); in traceSiblingValue()
527 LiveInterval &OrigLI = LIS.getInterval(Original); in traceSiblingValue()
572 MachineInstr *MI = LIS.getInstructionFromIndex(VNI->def); in traceSiblingValue()
578 LiveInterval &SrcLI = LIS.getInterval(SrcReg); in traceSiblingValue()
[all …]
DSplitKit.cpp47 LIS(lis), in SplitAnalysis()
65 SlotIndex MBBEnd = LIS.getMBBEndIdx(MBB); in computeLastSplitPoint()
74 LSP.first = LIS.getInstructionIndex(FirstTerm); in computeLastSplitPoint()
85 LSP.second = LIS.getInstructionIndex(I); in computeLastSplitPoint()
93 if (!LPad || !LSP.second || !LIS.isLiveInToMBB(*CurLI, LPad)) in computeLastSplitPoint()
116 if (LSP == LIS.getMBBEndIdx(MBB)) in getLastSplitPointIter()
118 return LIS.getInstructionFromIndex(LSP); in getLastSplitPointIter()
138 UseSlots.push_back(LIS.getInstructionIndex(&*I).getRegSlot()); in analyzeUses()
155 const_cast<LiveIntervals&>(LIS) in analyzeUses()
186 MachineFunction::iterator MFI = LIS.getMBBFromIndex(LVI->start); in calcLiveBlockInfo()
[all …]
DLiveDebugVariables.cpp129 LiveIntervals &LIS, const TargetInstrInfo &TII);
228 LiveIntervals &LIS, MachineDominatorTree &MDT,
242 LiveIntervals &LIS);
247 LiveIntervals &LIS, MachineDominatorTree &MDT,
264 LiveIntervals &LIS, const TargetInstrInfo &TRI);
284 LiveIntervals *LIS; member in __anonf795f96c0311::LDVImpl
470 LIS->getMBBStartIdx(MBB) : in collectDebugValues()
471 LIS->getInstructionIndex(llvm::prior(MBBI)).getRegSlot(); in collectDebugValues()
488 LiveIntervals &LIS, MachineDominatorTree &MDT, in extendDef() argument
494 MachineBasicBlock *MBB = LIS.getMBBFromIndex(Start); in extendDef()
[all …]
DRegAllocBase.cpp59 LIS = &lis; in init()
74 enqueue(&LIS->getInterval(Reg)); in seedLiveRegs()
90 LIS->removeInterval(VirtReg->reg); in allocatePhysRegs()
135 LIS->removeInterval(SplitVirtReg->reg); in allocatePhysRegs()
DLiveRegMatrix.cpp52 LIS = &getAnalysis<LiveIntervals>(); in runOnMachineFunction()
108 LIS->checkRegMaskInterference(VirtReg, RegMaskUsable); in checkRegMaskInterference()
123 if (VirtReg.overlaps(LIS->getRegUnit(*Units), CP, *LIS->getSlotIndexes())) in checkRegUnitInterference()
DRegisterPressure.cpp180 LIS = lis; in init()
221 LIS->getInstructionIndex(CurrPos).getRegSlot(); in closeTop()
240 static_cast<IntervalPressure&>(P).BottomIdx = LIS->getMBBEndIdx(MBB); in closeBottom()
243 LIS->getInstructionIndex(CurrPos).getRegSlot(); in closeBottom()
446 SlotIdx = LIS->getInstructionIndex(CurrPos).getRegSlot(); in recede()
492 const LiveInterval *LI = &LIS->getInterval(Reg); in recede()
515 SlotIdx = LIS->getInstructionIndex(CurrPos).getRegSlot(); in advance()
543 const LiveInterval *LI = &LIS->getInterval(Reg); in advance()
733 const LiveIntervals *LIS) { in findUseBetween() argument
738 SlotIndex InstSlot = LIS->getInstructionIndex(MI).getRegSlot(); in findUseBetween()
[all …]
DRegAllocBase.h64 LiveIntervals *LIS; variable
68 RegAllocBase(): TRI(0), MRI(0), VRM(0), LIS(0), Matrix(0) {} in RegAllocBase()
DInterferenceCache.h58 LiveIntervals *LIS; variable
96 Entry() : PhysReg(0), Tag(0), RefCount(0), Indexes(0), LIS(0) {} in Entry()
103 LIS = lis; in clear()
DVirtRegMap.cpp152 LiveIntervals *LIS; member in __anonc81914bd0111::VirtRegRewriter
197 LIS = &getAnalysis<LiveIntervals>(); in runOnMachineFunction()
205 LIS->addKillFlags(VRM); in runOnMachineFunction()
231 LiveInterval &LI = LIS->getInterval(VirtReg); in addMBBLiveIns()
232 if (LI.empty() || LIS->intervalIsInOneMBB(LI)) in addMBBLiveIns()
DLiveIntervalAnalysis.cpp943 LiveIntervals& LIS; member in LiveIntervals::HMEditor
961 HMEditor(LiveIntervals& LIS, const MachineRegisterInfo& MRI, in HMEditor() argument
963 : LIS(LIS), MRI(MRI), TRI(TRI), NewIdx(NewIdx) {} in HMEditor()
1009 SlotIndex OldIdx = LIS.getSlotIndexes()->getInstructionIndex(MI); in moveAllRangesInto()
1010 assert(LIS.getSlotIndexes()->getInstructionFromIndex(OldIdx) == MI && in moveAllRangesInto()
1106 if (TargetRegisterInfo::isPhysicalRegister(Reg) && LIS.isReserved(Reg)) in collectRanges()
1113 if (LiveInterval *LI = LIS.getCachedRegUnit(*Units)) in collectRanges()
1117 collectRanges(MO, &LIS.getInterval(Reg), in collectRanges()
1175 MachineInstr* OldKillMI = LIS.getInstructionFromIndex(OldIdx); in moveKillFlags()
1178 MachineInstr* NewKillMI = LIS.getInstructionFromIndex(newKillIdx); in moveKillFlags()
[all …]
DRegAllocGreedy.cpp356 Matrix->unassign(LIS->getInterval(VirtReg)); in LRE_CanEraseVirtReg()
369 LiveInterval &LI = LIS->getInterval(VirtReg); in LRE_WillShrinkVirtReg()
427 LiveInterval *LI = &LIS->getInterval(~Queue.top().second); in dequeue()
1191 LiveRangeEdit LREdit(&VirtReg, NewVRegs, *MF, *LIS, VRM, this); in tryRegionSplit()
1239 LiveRangeEdit LREdit(&VirtReg, NewVRegs, *MF, *LIS, VRM, this); in tryBlockSplit()
1294 LiveRangeEdit LREdit(&VirtReg, NewVRegs, *MF, *LIS, VRM, this); in tryInstructionSplit()
1394 const LiveInterval &LI = LIS->getRegUnit(*Units); in calcGapWeights()
1449 ArrayRef<SlotIndex> RMS = LIS->getRegMaskSlotsInBlock(BI.MBB->getNumber()); in tryLocalSplit()
1604 LiveRangeEdit LREdit(&VirtReg, NewVRegs, *MF, *LIS, VRM, this); in tryLocalSplit()
1650 if (LIS->intervalIsInOneMBB(VirtReg)) { in trySplit()
[all …]
DInterferenceCache.cpp90 RegUnits.back().Fixed = &LIS->getRegUnit(*Units); in reset()
163 RegMaskSlots = LIS->getRegMaskSlotsInBlock(MBBNum); in update()
164 RegMaskBits = LIS->getRegMaskBitsInBlock(MBBNum); in update()
DSplitKit.h45 const LiveIntervals &LIS; variable
212 LiveIntervals &LIS; variable
DRegAllocBasic.cpp205 LiveRangeEdit LRE(&Spill, SplitVRegs, *MF, *LIS, VRM); in spillInterferences()
264 LiveRangeEdit LRE(&VirtReg, SplitVRegs, *MF, *LIS, VRM); in selectOrSplit()
DMachineScheduler.cpp58 MF(0), MLI(0), MDT(0), PassConfig(0), AA(0), LIS(0) { in MachineSchedContext()
187 LIS = &getAnalysis<LiveIntervals>(); in runOnMachineFunction()
276 DEBUG(LIS->print(dbgs())); in runOnMachineFunction()
361 ScheduleDAGInstrs(*C->MF, *C->MLI, *C->MDT, /*IsPostRA=*/false, C->LIS), in ScheduleDAGMI()
501 LIS->handleMove(MI); in moveInstruction()
538 TopRPTracker.init(&MF, RegClassInfo, LIS, BB, RegionBegin); in initRegPressure()
539 BotRPTracker.init(&MF, RegClassInfo, LIS, BB, LiveRegionEnd); in initRegPressure()
615 RPTracker.init(&MF, RegClassInfo, LIS, BB, LiveRegionEnd); in schedule()
DLiveRegMatrix.h43 LiveIntervals *LIS; variable
DRegAllocPBQP.cpp195 LiveIntervals *LIS = const_cast<LiveIntervals*>(lis); in build() local
218 LiveInterval *vregLI = &LIS->getInterval(vreg); in build()
222 LIS->checkRegMaskInterference(*vregLI, regMaskOverlaps); in build()
240 if (vregLI->overlaps(LIS->getRegUnit(*Units))) { in build()
/external/llvm/include/llvm/CodeGen/
DCalcSpillWeights.h44 LiveIntervals &LIS; variable
50 MF(mf), LIS(lis), Loops(loops) {} in VirtRegAuxInfo()
DRegisterPressure.h140 const LiveIntervals *LIS; variable
165 MF(0), TRI(0), RCI(0), LIS(0), MBB(0), P(rp), RequireIntervals(true) {} in RegPressureTracker()
168 MF(0), TRI(0), RCI(0), LIS(0), MBB(0), P(rp), RequireIntervals(false) {} in RegPressureTracker()
DLiveRangeEdit.h61 LiveIntervals &LIS; variable
109 MRI(MF.getRegInfo()), LIS(lis), VRM(vrm), in Parent()
DMachineScheduler.h49 LiveIntervals *LIS; member
DScheduleDAGInstrs.h182 LiveIntervals *LIS; variable
252 LiveIntervals *LIS = 0);

12