/external/llvm/lib/CodeGen/ |
SplitKit.h | 58 SmallVector<SlotIndex, 8> UseSlots; 79 SlotIndex FirstUse; ///< First instr using current reg. 80 SlotIndex LastUse; ///< Last instr using current reg. 88 return SlotIndex::isSameInstr(FirstUse, LastUse); 100 SmallVector<std::pair<SlotIndex, SlotIndex>, 8> LastSplitPoint; 118 SlotIndex computeLastSplitPoint(unsigned Num); 148 SlotIndex getLastSplitPoint(unsigned Num) { 161 bool isOriginalEndpoint(SlotIndex Idx) const; 223 typedef IntervalMap<SlotIndex, unsigned> RegAssignMap [all...] |
SlotIndexes.cpp | 79 SlotIndex blockStartIndex(back(), SlotIndex::LOAD); 88 push_back(createEntry(mi, index += SlotIndex::InstrDist)); 91 mi2iMap.insert(std::make_pair(mi, SlotIndex(back(), SlotIndex::LOAD))); 97 push_back(createEntry(0, index += SlotIndex::InstrDist)); 100 MBBRanges[mbb->getNumber()].second = SlotIndex(back(), SlotIndex::LOAD); 123 index += SlotIndex::InstrDist; 131 const unsigned Space = SlotIndex::InstrDist/2 [all...] |
InterferenceCache.h | 32 SlotIndex First; 33 SlotIndex Last; 52 /// Indexes - Mapping block numbers to SlotIndex ranges. 56 SlotIndex PrevPos; 188 SlotIndex first() { 194 SlotIndex last() {
|
SplitKit.cpp | 60 SlotIndex SplitAnalysis::computeLastSplitPoint(unsigned Num) { 63 std::pair<SlotIndex, SlotIndex> &LSP = LastSplitPoint[Num]; 121 SlotIndex::isSameInstr), 157 SmallVectorImpl<SlotIndex>::const_iterator UseI, UseE; 166 SlotIndex Start, Stop; 194 SlotIndex LastStop = LVI->end; 252 SlotIndex Stop = LIS.getMBBEndIdx(MFI); 265 bool SplitAnalysis::isOriginalEndpoint(SlotIndex Idx) const { 332 SlotIndex Idx) [all...] |
LiveIntervalUnion.h | 39 const IntervalMap<SlotIndex, LiveInterval*>::const_iterator &LUSeg) { 50 // Mapping SlotIndex intervals to virtual register numbers. 51 typedef IntervalMap<SlotIndex, LiveInterval*> LiveSegments; 78 SegmentIter find(SlotIndex x) { return Segments.find(x); } 80 SlotIndex startIndex() const { return Segments.start(); } 128 SlotIndex start() const { 133 SlotIndex stop() const {
|
LiveRangeEdit.h | 81 bool allUsesAvailableAt(const MachineInstr *OrigMI, SlotIndex OrigIdx, 82 SlotIndex UseIdx, LiveIntervals &lis); 159 SlotIndex UseIdx, 166 /// Return the SlotIndex of the new instruction. 167 SlotIndex rematerializeAt(MachineBasicBlock &MBB,
|
MachineLoopRanges.cpp | 64 const std::pair<SlotIndex, SlotIndex> &Range = Indexes.getMBBRange(*I); 72 bool MachineLoopRange::overlaps(SlotIndex Start, SlotIndex Stop) {
|
LiveDebugVariables.cpp | 68 typedef IntervalMap<SlotIndex, unsigned, 4> LocMap; 101 void insertDebugValue(MachineBasicBlock *MBB, SlotIndex Idx, unsigned LocNo, 177 void addDef(SlotIndex Idx, const MachineOperand &LocMO) { 195 void extendDef(SlotIndex Idx, unsigned LocNo, 197 SmallVectorImpl<SlotIndex> *Kills, 208 const SmallVectorImpl<SlotIndex> &Kills, 209 SmallVectorImpl<std::pair<SlotIndex, unsigned> > &NewDefs, 272 /// @param Idx Last valid SLotIndex before instruction. 274 bool handleDebugValue(MachineInstr *MI, SlotIndex Idx); 403 bool LDVImpl::handleDebugValue(MachineInstr *MI, SlotIndex Idx) [all...] |
Splitter.h | 64 typedef std::pair<SlotIndex, SlotIndex> SlotPair;
|
LiveIntervalAnalysis.cpp | 158 SlotIndex idx = range.start.getBaseIndex(); 159 SlotIndex end = range.end.getPrevSlot().getBaseIndex().getNextIndex(); 171 SlotIndex lastIdx = end.getPrevIndex(); 222 for (SlotIndex index = I->start.getBaseIndex(), 269 bool LiveIntervals::isPartialRedef(SlotIndex MIIdx, MachineOperand &MO, 274 SlotIndex RedefIndex = MIIdx.getDefIndex(); 286 SlotIndex MIIdx, 299 SlotIndex defIndex = MIIdx.getDefIndex(); 324 SlotIndex killIdx; 375 SlotIndex Start = getMBBStartIdx(Kill->getParent()) [all...] |
InterferenceCache.cpp | 63 PrevPos = SlotIndex(); 84 PrevPos = SlotIndex(); 105 SlotIndex Start, Stop; 123 BI->First = BI->Last = SlotIndex(); 130 SlotIndex StartI = I.start(); 160 SlotIndex StopI = I.stop();
|
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;
|
Spiller.cpp | 142 SlotIndex loadIndex = 145 SlotIndex endIndex = loadIndex.getNextIndex(); 156 SlotIndex storeIndex = 159 SlotIndex beginIndex = storeIndex.getPrevIndex(); 225 SI.getNextValue(SlotIndex(), 0, lss->getVNInfoAllocator());
|
LiveRangeEdit.cpp | 83 SlotIndex OrigIdx, 84 SlotIndex UseIdx, 112 SlotIndex UseIdx, 122 SlotIndex DefIdx; 142 SlotIndex LiveRangeEdit::rematerializeAt(MachineBasicBlock &MBB, 224 SlotIndex Idx = LIS.getInstructionIndex(MI).getDefIndex();
|
VirtRegMap.h | 84 IndexedMap<SlotIndex, VirtReg2IndexFunctor> Virt2SplitKillMap; 149 Virt2SplitKillMap(SlotIndex()), ReMatMap(NULL), 295 void addKillPoint(unsigned virtReg, SlotIndex index) { 299 SlotIndex getKillPoint(unsigned virtReg) const { 305 Virt2SplitKillMap[virtReg] = SlotIndex();
|
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 { 187 void LiveInterval::extendIntervalEndTo(Ranges::iterator I, SlotIndex NewEnd) { 217 LiveInterval::extendIntervalStartTo(Ranges::iterator I, SlotIndex NewStart) { 250 SlotIndex Start = LR.start, End = LR.end; 300 VNInfo *LiveInterval::extendInBlock(SlotIndex StartIdx, SlotIndex UseIdx) [all...] |
InlineSpiller.cpp | 150 void insertReload(LiveInterval &NewLI, SlotIndex, 153 SlotIndex, MachineBasicBlock::iterator MI); 470 SlotIndex Idx = LIS.getInstructionIndex(CopyMI); 569 SlotIndex Idx = LIS.getInstructionIndex(MI); 639 SlotIndex UseIdx = LIS.getInstructionIndex(MI).getUseIndex(); 697 SlotIndex DefIdx = Edit->rematerializeAt(*MI->getParent(), MI, NewLI.reg, RM, 848 SlotIndex Idx, 854 SlotIndex LoadIdx = LIS.InsertMachineInstrInMaps(MI).getDefIndex(); 865 SlotIndex Idx, MachineBasicBlock::iterator MI) { 870 SlotIndex StoreIdx = LIS.InsertMachineInstrInMaps(MI).getDefIndex() [all...] |
Splitter.cpp | 144 SlotIndex copyDefIdx = ls.lis->getInstructionIndex(copy).getDefIndex(); 178 SlotIndex copyDefIdx = ls.lis->getInstructionIndex(copy).getDefIndex(); 184 SlotIndex newDefIdx = ls.lis->getMBBStartIdx(outBlock); 216 SlotIndex instrIdx = ls.lis->getInstructionIndex(&instr); 522 SlotIndex newDefIdx = lis->getMBBStartIdx(preHeader); 622 SlotIndex newDefIdx = lis->getMBBStartIdx(splitBlock); 650 SlotIndex oldEnd = lis->getMBBEndIdx(*loopMBBs.begin()); 657 SlotIndex newStart = lis->getMBBStartIdx(*curBlockItr); 685 SlotIndex invalid = lis->getInvalidIndex(); 689 SlotIndex srStart(lr.start < lrItr->first ? lrItr->first : lr.start) [all...] |
StrongPHIElimination.cpp | 391 SlotIndex LastUseIndex = LI->getInstructionIndex(LastUse->getParent()); 675 SlotIndex PredIndex = LI->getMBBEndIdx(PredBB); 732 SlotIndex MBBStartIndex = LI->getMBBStartIdx(MBB); 733 SlotIndex PHIIndex = LI->getInstructionIndex(PHI); 734 SlotIndex NextInstrIndex = PHIIndex.getNextIndex(); 746 SlotIndex PHIIndex = LI->getInstructionIndex(PHI); 755 SlotIndex MBBStartIndex = LI->getMBBStartIdx(MBB); 778 SlotIndex MBBStartIndex = LI->getMBBStartIdx(MBB); 779 SlotIndex DestCopyIndex = LI->getInstructionIndex(CopyInstr); 791 SlotIndex PHIIndex = LI->getInstructionIndex(PHI) [all...] |
MachineVerifier.cpp | 80 SlotIndex lastIndex; 365 lastIndex = SlotIndex(); 646 SlotIndex UseIdx = LiveInts->getInstructionIndex(MI).getUseIndex(); 692 SlotIndex DefIdx = LiveInts->getInstructionIndex(MI).getDefIndex(); 768 SlotIndex Idx = LiveInts->getInstructionIndex(MI); 793 SlotIndex idx = Indexes->getInstructionIndex(MI); 808 SlotIndex stop = Indexes->getMBBEndIdx(MBB); [all...] |
/external/llvm/include/llvm/CodeGen/ |
SlotIndexes.h | 10 // This file implements SlotIndex and related classes. The purpuse of SlotIndex 14 // SlotIndex is mostly a proxy for entries of the SlotIndexList, a class which 34 /// SlotIndex & SlotIndexes classes for the public interface to this 81 /// SlotIndex - An opaque wrapper around machine indexes. 82 class SlotIndex { 84 friend struct DenseMapInfo<SlotIndex>; 90 SlotIndex(IndexListEntry *entry, unsigned slot) 102 /// Returns the slot for this SlotIndex. 107 static inline unsigned getHashValue(const SlotIndex &v) [all...] |
LiveInterval.h | 61 SlotIndex def; 64 VNInfo(unsigned i, SlotIndex d, MachineInstr *c) 149 SlotIndex start; // Start point of the interval (inclusive) 150 SlotIndex end; // End point of the interval (exclusive) 153 LiveRange(SlotIndex S, SlotIndex E, VNInfo *V) 161 bool contains(SlotIndex I) const { 167 bool containsRange(SlotIndex S, SlotIndex E) const { 191 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 | 180 SlotIndex getZeroIndex() const { 184 SlotIndex getInvalidIndex() const { 195 SlotIndex getInstructionIndex(const MachineInstr *instr) const { 200 MachineInstr* getInstructionFromIndex(SlotIndex index) const { 205 SlotIndex getMBBStartIdx(const MachineBasicBlock *mbb) const { 210 SlotIndex getMBBEndIdx(const MachineBasicBlock *mbb) const { 234 MachineBasicBlock* getMBBFromIndex(SlotIndex index) const { 238 SlotIndex InsertMachineInstrInMaps(MachineInstr *MI) { 254 bool findLiveInMBBs(SlotIndex Start, SlotIndex End [all...] |
CalcSpillWeights.h | 33 // accidental SlotIndex gaps for small intervals. The effect is that small 37 return UseDefFreq / (Size + 25*SlotIndex::InstrDist);
|