/external/llvm/lib/CodeGen/ |
H A D | LiveRangeEdit.cpp | 40 LiveInterval &LI = LIS.getOrCreateInterval(VReg); 62 MachineInstr *DefMI = LIS.getInstructionFromIndex(VNI->def); 95 LiveInterval &li = LIS.getInterval(MO.getReg()); 117 DefIdx = LIS.getInstructionIndex(RM.OrigMI); 120 RM.OrigMI = LIS.getInstructionFromIndex(DefIdx); 144 return LIS.getSlotIndexes()->insertMachineInstrInMaps(--MI, Late) 150 LIS.removeInterval(Reg); 183 LIS.getInstructionIndex(DefMI), 184 LIS.getInstructionIndex(UseMI))) 204 LIS [all...] |
H A D | RegAllocBase.h | 64 LiveIntervals *LIS; member in class:llvm::RegAllocBase 68 RegAllocBase(): TRI(0), MRI(0), VRM(0), LIS(0), Matrix(0) {}
|
H A D | CalcSpillWeights.cpp | 46 LiveIntervals &LIS = getAnalysis<LiveIntervals>(); local 48 VirtRegAuxInfo VRAI(MF, LIS, getAnalysis<MachineLoopInfo>()); 53 VRAI.CalculateWeightAndHint(LIS.getInterval(Reg)); 91 const LiveIntervals &LIS, 101 MachineInstr *MI = LIS.getInstructionFromIndex(VNI->def); 104 if (!TII.isTriviallyReMaterializable(MI, LIS.getAliasAnalysis())) 153 if (writes && isExiting && LIS.isLiveOutOfMBB(li, mbb)) 167 if (hweight > bestPhys && LIS.isAllocatable(hint)) 189 if (li.isZeroLength(LIS.getSlotIndexes())) { 198 if (isRematerializable(li, LIS, *M 90 isRematerializable(const LiveInterval &LI, const LiveIntervals &LIS, const TargetInstrInfo &TII) argument [all...] |
H A D | LiveDebugVariables.cpp | 129 LiveIntervals &LIS, const TargetInstrInfo &TII); 223 /// @param LIS Live intervals analysis. 228 LiveIntervals &LIS, MachineDominatorTree &MDT, 242 LiveIntervals &LIS); 247 LiveIntervals &LIS, MachineDominatorTree &MDT, 264 LiveIntervals &LIS, const TargetInstrInfo &TRI); 284 LiveIntervals *LIS; member in class:__anon9262::LDVImpl 470 LIS->getMBBStartIdx(MBB) : 471 LIS->getInstructionIndex(llvm::prior(MBBI)).getRegSlot(); 488 LiveIntervals &LIS, MachineDominatorTre 485 extendDef(SlotIndex Idx, unsigned LocNo, LiveInterval *LI, const VNInfo *VNI, SmallVectorImpl<SlotIndex> *Kills, LiveIntervals &LIS, MachineDominatorTree &MDT, UserValueScopes &UVS) argument 547 addDefsFromCopies(LiveInterval *LI, unsigned LocNo, const SmallVectorImpl<SlotIndex> &Kills, SmallVectorImpl<std::pair<SlotIndex, unsigned> > &NewDefs, MachineRegisterInfo &MRI, LiveIntervals &LIS) argument 620 computeIntervals(MachineRegisterInfo &MRI, const TargetRegisterInfo &TRI, LiveIntervals &LIS, MachineDominatorTree &MDT, UserValueScopes &UVS) argument 924 findInsertLocation(MachineBasicBlock *MBB, SlotIndex Idx, LiveIntervals &LIS) argument 950 insertDebugValue(MachineBasicBlock *MBB, SlotIndex Idx, unsigned LocNo, LiveIntervals &LIS, const TargetInstrInfo &TII) argument 973 emitDebugValues(VirtRegMap *VRM, LiveIntervals &LIS, const TargetInstrInfo &TII) argument [all...] |
H A D | InlineSpiller.cpp | 56 LiveIntervals &LIS; member in class:__anon9258::InlineSpiller 140 LIS(pass.getAnalysis<LiveIntervals>()), 232 if (SnipLI.getNumValNums() > 2 || !LIS.intervalIsInOneMBB(SnipLI)) 282 LiveInterval &SnipLI = LIS.getInterval(SnipReg); 368 SV.SpillMBB = LIS.getMBBFromIndex(SV.SpillVNI->def); 386 DepSV.SpillMBB = LIS.getMBBFromIndex(DepSV.SpillVNI->def); 526 LiveInterval &LI = LIS.getInterval(Reg); 527 LiveInterval &OrigLI = LIS.getInterval(Original); 572 MachineInstr *MI = LIS.getInstructionFromIndex(VNI->def); 578 LiveInterval &SrcLI = LIS [all...] |
H A D | RegAllocBase.cpp | 59 LIS = &lis; 74 enqueue(&LIS->getInterval(Reg)); 90 LIS->removeInterval(VirtReg->reg); 135 LIS->removeInterval(SplitVirtReg->reg);
|
H A D | RegisterCoalescer.cpp | 77 LiveIntervals *LIS; member in class:__anon9302::RegisterCoalescer 372 LiveRangeEdit(0, NewRegs, *MF, *LIS, 0, this).eliminateDeadDefs(DeadDefs); 402 LIS->getInterval(CP.isFlipped() ? CP.getDstReg() : CP.getSrcReg()); 404 LIS->getInterval(CP.isFlipped() ? CP.getSrcReg() : CP.getDstReg()); 405 SlotIndex CopyIdx = LIS->getInstructionIndex(CopyMI).getRegSlot(); 427 MachineInstr *ACopyMI = LIS->getInstructionFromIndex(AValNo->def); 440 LIS->getInstructionFromIndex(ValLR->end.getPrevSlot()); 479 LIS->shrinkToUses(&IntA); 493 if (LIS->hasPHIKill(IntA, AValNo)) 542 SlotIndex CopyIdx = LIS [all...] |
H A D | SplitKit.cpp | 47 LIS(lis), 65 SlotIndex MBBEnd = LIS.getMBBEndIdx(MBB); 74 LSP.first = LIS.getInstructionIndex(FirstTerm); 85 LSP.second = LIS.getInstructionIndex(I); 93 if (!LPad || !LSP.second || !LIS.isLiveInToMBB(*CurLI, LPad)) 116 if (LSP == LIS.getMBBEndIdx(MBB)) 118 return LIS.getInstructionFromIndex(LSP); 138 UseSlots.push_back(LIS.getInstructionIndex(&*I).getRegSlot()); 155 const_cast<LiveIntervals&>(LIS) 186 MachineFunction::iterator MFI = LIS [all...] |
H A D | InterferenceCache.h | 57 /// LIS - Used for accessing register mask interference maps. 58 LiveIntervals *LIS; member in class:llvm::InterferenceCache::Entry 96 Entry() : PhysReg(0), Tag(0), RefCount(0), Indexes(0), LIS(0) {} 103 LIS = lis;
|
H A D | LiveRegMatrix.cpp | 52 LIS = &getAnalysis<LiveIntervals>(); 108 LIS->checkRegMaskInterference(VirtReg, RegMaskUsable); 123 if (VirtReg.overlaps(LIS->getRegUnit(*Units), CP, *LIS->getSlotIndexes()))
|
H A D | LiveRegMatrix.h | 43 LiveIntervals *LIS; member in class:llvm::LiveRegMatrix
|
H A D | VirtRegMap.cpp | 152 LiveIntervals *LIS; member in class:__anon9338::VirtRegRewriter 197 LIS = &getAnalysis<LiveIntervals>(); 205 LIS->addKillFlags(VRM); 231 LiveInterval &LI = LIS->getInterval(VirtReg); 232 if (LI.empty() || LIS->intervalIsInOneMBB(LI))
|
H A D | RegisterPressure.cpp | 180 LIS = lis; 221 LIS->getInstructionIndex(CurrPos).getRegSlot(); 240 static_cast<IntervalPressure&>(P).BottomIdx = LIS->getMBBEndIdx(MBB); 243 LIS->getInstructionIndex(CurrPos).getRegSlot(); 446 SlotIdx = LIS->getInstructionIndex(CurrPos).getRegSlot(); 492 const LiveInterval *LI = &LIS->getInterval(Reg); 515 SlotIdx = LIS->getInstructionIndex(CurrPos).getRegSlot(); 543 const LiveInterval *LI = &LIS->getInterval(Reg); 733 const LiveIntervals *LIS) { 738 SlotIndex InstSlot = LIS 730 findUseBetween(unsigned Reg, SlotIndex PriorUseIdx, SlotIndex NextUseIdx, const MachineRegisterInfo *MRI, const LiveIntervals *LIS) argument [all...] |
H A D | InterferenceCache.cpp | 90 RegUnits.back().Fixed = &LIS->getRegUnit(*Units); 163 RegMaskSlots = LIS->getRegMaskSlotsInBlock(MBBNum); 164 RegMaskBits = LIS->getRegMaskBitsInBlock(MBBNum);
|
H A D | RegAllocBasic.cpp | 205 LiveRangeEdit LRE(&Spill, SplitVRegs, *MF, *LIS, VRM); 264 LiveRangeEdit LRE(&VirtReg, SplitVRegs, *MF, *LIS, VRM);
|
H A D | SplitKit.h | 45 const LiveIntervals &LIS; member in class:llvm::SplitAnalysis 212 LiveIntervals &LIS; member in class:llvm::SplitEditor
|
H A D | LiveIntervalAnalysis.cpp | 943 LiveIntervals& LIS; member in class:LiveIntervals::HMEditor 961 HMEditor(LiveIntervals& LIS, const MachineRegisterInfo& MRI, argument 963 : LIS(LIS), MRI(MRI), TRI(TRI), NewIdx(NewIdx) {} 1009 SlotIndex OldIdx = LIS.getSlotIndexes()->getInstructionIndex(MI); 1010 assert(LIS.getSlotIndexes()->getInstructionFromIndex(OldIdx) == MI && 1106 if (TargetRegisterInfo::isPhysicalRegister(Reg) && LIS.isReserved(Reg)) 1113 if (LiveInterval *LI = LIS.getCachedRegUnit(*Units)) 1117 collectRanges(MO, &LIS.getInterval(Reg), 1175 MachineInstr* OldKillMI = LIS [all...] |
H A D | RegAllocGreedy.cpp | 356 Matrix->unassign(LIS->getInterval(VirtReg)); 369 LiveInterval &LI = LIS->getInterval(VirtReg); 427 LiveInterval *LI = &LIS->getInterval(~Queue.top().second); 1191 LiveRangeEdit LREdit(&VirtReg, NewVRegs, *MF, *LIS, VRM, this); 1239 LiveRangeEdit LREdit(&VirtReg, NewVRegs, *MF, *LIS, VRM, this); 1294 LiveRangeEdit LREdit(&VirtReg, NewVRegs, *MF, *LIS, VRM, this); 1394 const LiveInterval &LI = LIS->getRegUnit(*Units); 1449 ArrayRef<SlotIndex> RMS = LIS->getRegMaskSlotsInBlock(BI.MBB->getNumber()); 1604 LiveRangeEdit LREdit(&VirtReg, NewVRegs, *MF, *LIS, VRM, this); 1650 if (LIS [all...] |
H A D | RegAllocPBQP.cpp | 195 LiveIntervals *LIS = const_cast<LiveIntervals*>(lis); local 218 LiveInterval *vregLI = &LIS->getInterval(vreg); 222 LIS->checkRegMaskInterference(*vregLI, regMaskOverlaps); 240 if (vregLI->overlaps(LIS->getRegUnit(*Units))) {
|
H A D | MachineScheduler.cpp | 58 MF(0), MLI(0), MDT(0), PassConfig(0), AA(0), LIS(0) { 187 LIS = &getAnalysis<LiveIntervals>(); 276 DEBUG(LIS->print(dbgs())); 361 ScheduleDAGInstrs(*C->MF, *C->MLI, *C->MDT, /*IsPostRA=*/false, C->LIS), 501 LIS->handleMove(MI); 538 TopRPTracker.init(&MF, RegClassInfo, LIS, BB, RegionBegin); 539 BotRPTracker.init(&MF, RegClassInfo, LIS, BB, LiveRegionEnd); 615 RPTracker.init(&MF, RegClassInfo, LIS, BB, LiveRegionEnd);
|
/external/llvm/include/llvm/CodeGen/ |
H A D | CalcSpillWeights.h | 44 LiveIntervals &LIS; member in class:llvm::VirtRegAuxInfo 50 MF(mf), LIS(lis), Loops(loops) {}
|
H A D | RegisterPressure.h | 140 const LiveIntervals *LIS; member in class:llvm::RegPressureTracker 149 /// or RegisterPressure. If requireIntervals is false, LIS are ignored. 165 MF(0), TRI(0), RCI(0), LIS(0), MBB(0), P(rp), RequireIntervals(true) {} 168 MF(0), TRI(0), RCI(0), LIS(0), MBB(0), P(rp), RequireIntervals(false) {}
|
H A D | LiveRangeEdit.h | 61 LiveIntervals &LIS; member in class:llvm::LiveRangeEdit 109 MRI(MF.getRegInfo()), LIS(lis), VRM(vrm), 189 /// to erase it from LIS.
|
H A D | MachineScheduler.h | 49 LiveIntervals *LIS; member in struct:llvm::MachineSchedContext
|
H A D | ScheduleDAGInstrs.h | 182 LiveIntervals *LIS; member in class:llvm::ScheduleDAGInstrs 252 LiveIntervals *LIS = 0);
|