/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/include/llvm/CodeGen/ |
D | SlotIndexes.h | 83 class SlotIndex { 112 SlotIndex(IndexListEntry *entry, unsigned slot) 141 SlotIndex() = default; 144 SlotIndex(const SlotIndex &li, Slot s) : lie(li.listEntry(), unsigned(s)) { 165 bool operator==(SlotIndex other) const { 169 bool operator!=(SlotIndex other) const { 175 bool operator<(SlotIndex other) const { 180 bool operator<=(SlotIndex other) const { 186 bool operator>(SlotIndex other) const { 192 bool operator>=(SlotIndex other) const { [all …]
|
D | LiveInterval.h | 60 SlotIndex def; 63 VNInfo(unsigned i, SlotIndex d) : id(i), def(d) {} in VNInfo() 83 void markUnused() { def = SlotIndex(); } in markUnused() 92 const SlotIndex EndPoint; 96 LiveQueryResult(VNInfo *EarlyVal, VNInfo *LateVal, SlotIndex EndPoint, in LiveQueryResult() 146 SlotIndex endPoint() const { in endPoint() 162 SlotIndex start; // Start point of the interval (inclusive) 163 SlotIndex end; // End point of the interval (exclusive) 169 Segment(SlotIndex S, SlotIndex E, VNInfo *V) in Segment() 175 bool contains(SlotIndex I) const { in contains() [all …]
|
D | LiveIntervals.h | 72 SmallVector<SlotIndex, 8> RegMaskSlots; 184 void extendToIndices(LiveRange &LR, ArrayRef<SlotIndex> Indices, 185 ArrayRef<SlotIndex> Undefs); 187 void extendToIndices(LiveRange &LR, ArrayRef<SlotIndex> Indices) { in extendToIndices() 198 void pruneValue(LiveRange &LR, SlotIndex Kill, 199 SmallVectorImpl<SlotIndex> *EndPoints); 205 LLVM_ATTRIBUTE_UNUSED void pruneValue(LiveInterval &, SlotIndex, in pruneValue() argument 206 SmallVectorImpl<SlotIndex> *) { in pruneValue() argument 226 SlotIndex getInstructionIndex(const MachineInstr &Instr) const { in getInstructionIndex() 231 MachineInstr* getInstructionFromIndex(SlotIndex index) const { in getInstructionFromIndex() [all …]
|
D | LiveRangeCalc.h | 111 SlotIndex Kill; 116 LiveInBlock(LiveRange &LR, MachineDomTreeNode *node, SlotIndex kill) in LiveInBlock() 128 bool isDefOnEntry(LiveRange &LR, ArrayRef<SlotIndex> Undefs, 148 bool findReachingDefs(LiveRange &LR, MachineBasicBlock &UseMBB, SlotIndex Use, 149 unsigned PhysReg, ArrayRef<SlotIndex> Undefs); 210 void extend(LiveRange &LR, SlotIndex Use, unsigned PhysReg, 211 ArrayRef<SlotIndex> Undefs); 270 SlotIndex Kill = SlotIndex()) { 289 ArrayRef<SlotIndex> Defs,
|
D | CalcSpillWeights.h | 41 return UseDefFreq / (Size + 25*SlotIndex::InstrDist); in normalizeSpillWeight() 78 float futureWeight(LiveInterval &li, SlotIndex start, SlotIndex end); 92 float weightCalcHelper(LiveInterval &li, SlotIndex *start = nullptr, 93 SlotIndex *end = nullptr);
|
D | LiveIntervalUnion.h | 46 using LiveSegments = IntervalMap<SlotIndex, LiveInterval*>; 71 SegmentIter find(SlotIndex x) { return Segments.find(x); } in find() 74 ConstSegmentIter find(SlotIndex x) const { return Segments.find(x); } in find() 77 SlotIndex startIndex() const { return Segments.start(); } in startIndex() 78 SlotIndex endIndex() const { return Segments.stop(); } in endIndex()
|
D | RegisterPressure.h | 70 SlotIndex TopIdx; 71 SlotIndex BottomIdx; 75 void openTop(SlotIndex NextTop); 77 void openBottom(SlotIndex PrevBottom); 193 const MachineRegisterInfo &MRI, SlotIndex Pos, 549 SlotIndex getCurrSlot() const; 564 LaneBitmask getLastUsedLanes(unsigned RegUnit, SlotIndex Pos) const; 565 LaneBitmask getLiveLanesAt(unsigned RegUnit, SlotIndex Pos) const; 566 LaneBitmask getLiveThroughAt(unsigned RegUnit, SlotIndex Pos) const;
|
D | LiveRangeEdit.h | 101 bool allUsesAvailableAt(const MachineInstr *OrigMI, SlotIndex OrigIdx, 102 SlotIndex UseIdx) const; 212 bool canRematerializeAt(Remat &RM, VNInfo *OrigVNI, SlotIndex UseIdx, 219 SlotIndex rematerializeAt(MachineBasicBlock &MBB,
|
D | LiveRegMatrix.h | 114 bool checkInterference(SlotIndex Start, SlotIndex End, unsigned PhysReg);
|
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/CodeGen/ |
D | SplitKit.h | 57 SmallVector<std::pair<SlotIndex, SlotIndex>, 8> LastInsertPoint; 59 SlotIndex computeLastInsertPoint(const LiveInterval &CurLI, 66 SlotIndex getLastInsertPoint(const LiveInterval &CurLI, in getLastInsertPoint() 81 SlotIndex getFirstInsertPoint(MachineBasicBlock &MBB) { in getFirstInsertPoint() 82 SlotIndex Res = LIS.getMBBStartIdx(&MBB); in getFirstInsertPoint() 122 SlotIndex FirstInstr; ///< First instr accessing current reg. 123 SlotIndex LastInstr; ///< Last instr accessing current reg. 124 SlotIndex FirstDef; ///< First non-phi valno->def, or SlotIndex(). 131 return SlotIndex::isSameInstr(FirstInstr, LastInstr); in isOneInstr() 143 SmallVector<SlotIndex, 8> UseSlots; [all …]
|
D | LiveIntervals.cpp | 170 for (SlotIndex Idx : RegMaskSlots) in print() 330 SlotIndex Begin = Indexes->getMBBStartIdx(&MBB); in computeLiveInRegUnits() 360 SlotIndex Def = VNI->def; in createSegmentsForValues() 391 SlotIndex Idx = WorkList.back().first; in extendSegmentsToUses() 395 SlotIndex BlockStart = Indexes->getMBBStartIdx(MBB); in extendSegmentsToUses() 409 SlotIndex Stop = Indexes->getMBBEndIdx(Pred); in extendSegmentsToUses() 425 SlotIndex Stop = Indexes->getMBBEndIdx(Pred); in extendSegmentsToUses() 436 SmallVector<SlotIndex,8> Undefs; in extendSegmentsToUses() 470 SlotIndex Idx = getInstructionIndex(UseMI).getRegSlot(); in shrinkToUses() 513 SlotIndex Def = VNI->def; in computeDeadValues() [all …]
|
D | SplitKit.cpp | 75 SlotIndex 79 std::pair<SlotIndex, SlotIndex> &LIP = LastInsertPoint[Num]; in computeLastInsertPoint() 80 SlotIndex MBBEnd = LIS.getMBBEndIdx(&MBB); in computeLastInsertPoint() 130 if (!SlotIndex::isEarlierInstr(VNI->def, LIP.second) && VNI->def < MBBEnd) in computeLastInsertPoint() 141 SlotIndex LIP = getLastInsertPoint(CurLI, MBB); in getLastInsertPointIter() 185 SlotIndex::isSameInstr), in analyzeUses() 220 SmallVectorImpl<SlotIndex>::const_iterator UseI, UseE; in calcLiveBlockInfo() 230 SlotIndex Start, Stop; in calcLiveBlockInfo() 265 SlotIndex LastStop = LVI->end; in calcLiveBlockInfo() 327 SlotIndex Stop = LIS.getMBBEndIdx(&*MFI); in countLiveBlocks() [all …]
|
D | SlotIndexes.cpp | 83 SlotIndex blockStartIndex(&indexList.back(), SlotIndex::Slot_Block); in runOnMachineFunction() 90 indexList.push_back(createEntry(&MI, index += SlotIndex::InstrDist)); in runOnMachineFunction() 94 &MI, SlotIndex(&indexList.back(), SlotIndex::Slot_Block))); in runOnMachineFunction() 98 indexList.push_back(createEntry(nullptr, index += SlotIndex::InstrDist)); in runOnMachineFunction() 101 MBBRanges[MBB.getNumber()].second = SlotIndex(&indexList.back(), in runOnMachineFunction() 102 SlotIndex::Slot_Block); in runOnMachineFunction() 122 SlotIndex MIIndex = mi2iItr->second; in removeMachineInstrFromMaps() 135 SlotIndex MIIndex = mi2iItr->second; in removeSingleMachineInstrFromMaps() 161 const unsigned Space = SlotIndex::InstrDist/2; in renumberIndexes() 191 SlotIndex startIdx; in repairIndexesInRange() [all …]
|
D | LiveDebugVariables.cpp | 138 using LocMap = IntervalMap<SlotIndex, DbgValueLocation, 4>; 173 SmallSet<SlotIndex, 2> trimmedDefs; 176 void insertDebugValue(MachineBasicBlock *MBB, SlotIndex StartIdx, 177 SlotIndex StopIdx, DbgValueLocation Loc, bool Spilled, 288 void addDef(SlotIndex Idx, const MachineOperand &LocMO, bool IsIndirect) { in addDef() 313 void extendDef(SlotIndex Idx, DbgValueLocation Loc, 315 SmallVectorImpl<SlotIndex> *Kills, 329 const SmallVectorImpl<SlotIndex> &Kills, 330 SmallVectorImpl<std::pair<SlotIndex, DbgValueLocation>> &NewDefs, 368 SlotIndex loc; ///< Slot used by the debug label. [all …]
|
D | InterferenceCache.cpp | 98 PrevPos = SlotIndex(); in revalidate() 115 PrevPos = SlotIndex(); in reset() 136 SlotIndex Start, Stop; in update() 161 ArrayRef<SlotIndex> RegMaskSlots; in update() 165 BI->First = BI->Last = SlotIndex(); in update() 172 SlotIndex StartI = I.start(); in update() 185 SlotIndex StartI = I->start; in update() 195 SlotIndex Limit = BI->First.isValid() ? BI->First : Stop; in update() 227 SlotIndex StopI = I.stop(); in update() 244 SlotIndex StopI = I->end; in update() [all …]
|
D | LiveInterval.cpp | 87 VNInfo *createDeadDef(SlotIndex Def, VNInfo::Allocator *VNInfoAllocator, in createDeadDef() 100 if (SlotIndex::isSameInstr(Def, S->start)) { in createDeadDef() 114 assert(SlotIndex::isEarlierInstr(Def, S->start) && "Already live at def"); in createDeadDef() 120 VNInfo *extendInBlock(SlotIndex StartIdx, SlotIndex Use) { in extendInBlock() 135 std::pair<VNInfo*,bool> extendInBlock(ArrayRef<SlotIndex> Undefs, in extendInBlock() 136 SlotIndex StartIdx, SlotIndex Use) { in extendInBlock() 139 SlotIndex BeforeUse = Use.getPrevSlot(); in extendInBlock() 158 void extendSegmentEndTo(iterator I, SlotIndex NewEnd) { in extendSegmentEndTo() 186 iterator extendSegmentStartTo(iterator I, SlotIndex NewStart) { in extendSegmentStartTo() 220 SlotIndex Start = S.start, End = S.end; in addSegment() [all …]
|
D | LiveRangeCalc.cpp | 41 static VNInfo UndefVNI(0xbad, SlotIndex()); 67 SlotIndex DefIdx = in createDeadDef() 158 SmallVector<SlotIndex, 4> Undefs; in extendToUses() 190 SlotIndex UseIdx; in extendToUses() 223 SlotIndex Start, End; in updateFromLiveIns() 241 void LiveRangeCalc::extend(LiveRange &LR, SlotIndex Use, unsigned PhysReg, in extend() 242 ArrayRef<SlotIndex> Undefs) { in extend() 276 bool LiveRangeCalc::isDefOnEntry(LiveRange &LR, ArrayRef<SlotIndex> Undefs, in isDefOnEntry() 307 SlotIndex Begin, End; in isDefOnEntry() 347 SlotIndex Use, unsigned PhysReg, in findReachingDefs() [all …]
|
D | InterferenceCache.h | 37 SlotIndex First; 38 SlotIndex Last; 66 SlotIndex PrevPos; 232 SlotIndex first() { in first() 238 SlotIndex last() { in last()
|
D | RegisterPressure.cpp | 178 TopIdx = BottomIdx = SlotIndex(); in reset() 194 void IntervalPressure::openTop(SlotIndex NextTop) { in openTop() 197 TopIdx = SlotIndex(); in openTop() 210 void IntervalPressure::openBottom(SlotIndex PrevBottom) { in openBottom() 213 BottomIdx = SlotIndex(); in openBottom() 310 SlotIndex RegPressureTracker::getCurrSlot() const { in getCurrSlot() 423 SlotIndex Pos, LaneBitmask SafeDefault, in getLanesWithProperty() 424 bool(*Property)(const LiveRange &LR, SlotIndex Pos)) { in getLanesWithProperty() 452 SlotIndex Pos) { in getLiveLanesAt() 455 [](const LiveRange &LR, SlotIndex Pos) { in getLiveLanesAt() [all …]
|
D | RenameIndependentSubregs.cpp | 189 SlotIndex Pos = LIS->getInstructionIndex(*MO.getParent()); in findComponents() 223 SlotIndex Pos = LIS->getInstructionIndex(*MI); in rewriteOperands() 291 static bool subRangeLiveAt(const LiveInterval &LI, SlotIndex Pos) { in subRangeLiveAt() 323 SlotIndex Def = VNI.def; in computeMainRangesFixFlags() 326 SlotIndex PredEnd = Indexes.getMBBEndIdx(PredMBB); in computeMainRangesFixFlags() 335 SlotIndex DefIdx = LIS->InsertMachineInstrInMaps(*ImpDef); in computeMainRangesFixFlags() 336 SlotIndex RegDefIdx = DefIdx.getRegSlot(); in computeMainRangesFixFlags() 355 SlotIndex Pos = LIS->getInstructionIndex(*MO.getParent()); in computeMainRangesFixFlags() 360 SlotIndex Pos = LIS->getInstructionIndex(*MO.getParent()).getDeadSlot(); in computeMainRangesFixFlags()
|
D | RegisterCoalescer.cpp | 139 using DbgValueLoc = std::pair<SlotIndex, MachineInstr*>; 297 void addUndefFlag(const LiveInterval &Int, SlotIndex UseIdx, 593 SlotIndex CopyIdx = LIS->getInstructionIndex(*CopyMI).getRegSlot(); in adjustCopiesBackFrom() 621 SlotIndex CopyUseIdx = CopyIdx.getRegSlot(true); in adjustCopiesBackFrom() 654 SlotIndex FillerStart = ValS->end, FillerEnd = BS->start; in adjustCopiesBackFrom() 674 if (SS != S.end() && SlotIndex::isSameInstr(SS->start, SS->end)) { in adjustCopiesBackFrom() 798 SlotIndex CopyIdx = LIS->getInstructionIndex(*CopyMI).getRegSlot(); in removeCopyByCommutingDef() 848 SlotIndex UseIdx = LIS->getInstructionIndex(*UseMI); in removeCopyByCommutingDef() 902 SlotIndex UseIdx = LIS->getInstructionIndex(*UseMI).getRegSlot(true); in removeCopyByCommutingDef() 923 SlotIndex DefIdx = UseIdx.getRegSlot(); in removeCopyByCommutingDef() [all …]
|
D | LiveRangeEdit.cpp | 107 SlotIndex OrigIdx, in allUsesAvailableAt() 108 SlotIndex UseIdx) const { in allUsesAvailableAt() 131 if (SlotIndex::isSameInstr(OrigIdx, UseIdx)) in allUsesAvailableAt() 141 SlotIndex UseIdx, bool cheapAsAMove) { in canRematerializeAt() 149 SlotIndex DefIdx; in canRematerializeAt() 164 SlotIndex LiveRangeEdit::rematerializeAt(MachineBasicBlock &MBB, in rematerializeAt() 246 SlotIndex Idx = LIS.getInstructionIndex(MI).getRegSlot(); in useIsKill() 263 SlotIndex Idx = LIS.getInstructionIndex(*MI).getRegSlot(); in eliminateDeadDef() 303 isOrigDef = SlotIndex::isSameInstr(OrigVNI->def, Idx); in eliminateDeadDef()
|
D | CalcSpillWeights.cpp | 146 float VirtRegAuxInfo::futureWeight(LiveInterval &li, SlotIndex start, in futureWeight() 147 SlotIndex end) { in futureWeight() 151 float VirtRegAuxInfo::weightCalcHelper(LiveInterval &li, SlotIndex *start, in weightCalcHelper() 152 SlotIndex *end) { in weightCalcHelper() 213 SlotIndex si = LIS.getInstructionIndex(*mi); in weightCalcHelper()
|
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Target/AMDGPU/ |
D | GCNRegPressure.h | 188 SlotIndex SI, 192 GCNRPTracker::LiveRegSet getLiveRegs(SlotIndex SI, 204 std::vector<SlotIndex> Indexes; in getLiveRegMap() 215 SmallVector<SlotIndex, 32> LiveIdxs, SRLiveIdxs; in getLiveRegMap() 264 void printLivesAt(SlotIndex SI,
|
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Target/WebAssembly/ |
D | WebAssemblyMemIntrinsicResults.cpp | 94 SlotIndex FromIdx = LIS.getInstructionIndex(MI).getRegSlot(); in replaceDominatedUses() 97 SmallVector<SlotIndex, 4> Indices; in replaceDominatedUses() 109 SlotIndex WhereIdx = LIS.getInstructionIndex(*Where); in replaceDominatedUses()
|