HomeSort by relevance Sort by last modified time
    Searched refs:SlotIndex (Results 1 - 25 of 30) sorted by null

1 2

  /external/llvm/lib/CodeGen/
SplitKit.h 69 SlotIndex FirstInstr; ///< First instr accessing current reg.
70 SlotIndex LastInstr; ///< Last instr accessing current reg.
71 SlotIndex FirstDef; ///< First non-phi valno->def, or SlotIndex().
78 return SlotIndex::isSameInstr(FirstInstr, LastInstr);
87 SmallVector<SlotIndex, 8> UseSlots;
93 SmallVector<std::pair<SlotIndex, SlotIndex>, 8> LastSplitPoint;
111 SlotIndex computeLastSplitPoint(unsigned Num);
141 SlotIndex getLastSplitPoint(unsigned Num)
    [all...]
LiveRangeCalc.h 86 // Position in block where the live-in range ends, or SlotIndex() if the
89 SlotIndex Kill;
94 LiveInBlock(LiveInterval *li, MachineDomTreeNode *node, SlotIndex kill)
116 SlotIndex Kill,
168 void extend(LiveInterval *LI, SlotIndex Kill, unsigned PhysReg = 0);
222 /// live-through, set Kill = SLotIndex() and also call
226 SlotIndex Kill = SlotIndex()) {
SlotIndexes.cpp 77 SlotIndex blockStartIndex(&indexList.back(), SlotIndex::Slot_Block);
86 indexList.push_back(createEntry(mi, index += SlotIndex::InstrDist));
89 mi2iMap.insert(std::make_pair(mi, SlotIndex(&indexList.back(),
90 SlotIndex::Slot_Block)));
94 indexList.push_back(createEntry(0, index += SlotIndex::InstrDist));
97 MBBRanges[mbb->getNumber()].second = SlotIndex(&indexList.back(),
98 SlotIndex::Slot_Block);
121 index += SlotIndex::InstrDist;
129 const unsigned Space = SlotIndex::InstrDist/2
    [all...]
InterferenceCache.h 34 SlotIndex First;
35 SlotIndex Last;
54 /// Indexes - Mapping block numbers to SlotIndex ranges.
61 SlotIndex PrevPos;
212 SlotIndex first() {
218 SlotIndex last() {
LiveIntervalAnalysis.cpp 288 SlotIndex Begin = Indexes->getMBBStartIdx(MBB);
323 SmallVector<std::pair<SlotIndex, VNInfo*>, 16> WorkList;
333 SlotIndex Idx = getInstructionIndex(UseMI).getRegSlot();
368 SlotIndex Idx = WorkList.back().first;
372 SlotIndex BlockStart = getMBBStartIdx(MBB);
386 SlotIndex Stop = getMBBEndIdx(*PI);
403 SlotIndex Stop = getMBBEndIdx(*PI);
446 ArrayRef<SlotIndex> Indices) {
453 void LiveIntervals::pruneValue(LiveInterval *LI, SlotIndex Kill,
454 SmallVectorImpl<SlotIndex> *EndPoints)
    [all...]
SplitKit.cpp 61 SlotIndex SplitAnalysis::computeLastSplitPoint(unsigned Num) {
64 std::pair<SlotIndex, SlotIndex> &LSP = LastSplitPoint[Num];
65 SlotIndex MBBEnd = LIS.getMBBEndIdx(MBB);
105 if (!SlotIndex::isEarlierInstr(VNI->def, LSP.second) && VNI->def < MBBEnd)
115 SlotIndex LSP = getLastSplitPoint(MBB->getNumber());
145 SlotIndex::isSameInstr),
181 SmallVectorImpl<SlotIndex>::const_iterator UseI, UseE;
190 SlotIndex Start, Stop;
225 SlotIndex LastStop = LVI->end
    [all...]
InterferenceCache.cpp 69 PrevPos = SlotIndex();
86 PrevPos = SlotIndex();
107 SlotIndex Start, Stop;
131 ArrayRef<SlotIndex> RegMaskSlots;
135 BI->First = BI->Last = SlotIndex();
142 SlotIndex StartI = I.start();
155 SlotIndex StartI = I->start;
165 SlotIndex Limit = BI->First.isValid() ? BI->First : Stop;
197 SlotIndex StopI = I.stop();
214 SlotIndex StopI = I->end
    [all...]
LiveDebugVariables.cpp 72 typedef IntervalMap<SlotIndex, unsigned, 4> LocMap;
129 void insertDebugValue(MachineBasicBlock *MBB, SlotIndex Idx, unsigned LocNo,
206 void addDef(SlotIndex Idx, const MachineOperand &LocMO) {
212 // A later DBG_VALUE at the same SlotIndex overrides the old location.
227 void extendDef(SlotIndex Idx, unsigned LocNo,
229 SmallVectorImpl<SlotIndex> *Kills,
241 const SmallVectorImpl<SlotIndex> &Kills,
242 SmallVectorImpl<std::pair<SlotIndex, unsigned> > &NewDefs,
312 /// @param Idx Last valid SLotIndex before instruction.
314 bool handleDebugValue(MachineInstr *MI, SlotIndex Idx)
    [all...]
LiveRangeCalc.cpp 48 SlotIndex Idx;
80 // Find the SlotIndex being read.
81 SlotIndex Idx;
116 SlotIndex Start, End;
136 SlotIndex Kill,
139 assert(Kill.isValid() && "Invalid SlotIndex");
175 SlotIndex Kill,
219 SlotIndex Start, End;
238 Kill = SlotIndex();
254 SlotIndex Start, End
    [all...]
Spiller.cpp 139 SlotIndex loadIndex =
141 SlotIndex endIndex = loadIndex.getNextIndex();
152 SlotIndex storeIndex =
154 SlotIndex beginIndex = storeIndex.getPrevIndex();
LiveInterval.cpp 34 LiveInterval::iterator LiveInterval::find(SlotIndex Pos) {
52 VNInfo *LiveInterval::createDeadDef(SlotIndex Def,
61 if (SlotIndex::isSameInstr(Def, I->start)) {
74 assert(SlotIndex::isEarlierInstr(Def, I->start) && "Already live at def");
162 SlotIndex Def = std::max(I->start, J->start);
183 bool LiveInterval::overlaps(SlotIndex Start, SlotIndex End) const {
222 void LiveInterval::extendIntervalEndTo(Ranges::iterator I, SlotIndex NewEnd) {
252 LiveInterval::extendIntervalStartTo(Ranges::iterator I, SlotIndex NewStart) {
285 SlotIndex Start = LR.start, End = LR.end
    [all...]
LiveRangeEdit.cpp 78 SlotIndex OrigIdx,
79 SlotIndex UseIdx) const {
102 if (SlotIndex::isSameInstr(OrigIdx, UseIdx))
112 SlotIndex UseIdx,
121 SlotIndex DefIdx;
141 SlotIndex LiveRangeEdit::rematerializeAt(MachineBasicBlock &MBB,
221 SlotIndex Idx = LIS.getInstructionIndex(MI).getRegSlot();
StackColoring.cpp 118 /// SlotIndex analysis object.
392 SmallVector<SlotIndex, 16> Starts;
393 SmallVector<SlotIndex, 16> Finishes;
420 SlotIndex ThisIndex = Indexes->getInstructionIndex(MI);
449 SlotIndex S = Starts[i];
450 SlotIndex F = Finishes[i];
457 SlotIndex NewStart = Indexes->getMBBStartIdx(MBB);
458 SlotIndex NewFin = Indexes->getMBBEndIdx(MBB);
579 SlotIndex Index = Indexes->getInstructionIndex(I);
635 SlotIndex Index = Indexes->getInstructionIndex(I)
    [all...]
RegisterCoalescer.cpp 435 SlotIndex CopyIdx = LIS->getInstructionIndex(CopyMI).getRegSlot();
449 SlotIndex CopyUseIdx = CopyIdx.getRegSlot(true);
482 SlotIndex FillerStart = ValLR->end, FillerEnd = BLR->start;
573 SlotIndex CopyIdx = LIS->getInstructionIndex(CopyMI).getRegSlot();
631 SlotIndex UseIdx = LIS->getInstructionIndex(UseMI);
683 SlotIndex UseIdx = LIS->getInstructionIndex(UseMI).getRegSlot(true);
703 SlotIndex DefIdx = UseIdx.getRegSlot();
746 SlotIndex CopyIdx = LIS->getInstructionIndex(CopyMI);
    [all...]
RegisterPressure.cpp 150 TopIdx = BottomIdx = SlotIndex();
165 /// We happen to need the SlotIndex for the next top for pressure update.
166 void IntervalPressure::openTop(SlotIndex NextTop) {
169 TopIdx = SlotIndex();
182 void IntervalPressure::openBottom(SlotIndex PrevBottom) {
185 BottomIdx = SlotIndex();
261 SlotIndex RegPressureTracker::getCurrSlot() const {
455 SlotIndex SlotIdx;
516 SlotIndex SlotIdx;
727 SlotIndex PriorUseIdx, SlotIndex NextUseIdx
    [all...]
InlineSpiller.cpp 182 void insertReload(LiveInterval &NewLI, SlotIndex,
185 SlotIndex, MachineBasicBlock::iterator MI);
671 SlotIndex Idx = LIS.getInstructionIndex(CopyMI);
768 SlotIndex Idx = LIS.getInstructionIndex(MI);
839 SlotIndex UseIdx = LIS.getInstructionIndex(MI).getRegSlot(true);
892 SlotIndex DefIdx = Edit->rematerializeAt(*MI->getParent(), MI, NewLI.reg, RM
    [all...]
StrongPHIElimination.cpp 391 SlotIndex LastUseIndex = LI->getInstructionIndex(LastUse->getParent());
673 SlotIndex PredIndex = LI->getMBBEndIdx(PredBB);
731 SlotIndex MBBStartIndex = LI->getMBBStartIdx(MBB);
732 SlotIndex PHIIndex = LI->getInstructionIndex(PHI);
733 SlotIndex NextInstrIndex = PHIIndex.getNextIndex();
745 SlotIndex PHIIndex = LI->getInstructionIndex(PHI);
753 SlotIndex MBBStartIndex = LI->getMBBStartIdx(MBB);
776 SlotIndex MBBStartIndex = LI->getMBBStartIdx(MBB);
777 SlotIndex DestCopyIndex = LI->getInstructionIndex(CopyInstr);
787 SlotIndex PHIIndex = LI->getInstructionIndex(PHI)
    [all...]
RegAllocGreedy.cpp     [all...]
  /external/llvm/include/llvm/CodeGen/
SlotIndexes.h 10 // This file implements SlotIndex and related classes. The purpose of SlotIndex
14 // SlotIndex is mostly a proxy for entries of the SlotIndexList, a class which
36 /// SlotIndex & SlotIndexes classes for the public interface to this
59 // poisoned, so that dangling SlotIndex access can be reliably detected.
91 /// SlotIndex - An opaque wrapper around machine indexes.
92 class SlotIndex {
121 SlotIndex(IndexListEntry *entry, unsigned slot)
137 /// Returns the slot for this SlotIndex.
150 SlotIndex() : lie(0, 0) {
    [all...]
LiveInterval.h 51 SlotIndex def;
54 VNInfo(unsigned i, SlotIndex d)
78 void markUnused() { def = SlotIndex(); }
85 SlotIndex start; // Start point of the interval (inclusive)
86 SlotIndex end; // End point of the interval (exclusive)
91 LiveRange(SlotIndex S, SlotIndex E, VNInfo *V)
98 bool contains(SlotIndex I) const {
104 bool containsRange(SlotIndex S, SlotIndex E) const
    [all...]
LiveIntervalAnalysis.h 70 SmallVector<SlotIndex, 8> RegMaskSlots;
153 /// If a SlotIndex in Indices is the end index of a basic block, LI will be
157 void extendToIndices(LiveInterval *LI, ArrayRef<SlotIndex> Indices);
166 void pruneValue(LiveInterval *LI, SlotIndex Kill,
167 SmallVectorImpl<SlotIndex> *EndPoints);
184 SlotIndex getInstructionIndex(const MachineInstr *instr) const {
189 MachineInstr* getInstructionFromIndex(SlotIndex index) const {
194 SlotIndex getMBBStartIdx(const MachineBasicBlock *mbb) const {
199 SlotIndex getMBBEndIdx(const MachineBasicBlock *mbb) const {
213 MachineBasicBlock* getMBBFromIndex(SlotIndex index) const
    [all...]
LiveIntervalUnion.h 36 const IntervalMap<SlotIndex, LiveInterval*>::const_iterator &LUSeg) {
47 // Mapping SlotIndex intervals to virtual register numbers.
48 typedef IntervalMap<SlotIndex, LiveInterval*> LiveSegments;
72 SegmentIter find(SlotIndex x) { return Segments.find(x); }
74 SlotIndex startIndex() const { return Segments.start(); }
LiveRangeEdit.h 87 bool allUsesAvailableAt(const MachineInstr *OrigMI, SlotIndex OrigIdx,
88 SlotIndex UseIdx) const;
171 SlotIndex UseIdx,
177 /// Return the SlotIndex of the new instruction.
178 SlotIndex rematerializeAt(MachineBasicBlock &MBB,
CalcSpillWeights.h 34 // accidental SlotIndex gaps for small intervals. The effect is that small
38 return UseDefFreq / (Size + 25*SlotIndex::InstrDist);
RegisterPressure.h 62 /// because delimiting regions by SlotIndex is more robust and convenient than
67 SlotIndex TopIdx;
68 SlotIndex BottomIdx;
72 void openTop(SlotIndex NextTop);
74 void openBottom(SlotIndex PrevBottom);
237 /// \brief Get the SlotIndex for the first nondebug instruction including or
239 SlotIndex getCurrSlot() const;

Completed in 1244 milliseconds

1 2