Home
last modified time | relevance | path

Searched refs:SlotIndex (Results 1 – 25 of 75) sorted by relevance

123

/external/swiftshader/third_party/LLVM/include/llvm/CodeGen/
DSlotIndexes.h82 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 …]
DLiveInterval.h61 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 …]
DLiveIntervalAnalysis.h180 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/
DSlotIndexes.h91 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 …]
DLiveInterval.h54 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 …]
DLiveIntervalAnalysis.h72 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 …]
DRegisterPressure.h60 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/
DSplitKit.h50 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 …]
DSplitKit.cpp61 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 …]
DSlotIndexes.cpp79 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()
DLiveRangeCalc.h83 SlotIndex Kill;
88 LiveInBlock(LiveInterval *li, MachineDomTreeNode *node, SlotIndex kill) in LiveInBlock()
105 SlotIndex Kill,
158 SlotIndex Kill,
208 SlotIndex Kill = SlotIndex()) {
DLiveDebugVariables.cpp72 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 …]
DLiveIntervalAnalysis.cpp158 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 …]
DInterferenceCache.h32 SlotIndex First;
33 SlotIndex Last;
56 SlotIndex PrevPos;
189 SlotIndex first() { in first()
195 SlotIndex last() { in last()
DInterferenceCache.cpp66 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/
DSplitKit.h51 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 …]
DLiveIntervalAnalysis.cpp313 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 …]
DSplitKit.cpp48 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 …]
DSlotIndexes.cpp74 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 …]
DLiveRangeCalc.h89 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()) {
DInterferenceCache.cpp87 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 …]
DLiveDebugVariables.cpp77 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 …]
DLiveInterval.cpp62 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 …]
DInterferenceCache.h34 SlotIndex First;
35 SlotIndex Last;
61 SlotIndex PrevPos;
222 SlotIndex first() { in first()
228 SlotIndex last() { in last()
DRegisterPressure.cpp135 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 …]

123