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 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,

Completed in 342 milliseconds

1 2