/external/swiftshader/third_party/llvm-7.0/llvm/unittests/MI/ |
D | LiveIntervalTest.cpp | 86 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/ |
D | LiveIntervalTest.cpp | 91 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/ |
D | WebAssemblyRegStackify.cpp | 229 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 …]
|
D | WebAssemblyStoreResults.cpp | 82 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 …]
|
D | WebAssemblyOptimizeLiveIntervals.cpp | 71 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/ |
D | SILowerControlFlow.cpp | 83 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/ |
D | WebAssemblyRegStackify.cpp | 266 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 …]
|
D | WebAssemblyStoreResults.cpp | 83 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 …]
|
D | WebAssemblyOptimizeLiveIntervals.cpp | 74 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/ |
D | LiveRangeEdit.cpp | 40 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 …]
|
D | PHIElimination.cpp | 69 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 …]
|
D | LiveDebugVariables.cpp | 172 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 …]
|
D | SplitKit.cpp | 74 : 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 …]
|
D | InlineSpiller.cpp | 84 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 …]
|
D | TwoAddressInstructionPass.cpp | 100 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 …]
|
D | CalcSpillWeights.cpp | 32 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 …]
|
D | RegisterCoalescer.cpp | 105 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/ |
D | PHIElimination.cpp | 57 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 …]
|
D | LiveRangeEdit.cpp | 39 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 …]
|
D | SplitKit.cpp | 46 : 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 …]
|
D | InlineSpiller.cpp | 61 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 …]
|
D | LiveDebugVariables.cpp | 134 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 …]
|
D | TwoAddressInstructionPass.cpp | 79 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 …]
|
D | RegisterCoalescer.cpp | 88 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 …]
|
D | CalcSpillWeights.cpp | 26 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 …]
|