/external/swiftshader/third_party/LLVM/include/llvm/CodeGen/ |
D | SlotIndexes.h | 82 class SlotIndex { 84 friend struct DenseMapInfo<SlotIndex>; 90 SlotIndex(IndexListEntry *entry, unsigned slot) 107 static inline unsigned getHashValue(const SlotIndex &v) { 119 static inline SlotIndex getEmptyKey() { 120 return SlotIndex(0, 1); 123 static inline SlotIndex getTombstoneKey() { 124 return SlotIndex(0, 2); 128 SlotIndex() : lie(0, 0) {} 131 SlotIndex(const SlotIndex &li, Slot s) [all …]
|
D | LiveInterval.h | 61 SlotIndex def; 64 VNInfo(unsigned i, SlotIndex d, MachineInstr *c) in VNInfo() 150 SlotIndex start; // Start point of the interval (inclusive) 151 SlotIndex end; // End point of the interval (exclusive) 154 LiveRange(SlotIndex S, SlotIndex E, VNInfo *V) in LiveRange() 162 bool contains(SlotIndex I) const { in contains() 168 bool containsRange(SlotIndex S, SlotIndex E) const { in containsRange() 192 inline bool operator<(SlotIndex V, const LiveRange &LR) { 196 inline bool operator<(const LiveRange &LR, SlotIndex V) { 249 iterator advanceTo(iterator I, SlotIndex Pos) { [all …]
|
D | LiveIntervalAnalysis.h | 180 SlotIndex getZeroIndex() const { in getZeroIndex() 184 SlotIndex getInvalidIndex() const { in getInvalidIndex() 195 SlotIndex getInstructionIndex(const MachineInstr *instr) const { in getInstructionIndex() 200 MachineInstr* getInstructionFromIndex(SlotIndex index) const { in getInstructionFromIndex() 205 SlotIndex getMBBStartIdx(const MachineBasicBlock *mbb) const { in getMBBStartIdx() 210 SlotIndex getMBBEndIdx(const MachineBasicBlock *mbb) const { in getMBBEndIdx() 234 MachineBasicBlock* getMBBFromIndex(SlotIndex index) const { in getMBBFromIndex() 238 SlotIndex InsertMachineInstrInMaps(MachineInstr *MI) { in InsertMachineInstrInMaps() 254 bool findLiveInMBBs(SlotIndex Start, SlotIndex End, in findLiveInMBBs() 332 SlotIndex MIIdx, [all …]
|
/external/llvm/include/llvm/CodeGen/ |
D | SlotIndexes.h | 91 class SlotIndex { 120 SlotIndex(IndexListEntry *entry, unsigned slot) 149 SlotIndex() : lie(nullptr, 0) {} 152 SlotIndex(const SlotIndex &li, Slot s) : lie(li.listEntry(), unsigned(s)) { 173 bool operator==(SlotIndex other) const { 177 bool operator!=(SlotIndex other) const { 183 bool operator<(SlotIndex other) const { 188 bool operator<=(SlotIndex other) const { 194 bool operator>(SlotIndex other) const { 200 bool operator>=(SlotIndex other) const { [all …]
|
D | LiveInterval.h | 54 SlotIndex def; 57 VNInfo(unsigned i, SlotIndex d) in VNInfo() 81 void markUnused() { def = SlotIndex(); } in markUnused() 90 const SlotIndex EndPoint; 94 LiveQueryResult(VNInfo *EarlyVal, VNInfo *LateVal, SlotIndex EndPoint, in LiveQueryResult() 144 SlotIndex endPoint() const { in endPoint() 161 SlotIndex start; // Start point of the interval (inclusive) 162 SlotIndex end; // End point of the interval (exclusive) 167 Segment(SlotIndex S, SlotIndex E, VNInfo *V) in Segment() 173 bool contains(SlotIndex I) const { in contains() [all …]
|
D | LiveIntervalAnalysis.h | 72 SmallVector<SlotIndex, 8> RegMaskSlots; 174 void extendToIndices(LiveRange &LR, ArrayRef<SlotIndex> Indices); 184 void pruneValue(LiveRange &LR, SlotIndex Kill, 185 SmallVectorImpl<SlotIndex> *EndPoints); 202 SlotIndex getInstructionIndex(const MachineInstr &Instr) const { in getInstructionIndex() 207 MachineInstr* getInstructionFromIndex(SlotIndex index) const { in getInstructionFromIndex() 212 SlotIndex getMBBStartIdx(const MachineBasicBlock *mbb) const { in getMBBStartIdx() 217 SlotIndex getMBBEndIdx(const MachineBasicBlock *mbb) const { in getMBBEndIdx() 231 MachineBasicBlock* getMBBFromIndex(SlotIndex index) const { in getMBBFromIndex() 242 SlotIndex InsertMachineInstrInMaps(MachineInstr &MI) { in InsertMachineInstrInMaps() [all …]
|
D | RegisterPressure.h | 60 SlotIndex TopIdx; 61 SlotIndex BottomIdx; 65 void openTop(SlotIndex NextTop); 67 void openBottom(SlotIndex PrevBottom); 179 const MachineRegisterInfo &MRI, SlotIndex Pos, 536 SlotIndex getCurrSlot() const; 551 LaneBitmask getLastUsedLanes(unsigned RegUnit, SlotIndex Pos) const; 552 LaneBitmask getLiveLanesAt(unsigned RegUnit, SlotIndex Pos) const; 553 LaneBitmask getLiveThroughAt(unsigned RegUnit, SlotIndex Pos) const;
|
/external/swiftshader/third_party/LLVM/lib/CodeGen/ |
D | SplitKit.h | 50 SmallVector<SlotIndex, 8> UseSlots; 71 SlotIndex FirstInstr; ///< First instr accessing current reg. 72 SlotIndex LastInstr; ///< Last instr accessing current reg. 73 SlotIndex FirstDef; ///< First non-phi valno->def, or SlotIndex(). 80 return SlotIndex::isSameInstr(FirstInstr, LastInstr); in isOneInstr() 92 SmallVector<std::pair<SlotIndex, SlotIndex>, 8> LastSplitPoint; 110 SlotIndex computeLastSplitPoint(unsigned Num); 140 SlotIndex getLastSplitPoint(unsigned Num) { in getLastSplitPoint() 153 bool isOriginalEndpoint(SlotIndex Idx) const; 253 typedef IntervalMap<SlotIndex, unsigned> RegAssignMap; [all …]
|
D | SplitKit.cpp | 61 SlotIndex SplitAnalysis::computeLastSplitPoint(unsigned Num) { in computeLastSplitPoint() 64 std::pair<SlotIndex, SlotIndex> &LSP = LastSplitPoint[Num]; in computeLastSplitPoint() 122 SlotIndex::isSameInstr), in analyzeUses() 158 SmallVectorImpl<SlotIndex>::const_iterator UseI, UseE; in calcLiveBlockInfo() 167 SlotIndex Start, Stop; in calcLiveBlockInfo() 202 SlotIndex LastStop = LVI->end; in calcLiveBlockInfo() 263 SlotIndex Stop = LIS.getMBBEndIdx(MFI); in countLiveBlocks() 276 bool SplitAnalysis::isOriginalEndpoint(SlotIndex Idx) const { in isOriginalEndpoint() 347 SlotIndex Idx) { in defValue() 368 SlotIndex Def = OldVNI->def; in defValue() [all …]
|
D | SlotIndexes.cpp | 79 SlotIndex blockStartIndex(back(), SlotIndex::LOAD); in runOnMachineFunction() 88 push_back(createEntry(mi, index += SlotIndex::InstrDist)); in runOnMachineFunction() 91 mi2iMap.insert(std::make_pair(mi, SlotIndex(back(), SlotIndex::LOAD))); in runOnMachineFunction() 97 push_back(createEntry(0, index += SlotIndex::InstrDist)); in runOnMachineFunction() 100 MBBRanges[mbb->getNumber()].second = SlotIndex(back(), SlotIndex::LOAD); in runOnMachineFunction() 123 index += SlotIndex::InstrDist; in renumberIndexes() 131 const unsigned Space = SlotIndex::InstrDist/2; in renumberIndexes() 167 void SlotIndex::print(raw_ostream &os) const { in print() 175 void SlotIndex::dump() const { in dump()
|
D | LiveRangeCalc.h | 83 SlotIndex Kill; 88 LiveInBlock(LiveInterval *li, MachineDomTreeNode *node, SlotIndex kill) in LiveInBlock() 105 SlotIndex Kill, 158 SlotIndex Kill, 208 SlotIndex Kill = SlotIndex()) {
|
D | LiveDebugVariables.cpp | 72 typedef IntervalMap<SlotIndex, unsigned, 4> LocMap; 128 void insertDebugValue(MachineBasicBlock *MBB, SlotIndex Idx, unsigned LocNo, 204 void addDef(SlotIndex Idx, const MachineOperand &LocMO) { in addDef() 225 void extendDef(SlotIndex Idx, unsigned LocNo, 227 SmallVectorImpl<SlotIndex> *Kills, 239 const SmallVectorImpl<SlotIndex> &Kills, 240 SmallVectorImpl<std::pair<SlotIndex, unsigned> > &NewDefs, 310 bool handleDebugValue(MachineInstr *MI, SlotIndex Idx); 441 bool LDVImpl::handleDebugValue(MachineInstr *MI, SlotIndex Idx) { in handleDebugValue() 469 SlotIndex Idx = MBBI == MBB->begin() ? in collectDebugValues() [all …]
|
D | LiveIntervalAnalysis.cpp | 158 SlotIndex idx = range.start.getBaseIndex(); in conflictsWithPhysReg() 159 SlotIndex end = range.end.getPrevSlot().getBaseIndex().getNextIndex(); in conflictsWithPhysReg() 171 SlotIndex lastIdx = end.getPrevIndex(); in conflictsWithPhysReg() 222 for (SlotIndex index = I->start.getBaseIndex(), in conflictsWithAliasRef() 269 bool LiveIntervals::isPartialRedef(SlotIndex MIIdx, MachineOperand &MO, in isPartialRedef() 274 SlotIndex RedefIndex = MIIdx.getDefIndex(); in isPartialRedef() 286 SlotIndex MIIdx, in handleVirtualRegisterDef() 299 SlotIndex defIndex = MIIdx.getDefIndex(); in handleVirtualRegisterDef() 335 SlotIndex killIdx; in handleVirtualRegisterDef() 386 SlotIndex Start = getMBBStartIdx(Kill->getParent()); in handleVirtualRegisterDef() [all …]
|
D | InterferenceCache.h | 32 SlotIndex First; 33 SlotIndex Last; 56 SlotIndex PrevPos; 189 SlotIndex first() { in first() 195 SlotIndex last() { in last()
|
D | InterferenceCache.cpp | 66 PrevPos = SlotIndex(); in revalidate() 87 PrevPos = SlotIndex(); in reset() 108 SlotIndex Start, Stop; in update() 126 BI->First = BI->Last = SlotIndex(); in update() 133 SlotIndex StartI = I.start(); in update() 163 SlotIndex StopI = I.stop(); in update()
|
/external/llvm/lib/CodeGen/ |
D | SplitKit.h | 51 SmallVector<std::pair<SlotIndex, SlotIndex>, 8> LastInsertPoint; 53 SlotIndex computeLastInsertPoint(const LiveInterval &CurLI, 60 SlotIndex getLastInsertPoint(const LiveInterval &CurLI, in getLastInsertPoint() 104 SlotIndex FirstInstr; ///< First instr accessing current reg. 105 SlotIndex LastInstr; ///< Last instr accessing current reg. 106 SlotIndex FirstDef; ///< First non-phi valno->def, or SlotIndex(). 113 return SlotIndex::isSameInstr(FirstInstr, LastInstr); in isOneInstr() 125 SmallVector<SlotIndex, 8> UseSlots; 174 bool isOriginalEndpoint(SlotIndex Idx) const; 178 ArrayRef<SlotIndex> getUseSlots() const { return UseSlots; } in getUseSlots() [all …]
|
D | LiveIntervalAnalysis.cpp | 313 SlotIndex Begin = Indexes->getMBBStartIdx(MBB); in computeLiveInRegUnits() 346 SlotIndex Def = VNI->def; in createSegmentsForValues() 351 typedef SmallVector<std::pair<SlotIndex, VNInfo*>, 16> ShrinkToUsesWorkList; 363 SlotIndex Idx = WorkList.back().first; in extendSegmentsToUses() 367 SlotIndex BlockStart = Indexes.getMBBStartIdx(MBB); in extendSegmentsToUses() 381 SlotIndex Stop = Indexes.getMBBEndIdx(Pred); in extendSegmentsToUses() 397 SlotIndex Stop = Indexes.getMBBEndIdx(Pred); in extendSegmentsToUses() 431 SlotIndex Idx = getInstructionIndex(*UseMI).getRegSlot(); in shrinkToUses() 471 SlotIndex Def = VNI->def; in computeDeadValues() 516 SlotIndex LastIdx; in shrinkToUses() [all …]
|
D | SplitKit.cpp | 48 SlotIndex 52 std::pair<SlotIndex, SlotIndex> &LIP = LastInsertPoint[Num]; in computeLastInsertPoint() 53 SlotIndex MBBEnd = LIS.getMBBEndIdx(&MBB); in computeLastInsertPoint() 103 if (!SlotIndex::isEarlierInstr(VNI->def, LIP.second) && VNI->def < MBBEnd) in computeLastInsertPoint() 114 SlotIndex LIP = getLastInsertPoint(CurLI, MBB); in getLastInsertPointIter() 159 SlotIndex::isSameInstr), in analyzeUses() 195 SmallVectorImpl<SlotIndex>::const_iterator UseI, UseE; in calcLiveBlockInfo() 205 SlotIndex Start, Stop; in calcLiveBlockInfo() 240 SlotIndex LastStop = LVI->end; in calcLiveBlockInfo() 302 SlotIndex Stop = LIS.getMBBEndIdx(&*MFI); in countLiveBlocks() [all …]
|
D | SlotIndexes.cpp | 74 SlotIndex blockStartIndex(&indexList.back(), SlotIndex::Slot_Block); in runOnMachineFunction() 81 indexList.push_back(createEntry(&MI, index += SlotIndex::InstrDist)); in runOnMachineFunction() 85 &MI, SlotIndex(&indexList.back(), SlotIndex::Slot_Block))); in runOnMachineFunction() 89 indexList.push_back(createEntry(nullptr, index += SlotIndex::InstrDist)); in runOnMachineFunction() 92 MBBRanges[MBB.getNumber()].second = SlotIndex(&indexList.back(), in runOnMachineFunction() 93 SlotIndex::Slot_Block); in runOnMachineFunction() 116 index += SlotIndex::InstrDist; in renumberIndexes() 124 const unsigned Space = SlotIndex::InstrDist/2; in renumberIndexes() 154 SlotIndex startIdx; in repairIndexesInRange() 160 SlotIndex endIdx; in repairIndexesInRange() [all …]
|
D | LiveRangeCalc.h | 89 SlotIndex Kill; 94 LiveInBlock(LiveRange &LR, MachineDomTreeNode *node, SlotIndex kill) in LiveInBlock() 115 SlotIndex Kill, unsigned PhysReg); 172 void extend(LiveRange &LR, SlotIndex Use, unsigned PhysReg = 0); 232 SlotIndex Kill = SlotIndex()) {
|
D | InterferenceCache.cpp | 87 PrevPos = SlotIndex(); in revalidate() 104 PrevPos = SlotIndex(); in reset() 125 SlotIndex Start, Stop; in update() 150 ArrayRef<SlotIndex> RegMaskSlots; in update() 154 BI->First = BI->Last = SlotIndex(); in update() 161 SlotIndex StartI = I.start(); in update() 174 SlotIndex StartI = I->start; in update() 184 SlotIndex Limit = BI->First.isValid() ? BI->First : Stop; in update() 216 SlotIndex StopI = I.stop(); in update() 233 SlotIndex StopI = I->end; in update() [all …]
|
D | LiveDebugVariables.cpp | 77 typedef IntervalMap<SlotIndex, unsigned, 4> LocMap; 133 void insertDebugValue(MachineBasicBlock *MBB, SlotIndex Idx, unsigned LocNo, 214 void addDef(SlotIndex Idx, const MachineOperand &LocMO) { in addDef() 235 void extendDef(SlotIndex Idx, unsigned LocNo, 237 SmallVectorImpl<SlotIndex> *Kills, 249 const SmallVectorImpl<SlotIndex> &Kills, 250 SmallVectorImpl<std::pair<SlotIndex, unsigned> > &NewDefs, 317 bool handleDebugValue(MachineInstr &MI, SlotIndex Idx); 491 bool LDVImpl::handleDebugValue(MachineInstr &MI, SlotIndex Idx) { in handleDebugValue() 523 SlotIndex Idx = in collectDebugValues() [all …]
|
D | LiveInterval.cpp | 62 VNInfo *createDeadDef(SlotIndex Def, VNInfo::Allocator &VNInfoAllocator) { in createDeadDef() 73 if (SlotIndex::isSameInstr(Def, S->start)) { in createDeadDef() 86 assert(SlotIndex::isEarlierInstr(Def, S->start) && "Already live at def"); in createDeadDef() 92 VNInfo *extendInBlock(SlotIndex StartIdx, SlotIndex Use) { in extendInBlock() 111 void extendSegmentEndTo(iterator I, SlotIndex NewEnd) { in extendSegmentEndTo() 139 iterator extendSegmentStartTo(iterator I, SlotIndex NewStart) { in extendSegmentStartTo() 173 SlotIndex Start = S.start, End = S.end; in addSegment() 249 iterator find(SlotIndex Pos) { return LR->find(Pos); } in find() 279 iterator find(SlotIndex Pos) { in find() 303 LiveRange::iterator LiveRange::find(SlotIndex Pos) { in find() [all …]
|
D | InterferenceCache.h | 34 SlotIndex First; 35 SlotIndex Last; 61 SlotIndex PrevPos; 222 SlotIndex first() { in first() 228 SlotIndex last() { in last()
|
D | RegisterPressure.cpp | 135 TopIdx = BottomIdx = SlotIndex(); in reset() 151 void IntervalPressure::openTop(SlotIndex NextTop) { in openTop() 154 TopIdx = SlotIndex(); in openTop() 167 void IntervalPressure::openBottom(SlotIndex PrevBottom) { in openBottom() 170 BottomIdx = SlotIndex(); in openBottom() 268 SlotIndex RegPressureTracker::getCurrSlot() const { in getCurrSlot() 385 SlotIndex Pos, LaneBitmask SafeDefault, in getLanesWithProperty() 386 bool(*Property)(const LiveRange &LR, SlotIndex Pos)) { in getLanesWithProperty() 413 SlotIndex Pos) { in getLiveLanesAt() 415 [](const LiveRange &LR, SlotIndex Pos) { in getLiveLanesAt() [all …]
|