/external/llvm/include/llvm/CodeGen/ |
H A D | CalcSpillWeights.h | 51 LiveIntervals &LIS; member in class:llvm::VirtRegAuxInfo 62 : MF(mf), LIS(lis), Loops(loops), MBFI(mbfi), normalize(norm) {} 70 void calculateSpillWeightsAndHints(LiveIntervals &LIS, MachineFunction &MF,
|
H A D | LiveInterval.h | 649 /// // allocate numComps-1 new LiveIntervals into LIS[1..] 650 /// ConEQ.Distribute(LIS); 654 LiveIntervals &LIS; member in class:llvm::ConnectedVNInfoEqClasses 663 explicit ConnectedVNInfoEqClasses(LiveIntervals &lis) : LIS(lis) {}
|
H A D | LiveRangeEdit.h | 63 LiveIntervals &LIS; member in class:llvm::LiveRangeEdit 121 MRI(MF.getRegInfo()), LIS(lis), VRM(vrm), 210 /// to erase it from LIS.
|
H A D | LiveRegMatrix.h | 42 LiveIntervals *LIS; member in class:llvm::LiveRegMatrix
|
H A D | MachineScheduler.h | 108 LiveIntervals *LIS; member in struct:llvm::MachineSchedContext 254 /*RemoveKillFlags=*/IsPostRA, C->LIS),
|
H A D | RegisterPressure.h | 255 const LiveIntervals *LIS; 264 /// or RegisterPressure. If requireIntervals is false, LIS are ignored. 288 MF(nullptr), TRI(nullptr), RCI(nullptr), LIS(nullptr), MBB(nullptr), P(rp), 292 MF(nullptr), TRI(nullptr), RCI(nullptr), LIS(nullptr), MBB(nullptr), P(rp),
|
H A D | ScheduleDAGInstrs.h | 83 LiveIntervals *LIS; member in class:llvm::ScheduleDAGInstrs 161 LiveIntervals *LIS = nullptr); 168 LiveIntervals *getLIS() const { return LIS; }
|
/external/llvm/lib/CodeGen/ |
H A D | CalcSpillWeights.cpp | 25 void llvm::calculateSpillWeightsAndHints(LiveIntervals &LIS, argument 34 VirtRegAuxInfo VRAI(MF, LIS, MLI, MBFI, norm); 39 VRAI.calculateSpillWeightAndHint(LIS.getInterval(Reg)); 76 const LiveIntervals &LIS, 86 MachineInstr *MI = LIS.getInstructionFromIndex(VNI->def); 89 if (!TII.isTriviallyReMaterializable(MI, LIS.getAliasAnalysis())) 140 if (writes && isExiting && LIS.isLiveOutOfMBB(li, mbb)) 180 if (li.isZeroLength(LIS.getSlotIndexes())) { 189 if (isRematerializable(li, LIS, *MF.getTarget().getInstrInfo())) 75 isRematerializable(const LiveInterval &LI, const LiveIntervals &LIS, const TargetInstrInfo &TII) argument
|
H A D | InlineSpiller.cpp | 61 LiveIntervals &LIS; member in class:__anon25751::InlineSpiller 146 LIS(pass.getAnalysis<LiveIntervals>()), 237 if (SnipLI.getNumValNums() > 2 || !LIS.intervalIsInOneMBB(SnipLI)) 289 LiveInterval &SnipLI = LIS.getInterval(SnipReg); 375 SV.SpillMBB = LIS.getMBBFromIndex(SV.SpillVNI->def); 393 DepSV.SpillMBB = LIS.getMBBFromIndex(DepSV.SpillVNI->def); 545 LiveInterval &LI = LIS.getInterval(Reg); 546 LiveInterval &OrigLI = LIS.getInterval(Original); 591 MachineInstr *MI = LIS.getInstructionFromIndex(VNI->def); 597 LiveInterval &SrcLI = LIS 1030 dumpMachineInstrRangeWithSlotIndex(MachineBasicBlock::iterator B, MachineBasicBlock::iterator E, LiveIntervals const &LIS, const char *const header, unsigned VReg =0) argument 1200 DEBUG(dumpMachineInstrRangeWithSlotIndex(std::next(MI), MIS.end(), LIS, local [all...] |
H A D | InterferenceCache.cpp | 107 RegUnits.back().Fixed = &LIS->getRegUnit(*Units); 180 RegMaskSlots = LIS->getRegMaskSlotsInBlock(MBBNum); 181 RegMaskBits = LIS->getRegMaskBitsInBlock(MBBNum);
|
H A D | InterferenceCache.h | 57 /// LIS - Used for accessing register mask interference maps. 58 LiveIntervals *LIS; member in class:llvm::InterferenceCache::Entry 97 Entry() : PhysReg(0), Tag(0), RefCount(0), Indexes(nullptr), LIS(nullptr) {} 104 LIS = lis;
|
H A D | LiveDebugVariables.cpp | 133 LiveIntervals &LIS, const TargetInstrInfo &TII); 138 LiveIntervals &LIS); 229 /// @param LIS Live intervals analysis. 234 LiveIntervals &LIS, MachineDominatorTree &MDT, 248 LiveIntervals &LIS); 253 LiveIntervals &LIS, MachineDominatorTree &MDT, 259 LiveIntervals &LIS); 267 LiveIntervals &LIS, const TargetInstrInfo &TRI); 287 LiveIntervals *LIS; member in class:__anon25756::LDVImpl 486 LIS 501 extendDef(SlotIndex Idx, unsigned LocNo, LiveRange *LR, const VNInfo *VNI, SmallVectorImpl<SlotIndex> *Kills, LiveIntervals &LIS, MachineDominatorTree &MDT, UserValueScopes &UVS) argument 563 addDefsFromCopies(LiveInterval *LI, unsigned LocNo, const SmallVectorImpl<SlotIndex> &Kills, SmallVectorImpl<std::pair<SlotIndex, unsigned> > &NewDefs, MachineRegisterInfo &MRI, LiveIntervals &LIS) argument 634 computeIntervals(MachineRegisterInfo &MRI, const TargetRegisterInfo &TRI, LiveIntervals &LIS, MachineDominatorTree &MDT, UserValueScopes &UVS) argument 738 splitLocation(unsigned OldLocNo, ArrayRef<unsigned> NewRegs, LiveIntervals& LIS) argument 837 splitRegister(unsigned OldReg, ArrayRef<unsigned> NewRegs, LiveIntervals &LIS) argument 867 splitRegister(unsigned OldReg, ArrayRef<unsigned> NewRegs, LiveIntervals &LIS) argument 903 findInsertLocation(MachineBasicBlock *MBB, SlotIndex Idx, LiveIntervals &LIS) argument 929 insertDebugValue(MachineBasicBlock *MBB, SlotIndex Idx, unsigned LocNo, LiveIntervals &LIS, const TargetInstrInfo &TII) argument 945 emitDebugValues(VirtRegMap *VRM, LiveIntervals &LIS, const TargetInstrInfo &TII) argument [all...] |
H A D | LiveDebugVariables.h | 54 LiveIntervals &LIS);
|
H A D | LiveInterval.cpp | 875 const MachineBasicBlock *MBB = LIS.getMBBFromIndex(VNI->def); 880 if (const VNInfo *PVNI = LI->getVNInfoBefore(LIS.getMBBEndIdx(*PI))) 917 Idx = LIS.getSlotIndexes()->getIndexBefore(MI); 919 Idx = LIS.getInstructionIndex(MI);
|
H A D | LiveIntervalAnalysis.cpp | 725 LiveIntervals& LIS; member in class:LiveIntervals::HMEditor 734 HMEditor(LiveIntervals& LIS, const MachineRegisterInfo& MRI, argument 737 : LIS(LIS), MRI(MRI), TRI(TRI), OldIdx(OldIdx), NewIdx(NewIdx), 746 return &LIS.getRegUnit(Unit); 747 return LIS.getCachedRegUnit(Unit); 769 LiveInterval &LI = LIS.getInterval(Reg); 843 if (MachineInstr *KillMI = LIS.getInstructionFromIndex(I->end)) 977 std::lower_bound(LIS.RegMaskSlots.begin(), LIS [all...] |
H A D | LiveRangeEdit.cpp | 39 LiveInterval &LI = LIS.createEmptyInterval(VReg); 68 MachineInstr *DefMI = LIS.getInstructionFromIndex(VNI->def); 101 LiveInterval &li = LIS.getInterval(MO.getReg()); 130 DefIdx = LIS.getInstructionIndex(RM.OrigMI); 133 RM.OrigMI = LIS.getInstructionFromIndex(DefIdx); 157 return LIS.getSlotIndexes()->insertMachineInstrInMaps(--MI, Late) 163 LIS.removeInterval(Reg); 194 LIS.getInstructionIndex(DefMI), 195 LIS.getInstructionIndex(UseMI))) 215 LIS [all...] |
H A D | LiveRegMatrix.cpp | 53 LIS = &getAnalysis<LiveIntervals>(); 111 LIS->checkRegMaskInterference(VirtReg, RegMaskUsable); 126 const LiveRange &UnitRange = LIS->getRegUnit(*Units); 127 if (VirtReg.overlaps(UnitRange, CP, *LIS->getSlotIndexes()))
|
H A D | MachineBasicBlock.cpp | 716 LiveIntervals *LIS = P->getAnalysisIfAvailable<LiveIntervals>(); local 718 if (LIS) 719 LIS->insertMBBInMaps(NMBB); 750 if (LIS) { 844 if (LIS) { 872 LiveInterval &LI = LIS->getInterval(Reg); 883 if (PHISrcRegs.count(Reg) || !LIS->hasInterval(Reg)) 886 LiveInterval &LI = LIS->getInterval(Reg); 890 bool isLiveOut = LI.liveAt(LIS->getMBBStartIdx(Succ)); 902 LIS [all...] |
H A D | MachineScheduler.cpp | 88 MF(nullptr), MLI(nullptr), MDT(nullptr), PassConfig(nullptr), AA(nullptr), LIS(nullptr) { 313 LIS = &getAnalysis<LiveIntervals>(); 316 DEBUG(LIS->dump()); 326 DEBUG(LIS->dump()); 620 if (LIS) 621 LIS->handleMove(MI, /*UpdateFlags=*/true); 848 TopRPTracker.init(&MF, RegClassInfo, LIS, BB, RegionBegin); 849 BotRPTracker.init(&MF, RegClassInfo, LIS, BB, LiveRegionEnd); 947 const LiveInterval &LI = LIS->getInterval(Reg); 952 VNI = LI.getVNInfoBefore(LIS 1412 LiveIntervals *LIS = DAG->getLIS(); local [all...] |
H A D | PHIElimination.cpp | 53 LiveIntervals *LIS; member in class:__anon25782::PHIElimination 130 LIS = getAnalysisIfAvailable<LiveIntervals>(); 139 if (!DisableEdgeSplitting && (LV || LIS)) { 158 if (LIS) 159 LIS->RemoveMachineInstrFromMaps(DefMI); 167 if (LIS) 168 LIS->RemoveMachineInstrFromMaps(I->first); 308 if (LIS) { 310 SlotIndex DestCopyIndex = LIS->InsertMachineInstrInMaps(NewInstr); 312 SlotIndex MBBStartIndex = LIS [all...] |
H A D | RegAllocBase.cpp | 63 LIS = &lis; 78 enqueue(&LIS->getInterval(Reg)); 94 LIS->removeInterval(VirtReg->reg); 139 LiveInterval *SplitVirtReg = &LIS->getInterval(*I); 143 LIS->removeInterval(SplitVirtReg->reg);
|
H A D | RegAllocBase.h | 64 LiveIntervals *LIS; member in class:llvm::RegAllocBase 69 : TRI(nullptr), MRI(nullptr), VRM(nullptr), LIS(nullptr), Matrix(nullptr) {}
|
H A D | RegAllocBasic.cpp | 203 LiveRangeEdit LRE(&Spill, SplitVRegs, *MF, *LIS, VRM); 262 LiveRangeEdit LRE(&VirtReg, SplitVRegs, *MF, *LIS, VRM); 280 calculateSpillWeightsAndHints(*LIS, *MF,
|
H A D | RegAllocGreedy.cpp | 456 Matrix->unassign(LIS->getInterval(VirtReg)); 469 LiveInterval &LI = LIS->getInterval(VirtReg); 521 LIS->intervalIsInOneMBB(*LI)) { 557 LiveInterval *LI = &LIS->getInterval(~CurQueue.top().second); 681 bool IsLocal = LIS->intervalIsInOneMBB(VirtReg); 744 if (!MaxCost.isMax() && IsLocal && LIS->intervalIsInOneMBB(*Intf) && 1246 DebugVars->splitRegister(Reg, LREdit.regs(), *LIS); 1257 LiveInterval &Reg = LIS->getInterval(LREdit.get(i)); 1406 LiveRangeEdit LREdit(&VirtReg, NewVRegs, *MF, *LIS, VRM, this); 1454 LiveRangeEdit LREdit(&VirtReg, NewVRegs, *MF, *LIS, VR [all...] |
H A D | RegAllocPBQP.cpp | 189 LiveIntervals *LIS = const_cast<LiveIntervals*>(lis); local 210 LiveInterval *vregLI = &LIS->getInterval(vreg); 214 LIS->checkRegMaskInterference(*vregLI, regMaskOverlaps); 232 if (vregLI->overlaps(LIS->getRegUnit(*Units))) {
|