Home
last modified time | relevance | path

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

123456

/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/swiftshader/third_party/llvm-7.0/llvm/include/llvm/CodeGen/
DSlotIndexes.h84 class SlotIndex {
113 SlotIndex(IndexListEntry *entry, unsigned slot)
142 SlotIndex() = default;
145 SlotIndex(const SlotIndex &li, Slot s) : lie(li.listEntry(), unsigned(s)) {
166 bool operator==(SlotIndex other) const {
170 bool operator!=(SlotIndex other) const {
176 bool operator<(SlotIndex other) const {
181 bool operator<=(SlotIndex other) const {
187 bool operator>(SlotIndex other) const {
193 bool operator>=(SlotIndex other) const {
[all …]
DLiveInterval.h61 SlotIndex def;
64 VNInfo(unsigned i, SlotIndex d) : id(i), def(d) {} in VNInfo()
84 void markUnused() { def = SlotIndex(); } in markUnused()
93 const SlotIndex EndPoint;
97 LiveQueryResult(VNInfo *EarlyVal, VNInfo *LateVal, SlotIndex EndPoint, in LiveQueryResult()
147 SlotIndex endPoint() const { in endPoint()
163 SlotIndex start; // Start point of the interval (inclusive)
164 SlotIndex end; // End point of the interval (exclusive)
170 Segment(SlotIndex S, SlotIndex E, VNInfo *V) in Segment()
176 bool contains(SlotIndex I) const { in contains()
[all …]
DLiveIntervals.h73 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 …]
/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 …]
/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()
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 …]
DLiveRangeCalc.h83 SlotIndex Kill;
88 LiveInBlock(LiveInterval *li, MachineDomTreeNode *node, SlotIndex kill) in LiveInBlock()
105 SlotIndex Kill,
158 SlotIndex Kill,
208 SlotIndex Kill = SlotIndex()) {
/external/swiftshader/third_party/llvm-7.0/llvm/lib/CodeGen/
DSplitKit.h57 SmallVector<std::pair<SlotIndex, SlotIndex>, 8> LastInsertPoint;
59 SlotIndex computeLastInsertPoint(const LiveInterval &CurLI,
66 SlotIndex getLastInsertPoint(const LiveInterval &CurLI, in getLastInsertPoint()
110 SlotIndex FirstInstr; ///< First instr accessing current reg.
111 SlotIndex LastInstr; ///< Last instr accessing current reg.
112 SlotIndex FirstDef; ///< First non-phi valno->def, or SlotIndex().
119 return SlotIndex::isSameInstr(FirstInstr, LastInstr); in isOneInstr()
131 SmallVector<SlotIndex, 8> UseSlots;
180 bool isOriginalEndpoint(SlotIndex Idx) const;
184 ArrayRef<SlotIndex> getUseSlots() const { return UseSlots; } in getUseSlots()
[all …]
DLiveIntervals.cpp171 for (SlotIndex Idx : RegMaskSlots) in print()
326 SlotIndex Begin = Indexes->getMBBStartIdx(&MBB); in computeLiveInRegUnits()
356 SlotIndex Def = VNI->def; in createSegmentsForValues()
387 SlotIndex Idx = WorkList.back().first; in extendSegmentsToUses()
391 SlotIndex BlockStart = Indexes->getMBBStartIdx(MBB); in extendSegmentsToUses()
405 SlotIndex Stop = Indexes->getMBBEndIdx(Pred); in extendSegmentsToUses()
421 SlotIndex Stop = Indexes->getMBBEndIdx(Pred); in extendSegmentsToUses()
432 SmallVector<SlotIndex,8> Undefs; in extendSegmentsToUses()
466 SlotIndex Idx = getInstructionIndex(UseMI).getRegSlot(); in shrinkToUses()
507 SlotIndex Def = VNI->def; in computeDeadValues()
[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()
113 SlotIndex MIIndex = mi2iItr->second; in removeMachineInstrFromMaps()
126 SlotIndex MIIndex = mi2iItr->second; in removeSingleMachineInstrFromMaps()
158 index += SlotIndex::InstrDist; in renumberIndexes()
166 const unsigned Space = SlotIndex::InstrDist/2; in renumberIndexes()
[all …]
DSplitKit.cpp76 SlotIndex
80 std::pair<SlotIndex, SlotIndex> &LIP = LastInsertPoint[Num]; in computeLastInsertPoint()
81 SlotIndex MBBEnd = LIS.getMBBEndIdx(&MBB); in computeLastInsertPoint()
131 if (!SlotIndex::isEarlierInstr(VNI->def, LIP.second) && VNI->def < MBBEnd) in computeLastInsertPoint()
142 SlotIndex LIP = getLastInsertPoint(CurLI, MBB); in getLastInsertPointIter()
186 SlotIndex::isSameInstr), in analyzeUses()
221 SmallVectorImpl<SlotIndex>::const_iterator UseI, UseE; in calcLiveBlockInfo()
231 SlotIndex Start, Stop; in calcLiveBlockInfo()
266 SlotIndex LastStop = LVI->end; in calcLiveBlockInfo()
328 SlotIndex Stop = LIS.getMBBEndIdx(&*MFI); in countLiveBlocks()
[all …]
DLiveRangeCalc.h112 SlotIndex Kill;
117 LiveInBlock(LiveRange &LR, MachineDomTreeNode *node, SlotIndex kill) in LiveInBlock()
129 bool isDefOnEntry(LiveRange &LR, ArrayRef<SlotIndex> Undefs,
150 SlotIndex Use, unsigned PhysReg,
151 ArrayRef<SlotIndex> Undefs);
212 void extend(LiveRange &LR, SlotIndex Use, unsigned PhysReg,
213 ArrayRef<SlotIndex> Undefs);
273 SlotIndex Kill = SlotIndex()) {
292 ArrayRef<SlotIndex> Defs,
DLiveDebugVariables.cpp136 using LocMap = IntervalMap<SlotIndex, DbgValueLocation, 4>;
167 SmallSet<SlotIndex, 2> trimmedDefs;
170 void insertDebugValue(MachineBasicBlock *MBB, SlotIndex StartIdx,
171 SlotIndex StopIdx,
263 void addDef(SlotIndex Idx, const MachineOperand &LocMO, bool IsIndirect) { in addDef()
284 void extendDef(SlotIndex Idx, DbgValueLocation Loc,
286 SmallVectorImpl<SlotIndex> *Kills,
299 const SmallVectorImpl<SlotIndex> &Kills,
300 SmallVectorImpl<std::pair<SlotIndex, DbgValueLocation>> &NewDefs,
366 bool handleDebugValue(MachineInstr &MI, SlotIndex Idx);
[all …]
/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 …]

123456