/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;
|