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

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 DScheduleDAGInstrs.h83 LiveIntervals *LIS; member in class:llvm::ScheduleDAGInstrs
161 LiveIntervals *LIS = nullptr);
168 LiveIntervals *getLIS() const { return LIS; }
H A DLiveRegMatrix.h42 LiveIntervals *LIS; member in class:llvm::LiveRegMatrix
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 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),
/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 DRegAllocBase.h64 LiveIntervals *LIS; member in class:llvm::RegAllocBase
69 : TRI(nullptr), MRI(nullptr), VRM(nullptr), LIS(nullptr), Matrix(nullptr) {}
H A DPHIElimination.cpp53 LiveIntervals *LIS; member in class:__anon24946::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 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:__anon24920::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 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 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 DRegisterCoalescer.cpp84 LiveIntervals *LIS; member in class:__anon24958::RegisterCoalescer
400 LiveRangeEdit(nullptr, NewRegs, *MF, *LIS,
431 LIS->getInterval(CP.isFlipped() ? CP.getDstReg() : CP.getSrcReg());
433 LIS->getInterval(CP.isFlipped() ? CP.getSrcReg() : CP.getDstReg());
434 SlotIndex CopyIdx = LIS->getInstructionIndex(CopyMI).getRegSlot();
456 MachineInstr *ACopyMI = LIS->getInstructionFromIndex(AValNo->def);
470 LIS->getInstructionFromIndex(ValS->end.getPrevSlot());
509 LIS->shrinkToUses(&IntA);
523 if (LIS->hasPHIKill(IntA, AValNo))
572 SlotIndex CopyIdx = LIS
1304 LiveIntervals *LIS; member in class:__anon24959::JoinVals
2082 isLocalCopy(MachineInstr *Copy, const LiveIntervals *LIS) argument
[all...]
H A DInlineSpiller.cpp61 LiveIntervals &LIS; member in class:__anon24915::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 DLiveDebugVariables.h54 LiveIntervals &LIS);
H A DTwoAddressInstructionPass.cpp77 LiveIntervals *LIS; member in class:__anon24994::TwoAddressInstructionPass
173 static bool isPlainlyKilled(MachineInstr *MI, unsigned Reg, LiveIntervals *LIS);
216 if (LIS) {
217 LiveInterval &LI = LIS->getInterval(SavedReg);
221 SlotIndex MBBEndIdx = LIS->getMBBEndIdx(MBB).getPrevSlot();
227 KillMI = LIS->getInstructionFromIndex(I->end);
277 if (MO.isKill() || (LIS && isPlainlyKilled(OtherMI, MOReg, LIS))) {
290 if (!LIS) {
304 if (LIS)
359 isPlainlyKilled(MachineInstr *MI, unsigned Reg, LiveIntervals *LIS) argument
401 isKilled(MachineInstr &MI, unsigned Reg, const MachineRegisterInfo *MRI, const TargetInstrInfo *TII, LiveIntervals *LIS, bool allowFalsePositives) argument
[all...]
H A DSplitKit.cpp48 LIS(lis),
66 SlotIndex MBBEnd = LIS.getMBBEndIdx(MBB);
75 LSP.first = LIS.getInstructionIndex(FirstTerm);
86 LSP.second = LIS.getInstructionIndex(I);
94 if (!LPad || !LSP.second || !LIS.isLiveInToMBB(*CurLI, LPad))
117 if (LSP == LIS.getMBBEndIdx(MBB))
119 return LIS.getInstructionFromIndex(LSP);
137 UseSlots.push_back(LIS.getInstructionIndex(MO.getParent()).getRegSlot());
154 const_cast<LiveIntervals&>(LIS)
185 MachineFunction::iterator MFI = 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 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 DRegAllocBasic.cpp203 LiveRangeEdit LRE(&Spill, SplitVRegs, *MF, *LIS, VRM);
262 LiveRangeEdit LRE(&VirtReg, SplitVRegs, *MF, *LIS, VRM);
280 calculateSpillWeightsAndHints(*LIS, *MF,
H A DRegisterPressure.cpp153 return &LIS->getInterval(Reg);
154 return LIS->getCachedRegUnit(Reg);
159 LIS = nullptr;
196 LIS = lis;
232 return LIS->getMBBEndIdx(MBB);
233 return LIS->getInstructionIndex(IdxPos).getRegSlot();
482 SlotIdx = LIS->getInstructionIndex(CurrPos).getRegSlot();
726 SlotIndex SlotIdx = LIS->getInstructionIndex(MI);
885 const LiveIntervals *LIS) {
892 SlotIndex InstSlot = LIS
882 findUseBetween(unsigned Reg, SlotIndex PriorUseIdx, SlotIndex NextUseIdx, const MachineRegisterInfo *MRI, const LiveIntervals *LIS) argument
[all...]
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 DVirtRegMap.cpp163 LiveIntervals *LIS; member in class:__anon24997::VirtRegRewriter
212 LIS = &getAnalysis<LiveIntervals>();
220 LIS->addKillFlags(VRM);
246 LiveInterval &LI = LIS->getInterval(VirtReg);
247 if (LI.empty() || LIS->intervalIsInOneMBB(LI))
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 DInterferenceCache.cpp107 RegUnits.back().Fixed = &LIS->getRegUnit(*Units);
180 RegMaskSlots = LIS->getRegMaskSlotsInBlock(MBBNum);
181 RegMaskBits = LIS->getRegMaskBitsInBlock(MBBNum);
/external/llvm/lib/Target/R600/
H A DSIFixSGPRLiveRanges.cpp78 LiveIntervals *LIS = &getAnalysis<LiveIntervals>(); local
99 LiveInterval &LI = LIS->getInterval(Def.getReg());

Completed in 1363 milliseconds

12