Home
last modified time | relevance | path

Searched refs:LIS (Results 1 – 25 of 91) sorted by relevance

1234

/external/llvm/unittests/MI/
DLiveIntervalTest.cpp91 LiveIntervals &LIS = getAnalysis<LiveIntervals>(); in runOnMachineFunction() local
92 T(MF, LIS); in runOnMachineFunction()
111 static void testHandleMove(MachineFunction &MF, LiveIntervals &LIS, in testHandleMove() argument
128 LIS.handleMove(*FromInstr, true); in testHandleMove()
171 [](MachineFunction &MF, LiveIntervals &LIS) { in TEST() argument
172 testHandleMove(MF, LIS, 2, 1); in TEST()
182 [](MachineFunction &MF, LiveIntervals &LIS) { in TEST() argument
183 testHandleMove(MF, LIS, 2, 1); in TEST()
193 [](MachineFunction &MF, LiveIntervals &LIS) { in TEST() argument
194 testHandleMove(MF, LIS, 2, 1); in TEST()
[all …]
/external/llvm/lib/Target/WebAssembly/
DWebAssemblyRegStackify.cpp229 const LiveIntervals &LIS) in GetVRegDef() argument
236 if (const VNInfo *ValNo = LIS.getInterval(Reg).getVNInfoBefore( in GetVRegDef()
237 LIS.getInstructionIndex(*Insert))) in GetVRegDef()
238 return LIS.getInstructionFromIndex(ValNo->def); in GetVRegDef()
248 LiveIntervals &LIS) { in HasOneUse() argument
254 const LiveInterval &LI = LIS.getInterval(Reg); in HasOneUse()
256 LIS.getInstructionIndex(*Def).getRegSlot()); in HasOneUse()
259 const auto &Result = LI.Query(LIS.getInstructionIndex(*I.getParent())); in HasOneUse()
277 AliasAnalysis &AA, const LiveIntervals &LIS, in IsSafeToMove() argument
310 const LiveInterval &LI = LIS.getInterval(Reg); in IsSafeToMove()
[all …]
DWebAssemblyStoreResults.cpp82 LiveIntervals &LIS) { in ReplaceDominatedUses() argument
85 LiveInterval *FromLI = &LIS.getInterval(FromReg); in ReplaceDominatedUses()
86 LiveInterval *ToLI = &LIS.getInterval(ToReg); in ReplaceDominatedUses()
88 SlotIndex FromIdx = LIS.getInstructionIndex(MI).getRegSlot(); in ReplaceDominatedUses()
102 SlotIndex WhereIdx = LIS.getInstructionIndex(*Where); in ReplaceDominatedUses()
127 LIS.extendToIndices(*ToLI, Indices); in ReplaceDominatedUses()
130 LIS.shrinkToUses(FromLI); in ReplaceDominatedUses()
145 LiveIntervals &LIS) { in optimizeStore() argument
148 return ReplaceDominatedUses(MBB, MI, FromReg, ToReg, MRI, MDT, LIS); in optimizeStore()
154 LiveIntervals &LIS, in optimizeCall() argument
[all …]
DWebAssemblyOptimizeLiveIntervals.cpp71 LiveIntervals &LIS = getAnalysis<LiveIntervals>(); in runOnMachineFunction() local
86 LIS.splitSeparateComponents(LIS.getInterval(Reg), SplitLIs); in runOnMachineFunction()
97 LiveInterval &LI = LIS.getInterval(MI->getOperand(0).getReg()); in runOnMachineFunction()
98 LIS.removeVRegDefAt(LI, LIS.getInstructionIndex(*MI).getRegSlot()); in runOnMachineFunction()
99 LIS.RemoveMachineInstrFromMaps(*MI); in runOnMachineFunction()
/external/swiftshader/third_party/LLVM/lib/CodeGen/
DRegisterCoalescer.cpp87 LiveIntervals *LIS; member in __anon109fb9750111::RegisterCoalescer
419 if (!LIS->hasInterval(CP.getDstReg())) in AdjustCopiesBackFrom()
423 LIS->getInterval(CP.isFlipped() ? CP.getDstReg() : CP.getSrcReg()); in AdjustCopiesBackFrom()
425 LIS->getInterval(CP.isFlipped() ? CP.getSrcReg() : CP.getDstReg()); in AdjustCopiesBackFrom()
426 SlotIndex CopyIdx = LIS->getInstructionIndex(CopyMI).getDefIndex(); in AdjustCopiesBackFrom()
482 LIS->getInstructionFromIndex(ValLR->end.getPrevSlot()); in AdjustCopiesBackFrom()
496 if (LIS->hasInterval(*AS) && IntA.overlaps(LIS->getInterval(*AS))) { in AdjustCopiesBackFrom()
499 LIS->getInterval(*AS).print(dbgs(), TRI); in AdjustCopiesBackFrom()
526 if (!LIS->hasInterval(*SR)) in AdjustCopiesBackFrom()
528 LiveInterval &SRLI = LIS->getInterval(*SR); in AdjustCopiesBackFrom()
[all …]
DSplitKit.cpp47 LIS(lis), in SplitAnalysis()
71 LSP.first = LIS.getMBBEndIdx(MBB); in computeLastSplitPoint()
73 LSP.first = LIS.getInstructionIndex(FirstTerm); in computeLastSplitPoint()
84 LSP.second = LIS.getInstructionIndex(I); in computeLastSplitPoint()
92 if (LPad && LSP.second.isValid() && LIS.isLiveInToMBB(*CurLI, LPad)) in computeLastSplitPoint()
115 UseSlots.push_back(LIS.getInstructionIndex(&*I).getDefIndex()); in analyzeUses()
132 const_cast<LiveIntervals&>(LIS) in analyzeUses()
163 MachineFunction::iterator MFI = LIS.getMBBFromIndex(LVI->start); in calcLiveBlockInfo()
168 tie(Start, Stop) = LIS.getSlotIndexes()->getMBBRange(BI.MBB); in calcLiveBlockInfo()
246 MFI = LIS.getMBBFromIndex(LVI->start); in calcLiveBlockInfo()
[all …]
DInlineSpiller.cpp56 LiveIntervals &LIS; member in __anon845f99d90111::InlineSpiller
141 LIS(pass.getAnalysis<LiveIntervals>()), in InlineSpiller()
234 if (SnipLI.getNumValNums() > 2 || !LIS.intervalIsInOneMBB(SnipLI)) in isSnippet()
284 LiveInterval &SnipLI = LIS.getInterval(SnipReg); in collectRegsToSpill()
370 SV.SpillMBB = LIS.getMBBFromIndex(SV.SpillVNI->def); in propagateSiblingValue()
388 DepSV.SpillMBB = LIS.getMBBFromIndex(DepSV.SpillVNI->def); in propagateSiblingValue()
528 LiveInterval &LI = LIS.getInterval(Reg); in traceSiblingValue()
529 LiveInterval &OrigLI = LIS.getInterval(Original); in traceSiblingValue()
574 MachineInstr *MI = LIS.getInstructionFromIndex(VNI->def); in traceSiblingValue()
580 LiveInterval &SrcLI = LIS.getInterval(SrcReg); in traceSiblingValue()
[all …]
DLiveRangeEdit.cpp33 LiveIntervals &LIS, in createFrom() argument
39 LiveInterval &LI = LIS.getOrCreateInterval(VReg); in createFrom()
157 void LiveRangeEdit::eraseVirtReg(unsigned Reg, LiveIntervals &LIS) { in eraseVirtReg() argument
159 LIS.removeInterval(Reg); in eraseVirtReg()
165 LiveIntervals &LIS, in foldAsLoad() argument
203 LIS.ReplaceMachineInstrInMaps(UseMI, FoldMI); in foldAsLoad()
212 LiveIntervals &LIS, VirtRegMap &VRM, in eliminateDeadDefs() argument
224 SlotIndex Idx = LIS.getInstructionIndex(MI).getDefIndex(); in eliminateDeadDefs()
249 LiveInterval &LI = LIS.getInterval(Reg); in eliminateDeadDefs()
268 eraseVirtReg(Reg, LIS); in eliminateDeadDefs()
[all …]
DLiveDebugVariables.cpp129 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 __anon09625d8f0311::LDVImpl
470 LIS->getMBBStartIdx(MBB) : in collectDebugValues()
471 LIS->getInstructionIndex(llvm::prior(MBBI)).getDefIndex(); in collectDebugValues()
488 LiveIntervals &LIS, MachineDominatorTree &MDT, in extendDef() argument
494 MachineBasicBlock *MBB = LIS.getMBBFromIndex(Start); in extendDef()
[all …]
/external/llvm/lib/CodeGen/
DPHIElimination.cpp57 LiveIntervals *LIS; member in __anon5a1f558d0111::PHIElimination
135 LIS = getAnalysisIfAvailable<LiveIntervals>(); in runOnMachineFunction()
144 if (!DisableEdgeSplitting && (LV || LIS)) { in runOnMachineFunction()
161 if (LIS) in runOnMachineFunction()
162 LIS->RemoveMachineInstrFromMaps(*DefMI); in runOnMachineFunction()
169 if (LIS) in runOnMachineFunction()
170 LIS->RemoveMachineInstrFromMaps(*I.first); in runOnMachineFunction()
310 if (LIS) { in LowerPHINode()
312 LIS->InsertMachineInstrInMaps(*std::prev(AfterPHIsIt)); in LowerPHINode()
314 SlotIndex MBBStartIndex = LIS->getMBBStartIdx(&MBB); in LowerPHINode()
[all …]
DLiveRangeEdit.cpp39 LiveInterval &LI = LIS.createEmptyInterval(VReg); in createEmptyIntervalFrom()
67 LiveInterval &OrigLI = LIS.getInterval(Original); in scanRemattable()
69 MachineInstr *DefMI = LIS.getInstructionFromIndex(OrigVNI->def); in scanRemattable()
102 LiveInterval &li = LIS.getInterval(MO.getReg()); in allUsesAvailableAt()
130 DefIdx = LIS.getInstructionIndex(*RM.OrigMI); in canRematerializeAt()
156 return LIS.getSlotIndexes()->insertMachineInstrInMaps(*MI, Late).getRegSlot(); in rematerializeAt()
161 LIS.removeInterval(Reg); in eraseVirtReg()
191 if (!allUsesAvailableAt(DefMI, LIS.getInstructionIndex(*DefMI), in foldAsLoad()
192 LIS.getInstructionIndex(*UseMI))) in foldAsLoad()
208 MachineInstr *FoldMI = TII.foldMemoryOperand(*UseMI, Ops, *DefMI, &LIS); in foldAsLoad()
[all …]
DSplitKit.cpp46 : LIS(lis), LastInsertPoint(BBNum) {} in InsertPointAnalysis()
53 SlotIndex MBBEnd = LIS.getMBBEndIdx(&MBB); in computeLastInsertPoint()
67 LIP.first = LIS.getInstructionIndex(*FirstTerm); in computeLastInsertPoint()
78 LIP.second = LIS.getInstructionIndex(*I); in computeLastInsertPoint()
90 return LIS.isLiveInToMBB(CurLI, EHPad); in computeLastInsertPoint()
115 if (LIP == LIS.getMBBEndIdx(&MBB)) in getLastInsertPointIter()
117 return LIS.getInstructionFromIndex(LIP); in getLastInsertPointIter()
126 : MF(vrm.getMachineFunction()), VRM(vrm), LIS(lis), Loops(mli), in SplitAnalysis()
152 UseSlots.push_back(LIS.getInstructionIndex(*MO.getParent()).getRegSlot()); in analyzeUses()
169 const_cast<LiveIntervals&>(LIS) in analyzeUses()
[all …]
DInlineSpiller.cpp61 LiveIntervals &LIS; member in __anon8fa8dc2d0111::HoistSpillHelper
112 : MF(mf), LIS(pass.getAnalysis<LiveIntervals>()), in HoistSpillHelper()
121 IPA(LIS, mf.getNumBlockIDs()) {} in HoistSpillHelper()
132 LiveIntervals &LIS; member in __anon8fa8dc2d0111::InlineSpiller
170 : MF(mf), LIS(pass.getAnalysis<LiveIntervals>()), in InlineSpiller()
262 if (SnipLI.getNumValNums() > 2 || !LIS.intervalIsInOneMBB(SnipLI)) in isSnippet()
314 LiveInterval &SnipLI = LIS.getInterval(SnipReg); in collectRegsToSpill()
352 SlotIndex Idx = LIS.getInstructionIndex(CopyMI); in hoistSpillInsideBB()
359 LiveInterval &SrcLI = LIS.getInterval(SrcReg); in hoistSpillInsideBB()
362 MachineBasicBlock *DefMBB = LIS.getMBBFromIndex(SrcVNI->def); in hoistSpillInsideBB()
[all …]
DLiveDebugVariables.cpp134 LiveIntervals &LIS, const TargetInstrInfo &TII);
139 LiveIntervals &LIS);
238 LiveIntervals &LIS, MachineDominatorTree &MDT,
252 LiveIntervals &LIS);
257 LiveIntervals &LIS, MachineDominatorTree &MDT,
263 LiveIntervals &LIS);
271 LiveIntervals &LIS, const TargetInstrInfo &TRI);
285 LiveIntervals *LIS; member in __anon42b634630311::LDVImpl
525 ? LIS->getMBBStartIdx(MBB) in collectDebugValues()
526 : LIS->getInstructionIndex(*std::prev(MBBI)).getRegSlot(); in collectDebugValues()
[all …]
DTwoAddressInstructionPass.cpp79 LiveIntervals *LIS; member in __anonab29adac0111::TwoAddressInstructionPass
182 static bool isPlainlyKilled(MachineInstr *MI, unsigned Reg, LiveIntervals *LIS);
223 if (LIS) { in sink3AddrInstruction()
224 LiveInterval &LI = LIS->getInterval(SavedReg); in sink3AddrInstruction()
228 SlotIndex MBBEndIdx = LIS->getMBBEndIdx(MBB).getPrevSlot(); in sink3AddrInstruction()
234 KillMI = LIS->getInstructionFromIndex(I->end); in sink3AddrInstruction()
280 if (MO.isKill() || (LIS && isPlainlyKilled(&OtherMI, MOReg, LIS))) { in sink3AddrInstruction()
293 if (!LIS) { in sink3AddrInstruction()
307 if (LIS) in sink3AddrInstruction()
308 LIS->handleMove(*MI); in sink3AddrInstruction()
[all …]
DRegisterCoalescer.cpp88 LiveIntervals *LIS; member in __anon48aa05c90111::RegisterCoalescer
239 if (LIS->shrinkToUses(LI, Dead)) { in shrinkToUses()
243 LIS->splitSeparateComponents(*LI, SplitLIs); in shrinkToUses()
462 LiveRangeEdit(nullptr, NewRegs, *MF, *LIS, in eliminateDeadDefs()
477 LIS->getInterval(CP.isFlipped() ? CP.getDstReg() : CP.getSrcReg()); in adjustCopiesBackFrom()
479 LIS->getInterval(CP.isFlipped() ? CP.getSrcReg() : CP.getDstReg()); in adjustCopiesBackFrom()
480 SlotIndex CopyIdx = LIS->getInstructionIndex(*CopyMI).getRegSlot(); in adjustCopiesBackFrom()
516 MachineInstr *ACopyMI = LIS->getInstructionFromIndex(AValNo->def); in adjustCopiesBackFrom()
530 LIS->getInstructionFromIndex(ValS->end.getPrevSlot()); in adjustCopiesBackFrom()
591 if (LIS->hasPHIKill(IntA, AValNo)) in hasOtherReachingDefs()
[all …]
DCalcSpillWeights.cpp26 void llvm::calculateSpillWeightsAndHints(LiveIntervals &LIS, in calculateSpillWeightsAndHints() argument
36 VirtRegAuxInfo VRAI(MF, LIS, VRM, MLI, MBFI, norm); in calculateSpillWeightsAndHints()
41 VRAI.calculateSpillWeightAndHint(LIS.getInterval(Reg)); in calculateSpillWeightsAndHints()
78 const LiveIntervals &LIS, in isRematerializable() argument
91 MachineInstr *MI = LIS.getInstructionFromIndex(VNI->def); in isRematerializable()
113 const LiveInterval &SrcLI = LIS.getInterval(Reg); in isRematerializable()
119 MI = LIS.getInstructionFromIndex(VNI->def); in isRematerializable()
124 if (!TII.isTriviallyReMaterializable(*MI, LIS.getAliasAnalysis())) in isRematerializable()
176 if (writes && isExiting && LIS.isLiveOutOfMBB(li, mbb)) in calculateSpillWeightAndHint()
222 if (li.isZeroLength(LIS.getSlotIndexes()) && in calculateSpillWeightAndHint()
[all …]
DRenameIndependentSubregs.cpp72 SubRangeInfo(LiveIntervals &LIS, LiveInterval::SubRange &SR, in SubRangeInfo()
74 : ConEQ(LIS), SR(&SR), Index(Index) {} in SubRangeInfo()
104 LiveIntervals *LIS; member in __anon2b2608140111::RenameIndependentSubregs
143 LiveInterval &NewLI = LIS->createEmptyInterval(NewVReg); in INITIALIZE_PASS_DEPENDENCY()
162 SubRangeInfos.push_back(SubRangeInfo(*LIS, SR, NumComponents)); in findComponents()
189 SlotIndex Pos = LIS->getInstructionIndex(*MO.getParent()); in findComponents()
224 SlotIndex Pos = LIS->getInstructionIndex(MI); in rewriteOperands()
259 BumpPtrAllocator &Allocator = LIS->getVNInfoAllocator(); in distribute()
291 BumpPtrAllocator &Allocator = LIS->getVNInfoAllocator(); in computeMainRangesFixFlags()
292 const SlotIndexes &Indexes = *LIS->getSlotIndexes(); in computeMainRangesFixFlags()
[all …]
DRegAllocPBQP.cpp133 void findVRegIntervalsToAlloc(const MachineFunction &MF, LiveIntervals &LIS);
140 MachineFunction &MF, LiveIntervals &LIS, VirtRegMap &VRM,
152 void finalizeAlloc(MachineFunction &MF, LiveIntervals &LIS,
155 void postOptimization(Spiller &VRegSpiller, LiveIntervals &LIS);
164 LiveIntervals &LIS = G.getMetadata().LIS; in apply() local
172 LIS.getInterval(G.getNodeMetadata(NId).getVReg()).weight; in apply()
283 LiveIntervals &LIS = G.getMetadata().LIS; in apply() local
306 LiveInterval &LI = LIS.getInterval(VReg); in apply()
531 LiveIntervals &LIS) { in findVRegIntervalsToAlloc() argument
539 LiveInterval &LI = LIS.getInterval(Reg); in findVRegIntervalsToAlloc()
[all …]
DRegisterPressure.cpp194 static const LiveRange *getLiveRange(const LiveIntervals &LIS, unsigned Reg) { in getLiveRange() argument
196 return &LIS.getInterval(Reg); in getLiveRange()
197 return LIS.getCachedRegUnit(Reg); in getLiveRange()
202 LIS = nullptr; in reset()
238 LIS = lis; in init()
273 return LIS->getMBBEndIdx(MBB); in getCurrSlot()
274 return LIS->getInstructionIndex(*IdxPos).getRegSlot(); in getCurrSlot()
383 static LaneBitmask getLanesWithProperty(const LiveIntervals &LIS, in getLanesWithProperty() argument
388 const LiveInterval &LI = LIS.getInterval(RegUnit); in getLanesWithProperty()
401 const LiveRange *LR = LIS.getCachedRegUnit(RegUnit); in getLanesWithProperty()
[all …]
DRegAllocBase.cpp60 LIS = &lis; in init()
75 enqueue(&LIS->getInterval(Reg)); in seedLiveRegs()
92 LIS->removeInterval(VirtReg->reg); in allocatePhysRegs()
137 LiveInterval *SplitVirtReg = &LIS->getInterval(*I); in allocatePhysRegs()
142 LIS->removeInterval(SplitVirtReg->reg); in allocatePhysRegs()
157 LIS->RemoveMachineInstrFromMaps(*DeadInst); in postOptimization()
/external/llvm/lib/Target/AMDGPU/
DSILoadStoreOptimizer.cpp63 LiveIntervals *LIS; member in __anon9eda859e0111::SILoadStoreOptimizer
87 LIS(nullptr) {} in SILoadStoreOptimizer()
256 LIS->InsertMachineInstrInMaps(*Read2); in mergeRead2Pair()
260 SlotIndex PairedIndex = LIS->getInstructionIndex(*Paired); in mergeRead2Pair()
261 LiveRange &M0Range = LIS->getRegUnit(*MCRegUnitIterator(AMDGPU::M0, TRI)); in mergeRead2Pair()
267 LIS->ReplaceMachineInstrInMaps(*I, *Copy0); in mergeRead2Pair()
268 LIS->ReplaceMachineInstrInMaps(*Paired, *Copy1); in mergeRead2Pair()
273 LiveInterval &AddrRegLI = LIS->getInterval(AddrReg->getReg()); in mergeRead2Pair()
274 LIS->shrinkToUses(&AddrRegLI); in mergeRead2Pair()
276 LIS->createAndComputeVirtRegInterval(DestReg); in mergeRead2Pair()
[all …]
/external/llvm/lib/Target/PowerPC/
DPPCVSXFMAMutate.cpp66 LiveIntervals *LIS; member
108 SlotIndex FMAIdx = LIS->getInstructionIndex(*MI); in processBlock()
111 LIS->getInterval(MI->getOperand(1).getReg()).Query(FMAIdx).valueIn(); in processBlock()
117 MachineInstr *AddendMI = LIS->getInstructionFromIndex(AddendValNo->def); in processBlock()
191 if (LIS->getInterval(Reg2).Query(FMAIdx).isKill() in processBlock()
195 } else if (LIS->getInterval(Reg3).Query(FMAIdx).isKill() in processBlock()
212 !LIS->getInterval(AddendSrcReg).liveAt(FMAIdx)) in processBlock()
280 LiveInterval &FMAInt = LIS->getInterval(OldFMAReg); in processBlock()
298 LiveInterval &NewFMAInt = LIS->getInterval(KilledProdReg); in processBlock()
307 LIS->getVNInfoAllocator()); in processBlock()
[all …]
/external/llvm/lib/Target/Hexagon/
DHexagonExpandCondsets.cpp182 LIS(0), CoaLimitActive(false), in HexagonExpandCondsets()
209 LiveIntervals *LIS; member in __anonbf55a14b0111::HexagonExpandCondsets
349 MachineInstr *MI = LIS->getInstructionFromIndex(K); in updateKillFlags()
363 LiveInterval &LI = LIS->getInterval(Reg); in updateKillFlags()
371 MachineInstr *DefI = LIS->getInstructionFromIndex(NextI->start); in updateKillFlags()
399 LocalImpDefs.count(LIS->getInstructionFromIndex(S.start)); in removeImpDefSegments()
456 MachineInstr *DefI = LIS->getInstructionFromIndex(Seg.start); in updateDeadsInRange()
464 MachineBasicBlock *BB = LIS->getMBBFromIndex(SI); in updateDeadsInRange()
465 if (Range.extendInBlock(LIS->getMBBStartIdx(BB), SI)) in updateDeadsInRange()
475 MachineBasicBlock *BB = LIS->getMBBFromIndex(SI); in updateDeadsInRange()
[all …]
/external/llvm/include/llvm/CodeGen/
DCalcSpillWeights.h54 LiveIntervals &LIS; variable
66 : MF(mf), LIS(lis), VRM(vrm), Loops(loops), MBFI(mbfi), normalize(norm) {} in MF()
74 void calculateSpillWeightsAndHints(LiveIntervals &LIS, MachineFunction &MF,

1234