/external/llvm/lib/CodeGen/ |
D | LiveRangeEdit.cpp | 40 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 …]
|
D | RegisterCoalescer.cpp | 77 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 …]
|
D | CalcSpillWeights.cpp | 46 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()
|
D | InlineSpiller.cpp | 56 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 …]
|
D | SplitKit.cpp | 47 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 …]
|
D | LiveDebugVariables.cpp | 129 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 …]
|
D | RegAllocBase.cpp | 59 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()
|
D | LiveRegMatrix.cpp | 52 LIS = &getAnalysis<LiveIntervals>(); in runOnMachineFunction() 108 LIS->checkRegMaskInterference(VirtReg, RegMaskUsable); in checkRegMaskInterference() 123 if (VirtReg.overlaps(LIS->getRegUnit(*Units), CP, *LIS->getSlotIndexes())) in checkRegUnitInterference()
|
D | RegisterPressure.cpp | 180 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 …]
|
D | RegAllocBase.h | 64 LiveIntervals *LIS; variable 68 RegAllocBase(): TRI(0), MRI(0), VRM(0), LIS(0), Matrix(0) {} in RegAllocBase()
|
D | InterferenceCache.h | 58 LiveIntervals *LIS; variable 96 Entry() : PhysReg(0), Tag(0), RefCount(0), Indexes(0), LIS(0) {} in Entry() 103 LIS = lis; in clear()
|
D | VirtRegMap.cpp | 152 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()
|
D | LiveIntervalAnalysis.cpp | 943 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 …]
|
D | RegAllocGreedy.cpp | 356 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 …]
|
D | InterferenceCache.cpp | 90 RegUnits.back().Fixed = &LIS->getRegUnit(*Units); in reset() 163 RegMaskSlots = LIS->getRegMaskSlotsInBlock(MBBNum); in update() 164 RegMaskBits = LIS->getRegMaskBitsInBlock(MBBNum); in update()
|
D | SplitKit.h | 45 const LiveIntervals &LIS; variable 212 LiveIntervals &LIS; variable
|
D | RegAllocBasic.cpp | 205 LiveRangeEdit LRE(&Spill, SplitVRegs, *MF, *LIS, VRM); in spillInterferences() 264 LiveRangeEdit LRE(&VirtReg, SplitVRegs, *MF, *LIS, VRM); in selectOrSplit()
|
D | MachineScheduler.cpp | 58 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()
|
D | LiveRegMatrix.h | 43 LiveIntervals *LIS; variable
|
D | RegAllocPBQP.cpp | 195 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/ |
D | CalcSpillWeights.h | 44 LiveIntervals &LIS; variable 50 MF(mf), LIS(lis), Loops(loops) {} in VirtRegAuxInfo()
|
D | RegisterPressure.h | 140 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()
|
D | LiveRangeEdit.h | 61 LiveIntervals &LIS; variable 109 MRI(MF.getRegInfo()), LIS(lis), VRM(vrm), in Parent()
|
D | MachineScheduler.h | 49 LiveIntervals *LIS; member
|
D | ScheduleDAGInstrs.h | 182 LiveIntervals *LIS; variable 252 LiveIntervals *LIS = 0);
|