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

1 2

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

Completed in 125 milliseconds

1 2