Home
last modified time | relevance | path

Searched refs:VNI (Results 1 – 18 of 18) sorted by relevance

/external/llvm/lib/CodeGen/
DInlineSpiller.cpp122 SibValueInfo(unsigned Reg, VNInfo *VNI) in SibValueInfo()
124 SpillReg(Reg), SpillVNI(VNI), SpillMBB(nullptr), DefMI(nullptr) {} in SibValueInfo()
165 void propagateSiblingValue(SibValueMap::iterator, VNInfo *VNI = nullptr);
169 void eliminateRedundantSpills(LiveInterval &LI, VNInfo *VNI);
349 VNInfo *VNI) { in propagateSiblingValue() argument
354 if (VNI) { in propagateSiblingValue()
355 FirstDeps.push_back(VNI); in propagateSiblingValue()
356 SVI->second.Deps.push_back(VNI); in propagateSiblingValue()
369 TinyPtrVector<VNInfo*> *Deps = VNI ? &FirstDeps : &SVI->second.Deps; in propagateSiblingValue()
370 VNI = nullptr; in propagateSiblingValue()
[all …]
DSplitKit.cpp94 const VNInfo *VNI = CurLI->getVNInfoBefore(MBBEnd); in computeLastSplitPoint() local
95 if (!VNI) in computeLastSplitPoint()
102 if (!SlotIndex::isEarlierInstr(VNI->def, LSP.second) && VNI->def < MBBEnd) in computeLastSplitPoint()
124 for (const VNInfo *VNI : CurLI->valnos) in analyzeUses() local
125 if (!VNI->isPHIDef() && !VNI->isUnused()) in analyzeUses()
126 UseSlots.push_back(VNI->def); in analyzeUses()
371 VNInfo *VNI = LI->getNextValue(Idx, LIS.getVNInfoAllocator()); in defValue() local
376 ValueForcePair(VNI, false))); in defValue()
381 return VNI; in defValue()
392 SlotIndex Def = VNI->def; in defValue()
[all …]
DLiveInterval.cpp66 VNInfo *VNI = LR->getNextValue(Def, VNInfoAllocator); in createDeadDef() local
67 impl().insertAtEnd(Segment(Def, Def.getDeadSlot(), VNI)); in createDeadDef()
68 return VNI; in createDeadDef()
86 VNInfo *VNI = LR->getNextValue(Def, VNInfoAllocator); in createDeadDef() local
87 segments().insert(I, Segment(Def, Def.getDeadSlot(), VNI)); in createDeadDef()
88 return VNI; in createDeadDef()
478 VNInfo *VNI = S.valno; in RenumberValues() local
479 if (!Seen.insert(VNI).second) in RenumberValues()
481 assert(!VNI->isUnused() && "Unused valno used by live segment"); in RenumberValues()
482 VNI->id = (unsigned)valnos.size(); in RenumberValues()
[all …]
DLiveIntervalAnalysis.cpp335 VNInfo *VNI = LR->createDeadDef(Begin, getVNInfoAllocator()); in computeLiveInRegUnits() local
336 (void)VNI; in computeLiveInRegUnits()
337 DEBUG(dbgs() << ' ' << PrintRegUnit(Unit, TRI) << '#' << VNI->id); in computeLiveInRegUnits()
354 for (auto VNI : VNIs) { in createSegmentsForValues() local
355 if (VNI->isUnused()) in createSegmentsForValues()
357 SlotIndex Def = VNI->def; in createSegmentsForValues()
358 LR.addSegment(LiveRange::Segment(Def, Def.getDeadSlot(), VNI)); in createSegmentsForValues()
375 VNInfo *VNI = WorkList.back().second; in extendSegmentsToUses() local
382 assert(ExtVNI == VNI && "Unexpected existing value number"); in extendSegmentsToUses()
385 if (!VNI->isPHIDef() || VNI->def != BlockStart || in extendSegmentsToUses()
[all …]
DCalcSpillWeights.cpp85 const VNInfo *VNI = *I; in isRematerializable() local
86 if (VNI->isUnused()) in isRematerializable()
88 if (VNI->isPHIDef()) in isRematerializable()
91 MachineInstr *MI = LIS.getInstructionFromIndex(VNI->def); in isRematerializable()
114 LiveQueryResult SrcQ = SrcLI.Query(VNI->def); in isRematerializable()
115 VNI = SrcQ.valueIn(); in isRematerializable()
116 assert(VNI && "Copy from non-existing value"); in isRematerializable()
117 if (VNI->isPHIDef()) in isRematerializable()
119 MI = LIS.getInstructionFromIndex(VNI->def); in isRematerializable()
DLiveRangeCalc.cpp300 if (VNInfo *VNI = Map[Pred].first) { in findReachingDefs() local
301 if (TheVNI && TheVNI != VNI) in findReachingDefs()
303 TheVNI = VNI; in findReachingDefs()
313 VNInfo *VNI = LR.extendInBlock(Start, End); in findReachingDefs() local
314 setLiveOutValue(Pred, VNI); in findReachingDefs()
315 if (VNI) { in findReachingDefs()
316 if (TheVNI && TheVNI != VNI) in findReachingDefs()
318 TheVNI = VNI; in findReachingDefs()
439 VNInfo *VNI = LR.getNextValue(Start, *Alloc); in updateSSA() local
440 I.Value = VNI; in updateSSA()
[all …]
DMachineVerifier.cpp219 void report_context(const VNInfo &VNI) const;
454 void MachineVerifier::report_context(const VNInfo &VNI) const { in report_context()
455 errs() << "- ValNo: " << VNI.id << " (def " << VNI.def << ")\n"; in report_context()
1163 if (const VNInfo *VNI = LI.getVNInfoAt(DefIdx)) { in checkLiveness() local
1164 assert(VNI && "NULL valno is not allowed"); in checkLiveness()
1165 if (VNI->def != DefIdx) { in checkLiveness()
1167 errs() << "Valno " << VNI->id << " is not defined at " in checkLiveness()
1427 const VNInfo *VNI, unsigned Reg, in verifyLiveRangeValue() argument
1429 if (VNI->isUnused()) in verifyLiveRangeValue()
1432 const VNInfo *DefVNI = LR.getVNInfoAt(VNI->def); in verifyLiveRangeValue()
[all …]
DRegisterCoalescer.cpp1117 VNInfo *VNI = DstLI.getVNInfoAt(RegIndex); in eliminateUndefCopy() local
1118 DstLI.MergeValueNumberInto(VNI, PrevVNI); in eliminateUndefCopy()
1740 std::pair<const VNInfo*,unsigned> followCopyChain(const VNInfo *VNI) const;
1848 const VNInfo *VNI) const { in followCopyChain()
1851 while (!VNI->isPHIDef()) { in followCopyChain()
1852 SlotIndex Def = VNI->def; in followCopyChain()
1856 return std::make_pair(VNI, Reg); in followCopyChain()
1859 return std::make_pair(VNI, Reg); in followCopyChain()
1882 VNI = ValueIn; in followCopyChain()
1885 return std::make_pair(VNI, Reg); in followCopyChain()
[all …]
DLiveRangeEdit.cpp51 bool LiveRangeEdit::checkRematerializable(VNInfo *VNI, in checkRematerializable() argument
58 Remattable.insert(VNI); in checkRematerializable()
63 for (VNInfo *VNI : getParent().valnos) { in scanRemattable()
64 if (VNI->isUnused()) in scanRemattable()
66 MachineInstr *DefMI = LIS.getInstructionFromIndex(VNI->def); in scanRemattable()
69 checkRematerializable(VNI, DefMI, aa); in scanRemattable()
DLiveRangeCalc.h211 void setLiveOutValue(MachineBasicBlock *MBB, VNInfo *VNI) { in setLiveOutValue() argument
213 Map[MBB] = LiveOutPair(VNI, nullptr); in setLiveOutValue()
DLiveDebugVariables.cpp233 LiveRange *LR, const VNInfo *VNI,
540 const VNInfo *VNI, SmallVectorImpl<SlotIndex> *Kills, in extendDef() argument
550 if (LR && VNI) { in extendDef()
552 if (!Segment || Segment->valno != VNI) { in extendDef()
680 const VNInfo *VNI = nullptr; in computeIntervals() local
683 VNI = LI->getVNInfoAt(Idx); in computeIntervals()
686 extendDef(Idx, LocNo, LI, VNI, &Kills, LIS, MDT, UVS); in computeIntervals()
695 const VNInfo *VNI = LR->getVNInfoAt(Idx); in computeIntervals() local
697 extendDef(Idx, LocNo, LR, VNI, nullptr, LIS, MDT, UVS); in computeIntervals()
DMachineBasicBlock.cpp911 VNInfo *VNI = LI.getVNInfoAt(PrevIndex); in SplitCriticalEdge() local
912 assert(VNI && in SplitCriticalEdge()
914 LI.addSegment(LiveInterval::Segment(StartIndex, EndIndex, VNI)); in SplitCriticalEdge()
931 VNInfo *VNI = LI.getVNInfoAt(PrevIndex); in SplitCriticalEdge() local
932 assert(VNI && "LiveInterval should have VNInfo where it is live."); in SplitCriticalEdge()
933 LI.addSegment(LiveInterval::Segment(StartIndex, EndIndex, VNI)); in SplitCriticalEdge()
DPHIElimination.cpp477 VNInfo *VNI = SrcLI.getVNInfoAt(startIdx); in LowerPHINode() local
480 if (VNI && VNI->def != startIdx) { in LowerPHINode()
DMachineScheduler.cpp985 VNInfo *VNI; in updatePressureDiffs() local
989 VNI = LI.getVNInfoBefore(LIS->getMBBEndIdx(BB)); in updatePressureDiffs()
992 VNI = LRQ.valueIn(); in updatePressureDiffs()
995 assert(VNI && "No live value at use."); in updatePressureDiffs()
1004 if (LRQ.valueIn() == VNI) { in updatePressureDiffs()
DTwoAddressInstructionPass.cpp1529 VNInfo *VNI = LI.getNextValue(LastCopyIdx, LIS->getVNInfoAllocator()); in processTiedPairs() local
1532 LI.addSegment(LiveInterval::Segment(LastCopyIdx, endIdx, VNI)); in processTiedPairs()
/external/llvm/include/llvm/CodeGen/
DLiveInterval.h233 for (const VNInfo *VNI : Other.valnos) { in LiveRange() local
234 createValueCopy(VNI, Allocator); in LiveRange()
301 bool containsValue(const VNInfo *VNI) const { in containsValue() argument
302 return VNI && VNI->id < getNumValNums() && VNI == getValNumInfo(VNI->id); in containsValue()
308 VNInfo *VNI = in getNextValue() local
310 valnos.push_back(VNI); in getNextValue()
311 return VNI; in getNextValue()
323 VNInfo *VNI = in createValueCopy() local
325 valnos.push_back(VNI); in createValueCopy()
326 return VNI; in createValueCopy()
[all …]
DLiveRangeEdit.h172 bool checkRematerializable(VNInfo *VNI, const MachineInstr *DefMI,
DLiveIntervalAnalysis.h279 bool hasPHIKill(const LiveInterval &LI, const VNInfo *VNI) const;