/external/llvm/lib/CodeGen/ |
SplitKit.h | 68 SlotIndex FirstInstr; ///< First instr accessing current reg. 69 SlotIndex LastInstr; ///< Last instr accessing current reg. 70 SlotIndex FirstDef; ///< First non-phi valno->def, or SlotIndex(). 77 return SlotIndex::isSameInstr(FirstInstr, LastInstr); 86 SmallVector<SlotIndex, 8> UseSlots; 92 SmallVector<std::pair<SlotIndex, SlotIndex>, 8> LastSplitPoint; 110 SlotIndex computeLastSplitPoint(unsigned Num); 140 SlotIndex getLastSplitPoint(unsigned Num) [all...] |
SlotIndexes.cpp | 78 SlotIndex blockStartIndex(&indexList.back(), SlotIndex::Slot_Block); 87 indexList.push_back(createEntry(mi, index += SlotIndex::InstrDist)); 90 mi2iMap.insert(std::make_pair(mi, SlotIndex(&indexList.back(), 91 SlotIndex::Slot_Block))); 97 indexList.push_back(createEntry(0, index += SlotIndex::InstrDist)); 100 MBBRanges[mbb->getNumber()].second = SlotIndex(&indexList.back(), 101 SlotIndex::Slot_Block); 124 index += SlotIndex::InstrDist; 132 const unsigned Space = SlotIndex::InstrDist/2 [all...] |
LiveRangeCalc.h | 80 // Position in block where the live-in range ends, or SlotIndex() if the 83 SlotIndex Kill; 88 LiveInBlock(LiveInterval *li, MachineDomTreeNode *node, SlotIndex kill) 105 SlotIndex Kill, 158 SlotIndex Kill, 204 /// live-through, set Kill = SLotIndex() and also call 208 SlotIndex Kill = SlotIndex()) {
|
InterferenceCache.h | 33 SlotIndex First; 34 SlotIndex Last; 53 /// Indexes - Mapping block numbers to SlotIndex ranges. 60 SlotIndex PrevPos; 194 SlotIndex first() { 200 SlotIndex last() {
|
LiveIntervalAnalysis.cpp | 158 bool LiveIntervals::isPartialRedef(SlotIndex MIIdx, MachineOperand &MO, 163 SlotIndex RedefIndex = MIIdx.getRegSlot(); 175 SlotIndex MIIdx, 188 SlotIndex defIndex = MIIdx.getRegSlot(MO.isEarlyClobber()); 203 SlotIndex killIdx; 254 SlotIndex Start = getMBBStartIdx(Kill->getParent()); 255 SlotIndex killIdx = getInstructionIndex(Kill).getRegSlot(); 293 SlotIndex RedefIndex = MIIdx.getRegSlot(MO.isEarlyClobber()); 298 SlotIndex DefIndex = OldValNo->def.getRegSlot(); 331 SlotIndex defIndex = MIIdx.getRegSlot() [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 | 68 PrevPos = SlotIndex(); 89 PrevPos = SlotIndex(); 110 SlotIndex Start, Stop; 126 ArrayRef<SlotIndex> RegMaskSlots; 130 BI->First = BI->Last = SlotIndex(); 137 SlotIndex StartI = I.start(); 147 SlotIndex Limit = BI->First.isValid() ? BI->First : Stop; 179 SlotIndex StopI = I.stop(); 187 SlotIndex Limit = BI->Last.isValid() ? BI->Last : Start;
|
LiveIntervalUnion.h | 37 const IntervalMap<SlotIndex, LiveInterval*>::const_iterator &LUSeg) { 48 // Mapping SlotIndex intervals to virtual register numbers. 49 typedef IntervalMap<SlotIndex, LiveInterval*> LiveSegments; 75 SegmentIter find(SlotIndex x) { return Segments.find(x); } 77 SlotIndex startIndex() const { return Segments.start(); }
|
MachineLoopRanges.cpp | 64 const std::pair<SlotIndex, SlotIndex> &Range = Indexes.getMBBRange(*I); 72 bool MachineLoopRange::overlaps(SlotIndex Start, SlotIndex Stop) {
|
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) { 210 // A later DBG_VALUE at the same SlotIndex overrides the old location. 225 void extendDef(SlotIndex Idx, unsigned LocNo, 227 SmallVectorImpl<SlotIndex> *Kills, 239 const SmallVectorImpl<SlotIndex> &Kills, 240 SmallVectorImpl<std::pair<SlotIndex, unsigned> > &NewDefs, 308 /// @param Idx Last valid SLotIndex before instruction. 310 bool handleDebugValue(MachineInstr *MI, SlotIndex Idx) [all...] |
Spiller.cpp | 139 SlotIndex loadIndex = 141 SlotIndex endIndex = loadIndex.getNextIndex(); 152 SlotIndex storeIndex = 154 SlotIndex beginIndex = storeIndex.getPrevIndex();
|
LiveRangeCalc.cpp | 40 SlotIndex Start, End; 58 SlotIndex Kill, 63 assert(Kill.isValid() && "Invalid SlotIndex"); 103 SlotIndex Kill, 131 SlotIndex Start, End; 150 Kill = SlotIndex(); 238 SlotIndex Start, End;
|
RenderMachineFunction.h | 159 SlotIndex i) const; 164 SlotIndex i) const; 184 typedef std::map<SlotIndex, PressureMapLine> PressureMap; 259 LiveState getLiveStateAt(const LiveInterval *li, SlotIndex i) const; 263 SlotIndex i) const; 272 typedef std::set<SlotIndex> SlotSet;
|
LiveRangeEdit.cpp | 79 SlotIndex OrigIdx, 80 SlotIndex UseIdx) { 102 SlotIndex UseIdx, 111 SlotIndex DefIdx; 131 SlotIndex LiveRangeEdit::rematerializeAt(MachineBasicBlock &MBB, 206 SlotIndex Idx = LIS.getInstructionIndex(MI).getRegSlot();
|
LiveInterval.cpp | 33 LiveInterval::iterator LiveInterval::find(SlotIndex Pos) { 52 bool LiveInterval::killedInRange(SlotIndex Start, SlotIndex End) const { 127 bool LiveInterval::overlaps(SlotIndex Start, SlotIndex End) const { 166 void LiveInterval::extendIntervalEndTo(Ranges::iterator I, SlotIndex NewEnd) { 196 LiveInterval::extendIntervalStartTo(Ranges::iterator I, SlotIndex NewStart) { 229 SlotIndex Start = LR.start, End = LR.end; 279 VNInfo *LiveInterval::extendInBlock(SlotIndex StartIdx, SlotIndex Kill) [all...] |
StrongPHIElimination.cpp | 391 SlotIndex LastUseIndex = LI->getInstructionIndex(LastUse->getParent()); 673 SlotIndex PredIndex = LI->getMBBEndIdx(PredBB); 730 SlotIndex MBBStartIndex = LI->getMBBStartIdx(MBB); 731 SlotIndex PHIIndex = LI->getInstructionIndex(PHI); 732 SlotIndex NextInstrIndex = PHIIndex.getNextIndex(); 744 SlotIndex PHIIndex = LI->getInstructionIndex(PHI); 753 SlotIndex MBBStartIndex = LI->getMBBStartIdx(MBB); 776 SlotIndex MBBStartIndex = LI->getMBBStartIdx(MBB); 777 SlotIndex DestCopyIndex = LI->getInstructionIndex(CopyInstr); 788 SlotIndex PHIIndex = LI->getInstructionIndex(PHI) [all...] |
InlineSpiller.cpp | 179 void insertReload(LiveInterval &NewLI, SlotIndex, 182 SlotIndex, MachineBasicBlock::iterator MI); 669 SlotIndex Idx = LIS.getInstructionIndex(CopyMI); 766 SlotIndex Idx = LIS.getInstructionIndex(MI); 837 SlotIndex UseIdx = LIS.getInstructionIndex(MI).getRegSlot(true); 890 SlotIndex DefIdx = Edit->rematerializeAt(*MI->getParent(), MI, NewLI.reg, RM, [all...] |
RegAllocGreedy.cpp | [all...] |
MachineVerifier.cpp | 86 SlotIndex lastIndex; 381 lastIndex = SlotIndex(); 739 SlotIndex Idx = LiveInts->getInstructionIndex(MI); 791 SlotIndex UseIdx = LiveInts->getInstructionIndex(MI).getRegSlot(true); 844 SlotIndex DefIdx = LiveInts->getInstructionIndex(MI).getRegSlot(); 881 SlotIndex idx = Indexes->getInstructionIndex(MI); 896 SlotIndex stop = Indexes->getMBBEndIdx(MBB); [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 35 /// SlotIndex & SlotIndexes classes for the public interface to this 89 /// SlotIndex - An opaque wrapper around machine indexes. 90 class SlotIndex { 92 friend struct DenseMapInfo<SlotIndex>; 120 SlotIndex(IndexListEntry *entry, unsigned slot) 132 /// Returns the slot for this SlotIndex. 137 static inline unsigned getHashValue(const SlotIndex &v) [all...] |
LiveInterval.h | 59 SlotIndex def; 62 VNInfo(unsigned i, SlotIndex d) 123 SlotIndex start; // Start point of the interval (inclusive) 124 SlotIndex end; // End point of the interval (exclusive) 127 LiveRange(SlotIndex S, SlotIndex E, VNInfo *V) 135 bool contains(SlotIndex I) const { 141 bool containsRange(SlotIndex S, SlotIndex E) const { 165 inline bool operator<(SlotIndex V, const LiveRange &LR) [all...] |
MachineLoopRanges.h | 34 typedef IntervalMap<SlotIndex, unsigned, 4> Map; 45 /// Loop area as measured by SlotIndex::distance. 57 bool overlaps(SlotIndex Start, SlotIndex Stop);
|
LiveIntervalAnalysis.h | 72 SmallVector<SlotIndex, 8> RegMaskSlots; 206 SlotIndex getInstructionIndex(const MachineInstr *instr) const { 211 MachineInstr* getInstructionFromIndex(SlotIndex index) const { 216 SlotIndex getMBBStartIdx(const MachineBasicBlock *mbb) const { 221 SlotIndex getMBBEndIdx(const MachineBasicBlock *mbb) const { 235 MachineBasicBlock* getMBBFromIndex(SlotIndex index) const { 239 SlotIndex InsertMachineInstrInMaps(MachineInstr *MI) { 251 bool findLiveInMBBs(SlotIndex Start, SlotIndex End, 290 /// begin/end on the SlotIndex for BundleStart [all...] |
CalcSpillWeights.h | 33 // accidental SlotIndex gaps for small intervals. The effect is that small 37 return UseDefFreq / (Size + 25*SlotIndex::InstrDist);
|
LiveRangeEdit.h | 85 bool allUsesAvailableAt(const MachineInstr *OrigMI, SlotIndex OrigIdx, 86 SlotIndex UseIdx); 160 SlotIndex UseIdx, 166 /// Return the SlotIndex of the new instruction. 167 SlotIndex rematerializeAt(MachineBasicBlock &MBB,
|