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

1 2

  /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(LiveRange &LR, MachineDomTreeNode *node, SlotIndex kill)
115 SlotIndex Kill, unsigned PhysReg);
172 void extend(LiveRange &LR, SlotIndex Use, unsigned PhysReg = 0);
223 /// live-through, set Kill = SLotIndex() and also call
227 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(nullptr, 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...]
LiveIntervalAnalysis.cpp 306 SlotIndex Begin = Indexes->getMBBStartIdx(MBB);
340 SlotIndex Def = VNI->def;
345 typedef SmallVector<std::pair<SlotIndex, VNInfo*>, 16> ShrinkToUsesWorkList;
357 SlotIndex Idx = WorkList.back().first;
361 SlotIndex BlockStart = Indexes.getMBBStartIdx(MBB);
375 SlotIndex Stop = Indexes.getMBBEndIdx(Pred);
391 SlotIndex Stop = Indexes.getMBBEndIdx(Pred);
423 SlotIndex Idx = getInstructionIndex(UseMI).getRegSlot();
463 SlotIndex Def = VNI->def;
507 SlotIndex LastIdx
    [all...]
SplitKit.cpp 57 SlotIndex SplitAnalysis::computeLastSplitPoint(unsigned Num) {
60 std::pair<SlotIndex, SlotIndex> &LSP = LastSplitPoint[Num];
61 SlotIndex MBBEnd = LIS.getMBBEndIdx(MBB);
101 if (!SlotIndex::isEarlierInstr(VNI->def, LSP.second) && VNI->def < MBBEnd)
111 SlotIndex LSP = getLastSplitPoint(MBB->getNumber());
138 SlotIndex::isSameInstr),
174 SmallVectorImpl<SlotIndex>::const_iterator UseI, UseE;
183 SlotIndex Start, Stop;
218 SlotIndex LastStop = LVI->end
    [all...]
InterferenceCache.cpp 87 PrevPos = SlotIndex();
104 PrevPos = SlotIndex();
125 SlotIndex Start, Stop;
149 ArrayRef<SlotIndex> RegMaskSlots;
153 BI->First = BI->Last = SlotIndex();
160 SlotIndex StartI = I.start();
173 SlotIndex StartI = I->start;
183 SlotIndex Limit = BI->First.isValid() ? BI->First : Stop;
215 SlotIndex StopI = I.stop();
232 SlotIndex StopI = I->end
    [all...]
InterferenceCache.h 34 SlotIndex First;
35 SlotIndex Last;
54 /// Indexes - Mapping block numbers to SlotIndex ranges.
61 SlotIndex PrevPos;
222 SlotIndex first() {
228 SlotIndex last() {
LiveDebugVariables.cpp 76 typedef IntervalMap<SlotIndex, unsigned, 4> LocMap;
134 void insertDebugValue(MachineBasicBlock *MBB, SlotIndex Idx, unsigned LocNo,
213 void addDef(SlotIndex Idx, const MachineOperand &LocMO) {
219 // A later DBG_VALUE at the same SlotIndex overrides the old location.
234 void extendDef(SlotIndex Idx, unsigned LocNo,
236 SmallVectorImpl<SlotIndex> *Kills,
248 const SmallVectorImpl<SlotIndex> &Kills,
249 SmallVectorImpl<std::pair<SlotIndex, unsigned> > &NewDefs,
314 /// @param Idx Last valid SLotIndex before instruction.
316 bool handleDebugValue(MachineInstr *MI, SlotIndex Idx)
    [all...]
LiveInterval.cpp 62 VNInfo *createDeadDef(SlotIndex Def, VNInfo::Allocator &VNInfoAllocator) {
73 if (SlotIndex::isSameInstr(Def, S->start)) {
86 assert(SlotIndex::isEarlierInstr(Def, S->start) && "Already live at def");
92 VNInfo *extendInBlock(SlotIndex StartIdx, SlotIndex Use) {
111 void extendSegmentEndTo(iterator I, SlotIndex NewEnd) {
139 iterator extendSegmentStartTo(iterator I, SlotIndex NewStart) {
173 SlotIndex Start = S.start, End = S.end;
249 iterator find(SlotIndex Pos) { return LR->find(Pos); }
279 iterator find(SlotIndex Pos)
    [all...]
LiveRangeCalc.cpp 46 SlotIndex DefIdx =
169 SlotIndex UseIdx;
203 SlotIndex Start, End;
222 void LiveRangeCalc::extend(LiveRange &LR, SlotIndex Use, unsigned PhysReg) {
223 assert(Use.isValid() && "Invalid SlotIndex");
258 SlotIndex Use, unsigned PhysReg) {
301 SlotIndex Start, End;
320 Use = SlotIndex();
336 SlotIndex Start, End;
429 SlotIndex Start, End
    [all...]
LiveRangeEdit.cpp 83 SlotIndex OrigIdx,
84 SlotIndex UseIdx) const {
107 if (SlotIndex::isSameInstr(OrigIdx, UseIdx))
117 SlotIndex UseIdx,
126 SlotIndex DefIdx;
146 SlotIndex LiveRangeEdit::rematerializeAt(MachineBasicBlock &MBB,
224 SlotIndex Idx = LIS.getInstructionIndex(MI).getRegSlot();
RegisterCoalescer.cpp 460 SlotIndex CopyIdx = LIS->getInstructionIndex(CopyMI).getRegSlot();
488 SlotIndex CopyUseIdx = CopyIdx.getRegSlot(true);
521 SlotIndex FillerStart = ValS->end, FillerEnd = BS->start;
635 SlotIndex CopyIdx = LIS->getInstructionIndex(CopyMI).getRegSlot();
681 SlotIndex UseIdx = LIS->getInstructionIndex(UseMI);
734 SlotIndex UseIdx = LIS->getInstructionIndex(UseMI).getRegSlot(true);
755 SlotIndex DefIdx = UseIdx.getRegSlot();
784 SlotIndex AIdx = CopyIdx.getRegSlot(true);
    [all...]
StackColoring.cpp 120 /// SlotIndex analysis object.
372 SmallVector<SlotIndex, 16> Starts;
373 SmallVector<SlotIndex, 16> Finishes;
397 SlotIndex ThisIndex = Indexes->getInstructionIndex(MI);
426 SlotIndex S = Starts[i];
427 SlotIndex F = Finishes[i];
434 SlotIndex NewStart = Indexes->getMBBStartIdx(&MBB);
435 SlotIndex NewFin = Indexes->getMBBEndIdx(&MBB);
560 SlotIndex Index = Indexes->getInstructionIndex(&I);
611 SlotIndex Index = Indexes->getInstructionIndex(&I)
    [all...]
RegisterPressure.cpp 103 TopIdx = BottomIdx = SlotIndex();
118 /// We happen to need the SlotIndex for the next top for pressure update.
119 void IntervalPressure::openTop(SlotIndex NextTop) {
122 TopIdx = SlotIndex();
135 void IntervalPressure::openBottom(SlotIndex PrevBottom) {
138 BottomIdx = SlotIndex();
226 SlotIndex RegPressureTracker::getCurrSlot() const {
481 SlotIndex SlotIdx;
566 SlotIndex SlotIdx;
727 SlotIndex SlotIdx = LIS->getInstructionIndex(MI)
    [all...]
InlineSpiller.cpp 178 void insertReload(unsigned VReg, SlotIndex, MachineBasicBlock::iterator MI);
688 SlotIndex Idx = LIS.getInstructionIndex(CopyMI);
787 SlotIndex Idx = LIS.getInstructionIndex(MI);
867 SlotIndex UseIdx = LIS.getInstructionIndex(MI).getRegSlot(true);
    [all...]
RegAllocGreedy.cpp 543 (Size / SlotIndex::InstrDist) > (2 * RC.getNumRegs());
    [all...]
PHIElimination.cpp 313 SlotIndex DestCopyIndex = LIS->InsertMachineInstrInMaps(NewInstr);
315 SlotIndex MBBStartIndex = LIS->getMBBStartIdx(&MBB);
476 SlotIndex startIdx = LIS->getMBBStartIdx(*SI);
516 SlotIndex LastUseIndex = LIS->getInstructionIndex(KillInst);
  /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(nullptr, 0) {
    [all...]
LiveInterval.h 53 SlotIndex def;
56 VNInfo(unsigned i, SlotIndex d)
80 void markUnused() { def = SlotIndex(); }
89 const SlotIndex EndPoint;
93 LiveQueryResult(VNInfo *EarlyVal, VNInfo *LateVal, SlotIndex EndPoint,
138 /// The end point is an invalid SlotIndex only if the live range doesn't
143 SlotIndex endPoint() const {
160 SlotIndex start; // Start point of the interval (inclusive)
161 SlotIndex end; // End point of the interval (exclusive)
166 Segment(SlotIndex S, SlotIndex E, VNInfo *V
    [all...]
LiveIntervalAnalysis.h 73 SmallVector<SlotIndex, 8> RegMaskSlots;
170 /// If a SlotIndex in Indices is the end index of a basic block, LI will be
174 void extendToIndices(LiveRange &LR, ArrayRef<SlotIndex> Indices);
184 void pruneValue(LiveRange &LR, SlotIndex Kill,
185 SmallVectorImpl<SlotIndex> *EndPoints);
202 SlotIndex getInstructionIndex(const MachineInstr *instr) const {
207 MachineInstr* getInstructionFromIndex(SlotIndex index) const {
212 SlotIndex getMBBStartIdx(const MachineBasicBlock *mbb) const {
217 SlotIndex getMBBEndIdx(const MachineBasicBlock *mbb) const {
231 MachineBasicBlock* getMBBFromIndex(SlotIndex index) const
    [all...]
CalcSpillWeights.h 38 // accidental SlotIndex gaps for small intervals. The effect is that small
42 return UseDefFreq / (Size + 25*SlotIndex::InstrDist);
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 88 bool allUsesAvailableAt(const MachineInstr *OrigMI, SlotIndex OrigIdx,
89 SlotIndex UseIdx) const;
182 SlotIndex UseIdx,
188 /// Return the SlotIndex of the new instruction.
189 SlotIndex rematerializeAt(MachineBasicBlock &MBB,
RegisterPressure.h 47 /// because delimiting regions by SlotIndex is more robust and convenient than
52 SlotIndex TopIdx;
53 SlotIndex BottomIdx;
57 void openTop(SlotIndex NextTop);
59 void openBottom(SlotIndex PrevBottom);
301 /// \brief Get the SlotIndex for the first nondebug instruction including or
303 SlotIndex getCurrSlot() const;
  /external/llvm/lib/Target/Hexagon/
HexagonExpandCondsets.cpp 137 LiveInterval::iterator nextSegment(LiveInterval &LI, SlotIndex S);
138 LiveInterval::iterator prevSegment(LiveInterval &LI, SlotIndex S);
139 void makeDefined(unsigned Reg, SlotIndex S, bool SetDef);
140 void makeUndead(unsigned Reg, SlotIndex S);
143 void terminateSegment(LiveInterval::iterator LT, SlotIndex S,
233 SlotIndex S) {
243 SlotIndex S) {
261 void HexagonExpandCondsets::makeDefined(unsigned Reg, SlotIndex S,
277 void HexagonExpandCondsets::makeUndead(unsigned Reg, SlotIndex S) {
334 SlotIndex S = LIS->getInstructionIndex(MI).getRegSlot()
    [all...]

Completed in 150 milliseconds

1 2