/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/lib/CodeGen/ |
D | RegisterCoalescer.cpp | 87 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 …]
|
D | SplitKit.cpp | 47 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 …]
|
D | InlineSpiller.cpp | 56 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 …]
|
D | LiveRangeEdit.cpp | 33 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 …]
|
D | LiveDebugVariables.cpp | 129 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/ |
D | PHIElimination.cpp | 57 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 …]
|
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 __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 …]
|
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 __anon42b634630311::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 __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 …]
|
D | RegisterCoalescer.cpp | 88 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 …]
|
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 …]
|
D | RenameIndependentSubregs.cpp | 72 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 …]
|
D | RegAllocPBQP.cpp | 133 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 …]
|
D | RegisterPressure.cpp | 194 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 …]
|
D | RegAllocBase.cpp | 60 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/ |
D | SILoadStoreOptimizer.cpp | 63 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/ |
D | PPCVSXFMAMutate.cpp | 66 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/ |
D | HexagonExpandCondsets.cpp | 182 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/ |
D | CalcSpillWeights.h | 54 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,
|