Home
last modified time | relevance | path

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

1234567

/external/swiftshader/third_party/llvm-7.0/llvm/unittests/MI/
DLiveIntervalTest.cpp86 LiveIntervals &LIS = getAnalysis<LiveIntervals>(); in runOnMachineFunction() local
87 T(MF, LIS); in runOnMachineFunction()
119 static void testHandleMove(MachineFunction &MF, LiveIntervals &LIS, in testHandleMove() argument
126 LIS.handleMove(FromInstr, true); in testHandleMove()
170 )MIR", [](MachineFunction &MF, LiveIntervals &LIS) { in TEST() argument
171 testHandleMove(MF, LIS, 2, 1); in TEST()
181 )MIR", [](MachineFunction &MF, LiveIntervals &LIS) { in TEST() argument
182 testHandleMove(MF, LIS, 2, 1); in TEST()
192 )MIR", [](MachineFunction &MF, LiveIntervals &LIS) { in TEST() argument
193 testHandleMove(MF, LIS, 2, 1); in TEST()
[all …]
/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-7.0/llvm/lib/Target/AMDGPU/
DSILowerControlFlow.cpp83 LiveIntervals *LIS = nullptr; member in __anon0ea23f560111::SILowerControlFlow
229 if (!LIS) { in emitIf()
234 LIS->InsertMachineInstrInMaps(*CopyExec); in emitIf()
238 LIS->ReplaceMachineInstrInMaps(MI, *And); in emitIf()
241 LIS->InsertMachineInstrInMaps(*Xor); in emitIf()
242 LIS->InsertMachineInstrInMaps(*SetExec); in emitIf()
243 LIS->InsertMachineInstrInMaps(*NewBr); in emitIf()
245 LIS->removeRegUnit(*MCRegUnitIterator(AMDGPU::EXEC, TRI)); in emitIf()
251 LIS->removeInterval(SaveExecReg); in emitIf()
252 LIS->createAndComputeVirtRegInterval(SaveExecReg); in emitIf()
[all …]
/external/swiftshader/third_party/llvm-7.0/llvm/lib/Target/WebAssembly/
DWebAssemblyRegStackify.cpp266 const LiveIntervals &LIS) in GetVRegDef() argument
273 if (const VNInfo *ValNo = LIS.getInterval(Reg).getVNInfoBefore( in GetVRegDef()
274 LIS.getInstructionIndex(*Insert))) in GetVRegDef()
275 return LIS.getInstructionFromIndex(ValNo->def); in GetVRegDef()
285 LiveIntervals &LIS) { in HasOneUse() argument
291 const LiveInterval &LI = LIS.getInterval(Reg); in HasOneUse()
293 LIS.getInstructionIndex(*Def).getRegSlot()); in HasOneUse()
296 const auto &Result = LI.Query(LIS.getInstructionIndex(*I.getParent())); in HasOneUse()
389 LiveIntervals &LIS, in OneUseDominatesOtherUses() argument
391 const LiveInterval &LI = LIS.getInterval(Reg); in OneUseDominatesOtherUses()
[all …]
DWebAssemblyStoreResults.cpp83 LiveIntervals &LIS) { in ReplaceDominatedUses() argument
86 LiveInterval *FromLI = &LIS.getInterval(FromReg); in ReplaceDominatedUses()
87 LiveInterval *ToLI = &LIS.getInterval(ToReg); in ReplaceDominatedUses()
89 SlotIndex FromIdx = LIS.getInstructionIndex(MI).getRegSlot(); in ReplaceDominatedUses()
103 SlotIndex WhereIdx = LIS.getInstructionIndex(*Where); in ReplaceDominatedUses()
128 LIS.extendToIndices(*ToLI, Indices); in ReplaceDominatedUses()
131 LIS.shrinkToUses(FromLI); in ReplaceDominatedUses()
146 LiveIntervals &LIS, in optimizeCall() argument
169 return ReplaceDominatedUses(MBB, MI, FromReg, ToReg, MRI, MDT, LIS); in optimizeCall()
183 LiveIntervals &LIS = getAnalysis<LiveIntervals>(); in runOnMachineFunction() local
[all …]
DWebAssemblyOptimizeLiveIntervals.cpp74 LiveIntervals &LIS = getAnalysis<LiveIntervals>(); in runOnMachineFunction() local
89 LIS.splitSeparateComponents(LIS.getInterval(Reg), SplitLIs); in runOnMachineFunction()
100 LiveInterval &LI = LIS.getInterval(MI->getOperand(0).getReg()); in runOnMachineFunction()
101 LIS.removeVRegDefAt(LI, LIS.getInstructionIndex(*MI).getRegSlot()); in runOnMachineFunction()
102 LIS.RemoveMachineInstrFromMaps(*MI); in runOnMachineFunction()
/external/swiftshader/third_party/llvm-7.0/llvm/lib/CodeGen/
DLiveRangeEdit.cpp40 LiveInterval &LI = LIS.createEmptyInterval(VReg); in createEmptyIntervalFrom()
47 LiveInterval &OldLI = LIS.getInterval(OldReg); in createEmptyIntervalFrom()
48 VNInfo::Allocator &Alloc = LIS.getVNInfoAllocator(); in createEmptyIntervalFrom()
67 LIS.getInterval(VReg).markNotSpillable(); in createFrom()
87 LiveInterval &OrigLI = LIS.getInterval(Original); in scanRemattable()
91 MachineInstr *DefMI = LIS.getInstructionFromIndex(OrigVNI->def); in scanRemattable()
124 LiveInterval &li = LIS.getInterval(MO.getReg()); in allUsesAvailableAt()
152 DefIdx = LIS.getInstructionIndex(*RM.OrigMI); in canRematerializeAt()
178 return LIS.getSlotIndexes()->insertMachineInstrInMaps(*MI, Late).getRegSlot(); in rematerializeAt()
183 LIS.removeInterval(Reg); in eraseVirtReg()
[all …]
DPHIElimination.cpp69 LiveIntervals *LIS; member in __anon97cb94f30111::PHIElimination
149 LIS = getAnalysisIfAvailable<LiveIntervals>(); in runOnMachineFunction()
158 if (!DisableEdgeSplitting && (LV || LIS)) { in runOnMachineFunction()
175 if (LIS) in runOnMachineFunction()
176 LIS->RemoveMachineInstrFromMaps(*DefMI); in runOnMachineFunction()
183 if (LIS) in runOnMachineFunction()
184 LIS->RemoveMachineInstrFromMaps(*I.first); in runOnMachineFunction()
324 if (LIS) { in LowerPHINode()
326 LIS->InsertMachineInstrInMaps(*std::prev(AfterPHIsIt)); in LowerPHINode()
328 SlotIndex MBBStartIndex = LIS->getMBBStartIdx(&MBB); in LowerPHINode()
[all …]
DLiveDebugVariables.cpp172 DbgValueLocation Loc, bool Spilled, LiveIntervals &LIS,
179 LiveIntervals &LIS);
287 LiveIntervals &LIS);
301 MachineRegisterInfo &MRI, LiveIntervals &LIS);
306 LiveIntervals &LIS, LexicalScopes &LS);
311 LiveIntervals &LIS);
319 void emitDebugValues(VirtRegMap *VRM, LiveIntervals &LIS,
335 LiveIntervals *LIS; member in __anonf19fb6c90211::LDVImpl
534 if (!LIS->hasInterval(Reg)) { in handleDebugValue()
544 const LiveInterval &LI = LIS->getInterval(Reg); in handleDebugValue()
[all …]
DSplitKit.cpp74 : LIS(lis), LastInsertPoint(BBNum) {} in InsertPointAnalysis()
81 SlotIndex MBBEnd = LIS.getMBBEndIdx(&MBB); in computeLastInsertPoint()
95 LIP.first = LIS.getInstructionIndex(*FirstTerm); in computeLastInsertPoint()
106 LIP.second = LIS.getInstructionIndex(*I); in computeLastInsertPoint()
118 return LIS.isLiveInToMBB(CurLI, EHPad); in computeLastInsertPoint()
143 if (LIP == LIS.getMBBEndIdx(&MBB)) in getLastInsertPointIter()
145 return LIS.getInstructionFromIndex(LIP); in getLastInsertPointIter()
154 : MF(vrm.getMachineFunction()), VRM(vrm), LIS(lis), Loops(mli), in SplitAnalysis()
179 UseSlots.push_back(LIS.getInstructionIndex(*MO.getParent()).getRegSlot()); in analyzeUses()
196 const_cast<LiveIntervals&>(LIS) in analyzeUses()
[all …]
DInlineSpiller.cpp84 LiveIntervals &LIS; member in __anon5377c6d30111::HoistSpillHelper
138 : MF(mf), LIS(pass.getAnalysis<LiveIntervals>()), in HoistSpillHelper()
146 IPA(LIS, mf.getNumBlockIDs()) {} in HoistSpillHelper()
157 LiveIntervals &LIS; member in __anon5377c6d30111::InlineSpiller
194 : MF(mf), LIS(pass.getAnalysis<LiveIntervals>()), in InlineSpiller()
280 if (SnipLI.getNumValNums() > 2 || !LIS.intervalIsInOneMBB(SnipLI)) in isSnippet()
332 LiveInterval &SnipLI = LIS.getInterval(SnipReg); in collectRegsToSpill()
370 SlotIndex Idx = LIS.getInstructionIndex(CopyMI); in hoistSpillInsideBB()
377 LiveInterval &SrcLI = LIS.getInterval(SrcReg); in hoistSpillInsideBB()
380 MachineBasicBlock *DefMBB = LIS.getMBBFromIndex(SrcVNI->def); in hoistSpillInsideBB()
[all …]
DTwoAddressInstructionPass.cpp100 LiveIntervals *LIS; member in __anonea47c1520111::TwoAddressInstructionPass
211 static bool isPlainlyKilled(MachineInstr *MI, unsigned Reg, LiveIntervals *LIS);
252 if (LIS) { in sink3AddrInstruction()
253 LiveInterval &LI = LIS->getInterval(SavedReg); in sink3AddrInstruction()
257 SlotIndex MBBEndIdx = LIS->getMBBEndIdx(MBB).getPrevSlot(); in sink3AddrInstruction()
263 KillMI = LIS->getInstructionFromIndex(I->end); in sink3AddrInstruction()
309 if (MO.isKill() || (LIS && isPlainlyKilled(&OtherMI, MOReg, LIS))) { in sink3AddrInstruction()
322 if (!LIS) { in sink3AddrInstruction()
336 if (LIS) in sink3AddrInstruction()
337 LIS->handleMove(*MI); in sink3AddrInstruction()
[all …]
DCalcSpillWeights.cpp32 void llvm::calculateSpillWeightsAndHints(LiveIntervals &LIS, in calculateSpillWeightsAndHints() argument
42 VirtRegAuxInfo VRAI(MF, LIS, VRM, MLI, MBFI, norm); in calculateSpillWeightsAndHints()
47 VRAI.calculateSpillWeightAndHint(LIS.getInterval(Reg)); in calculateSpillWeightsAndHints()
95 const LiveIntervals &LIS, in isRematerializable() argument
108 MachineInstr *MI = LIS.getInstructionFromIndex(VNI->def); in isRematerializable()
130 const LiveInterval &SrcLI = LIS.getInterval(Reg); in isRematerializable()
136 MI = LIS.getInstructionFromIndex(VNI->def); in isRematerializable()
141 if (!TII.isTriviallyReMaterializable(*MI, LIS.getAliasAnalysis())) in isRematerializable()
182 MachineBasicBlock *localMBB = LIS.getMBBFromIndex(*end); in weightCalcHelper()
183 assert(localMBB == LIS.getMBBFromIndex(*start) && in weightCalcHelper()
[all …]
DRegisterCoalescer.cpp105 LiveIntervals *LIS; member in __anond999d36f0111::RegisterCoalescer
261 if (LIS->shrinkToUses(LI, Dead)) { in shrinkToUses()
265 LIS->splitSeparateComponents(*LI, SplitLIs); in shrinkToUses()
275 LIS->RemoveMachineInstrFromMaps(*MI); in deleteInstr()
496 LiveRangeEdit(nullptr, NewRegs, *MF, *LIS, in eliminateDeadDefs()
511 LIS->getInterval(CP.isFlipped() ? CP.getDstReg() : CP.getSrcReg()); in adjustCopiesBackFrom()
513 LIS->getInterval(CP.isFlipped() ? CP.getSrcReg() : CP.getDstReg()); in adjustCopiesBackFrom()
514 SlotIndex CopyIdx = LIS->getInstructionIndex(*CopyMI).getRegSlot(); in adjustCopiesBackFrom()
550 MachineInstr *ACopyMI = LIS->getInstructionFromIndex(AValNo->def); in adjustCopiesBackFrom()
564 LIS->getInstructionFromIndex(ValS->end.getPrevSlot()); in adjustCopiesBackFrom()
[all …]
/external/llvm/lib/CodeGen/
DPHIElimination.cpp57 LiveIntervals *LIS; member in __anoncdf5f75b0111::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 __anon932b7c3b0111::HoistSpillHelper
112 : MF(mf), LIS(pass.getAnalysis<LiveIntervals>()), in HoistSpillHelper()
121 IPA(LIS, mf.getNumBlockIDs()) {} in HoistSpillHelper()
132 LiveIntervals &LIS; member in __anon932b7c3b0111::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 __anon21850d310311::LDVImpl
525 ? LIS->getMBBStartIdx(MBB) in collectDebugValues()
526 : LIS->getInstructionIndex(*std::prev(MBBI)).getRegSlot(); in collectDebugValues()
[all …]
DTwoAddressInstructionPass.cpp79 LiveIntervals *LIS; member in __anonbeced2ba0111::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 __anon8d79fcd70111::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 …]

1234567