Searched refs:LIS (Results 1 - 25 of 40) sorted by path

12

/external/llvm/include/llvm/CodeGen/
H A DCalcSpillWeights.h51 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 DLiveInterval.h649 /// // 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 DLiveRangeEdit.h63 LiveIntervals &LIS; member in class:llvm::LiveRangeEdit
121 MRI(MF.getRegInfo()), LIS(lis), VRM(vrm),
210 /// to erase it from LIS.
H A DLiveRegMatrix.h42 LiveIntervals *LIS; member in class:llvm::LiveRegMatrix
H A DMachineScheduler.h108 LiveIntervals *LIS; member in struct:llvm::MachineSchedContext
254 /*RemoveKillFlags=*/IsPostRA, C->LIS),
H A DRegisterPressure.h255 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 DScheduleDAGInstrs.h83 LiveIntervals *LIS; member in class:llvm::ScheduleDAGInstrs
161 LiveIntervals *LIS = nullptr);
168 LiveIntervals *getLIS() const { return LIS; }
/external/llvm/lib/CodeGen/
H A DCalcSpillWeights.cpp25 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 DInlineSpiller.cpp61 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 DInterferenceCache.cpp107 RegUnits.back().Fixed = &LIS->getRegUnit(*Units);
180 RegMaskSlots = LIS->getRegMaskSlotsInBlock(MBBNum);
181 RegMaskBits = LIS->getRegMaskBitsInBlock(MBBNum);
H A DInterferenceCache.h57 /// 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 DLiveDebugVariables.cpp133 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 DLiveDebugVariables.h54 LiveIntervals &LIS);
H A DLiveInterval.cpp875 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 DLiveIntervalAnalysis.cpp725 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 DLiveRangeEdit.cpp39 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 DLiveRegMatrix.cpp53 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 DMachineBasicBlock.cpp716 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 DMachineScheduler.cpp88 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 DPHIElimination.cpp53 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 DRegAllocBase.cpp63 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 DRegAllocBase.h64 LiveIntervals *LIS; member in class:llvm::RegAllocBase
69 : TRI(nullptr), MRI(nullptr), VRM(nullptr), LIS(nullptr), Matrix(nullptr) {}
H A DRegAllocBasic.cpp203 LiveRangeEdit LRE(&Spill, SplitVRegs, *MF, *LIS, VRM);
262 LiveRangeEdit LRE(&VirtReg, SplitVRegs, *MF, *LIS, VRM);
280 calculateSpillWeightsAndHints(*LIS, *MF,
H A DRegAllocGreedy.cpp456 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 DRegAllocPBQP.cpp189 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))) {

Completed in 3450 milliseconds

12