Home
last modified time | relevance | path

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

123

/external/swiftshader/third_party/LLVM/lib/CodeGen/
DLiveRangeCalc.cpp37 VNInfo *VNI = OverrideVNI ? OverrideVNI : I->Value; in updateLiveIns() local
38 assert(VNI && "No live-in value found"); in updateLiveIns()
44 I->LI->addRange(LiveRange(Start, I->Kill, VNI)); in updateLiveIns()
46 I->LI->addRange(LiveRange(Start, End, VNI)); in updateLiveIns()
50 LiveOut[MBB] = LiveOutPair(VNI, (MachineDomTreeNode *)0); in updateLiveIns()
78 VNInfo *VNI = findReachingDefs(LI, KillMBB, Kill, Indexes, DomTree); in extend() local
81 if (!VNI) in extend()
84 updateLiveIns(VNI, Indexes); in extend()
123 if (VNInfo *VNI = LiveOut[Pred].first) { in findReachingDefs() local
124 if (TheVNI && TheVNI != VNI) in findReachingDefs()
[all …]
DInlineSpiller.cpp117 SibValueInfo(unsigned Reg, VNInfo *VNI) in SibValueInfo()
119 SpillReg(Reg), SpillVNI(VNI), SpillMBB(0), DefMI(0) {} in SibValueInfo()
165 void propagateSiblingValue(SibValueMap::iterator, VNInfo *VNI = 0);
169 void eliminateRedundantSpills(LiveInterval &LI, VNInfo *VNI);
345 VNInfo *VNI) { in propagateSiblingValue() argument
348 if (VNI) { in propagateSiblingValue()
349 FirstDeps.push_back(VNI); in propagateSiblingValue()
350 SVI->second.Deps.push_back(VNI); in propagateSiblingValue()
365 TinyPtrVector<VNInfo*> *Deps = VNI ? &FirstDeps : &SVI->second.Deps; in propagateSiblingValue()
366 VNI = 0; in propagateSiblingValue()
[all …]
DSplitKit.cpp354 VNInfo *VNI = LI->getNextValue(Idx, 0, LIS.getVNInfoAllocator()); in defValue() local
359 ValueForcePair(VNI, false))); in defValue()
364 return VNI; in defValue()
375 SlotIndex Def = VNI->def; in defValue()
376 LI->addRange(LiveRange(Def, Def.getNextSlot(), VNI)); in defValue()
378 return VNI; in defValue()
384 VNInfo *VNI = VFP.getPointer(); in forceRecompute() local
388 if (!VNI) { in forceRecompute()
395 SlotIndex Def = VNI->def; in forceRecompute()
396 Edit->get(RegIdx)->addRange(LiveRange(Def, Def.getNextSlot(), VNI)); in forceRecompute()
[all …]
DLiveInterval.cpp153 VNInfo *VNI = I->valno; in RenumberValues() local
154 if (!Seen.insert(VNI)) in RenumberValues()
156 assert(!VNI->isUnused() && "Unused valno used by live range"); in RenumberValues()
157 VNI->id = (unsigned)valnos.size(); in RenumberValues()
158 valnos.push_back(VNI); in RenumberValues()
427 VNInfo *VNI = NewVNInfo[i]; in join() local
428 if (VNI) { in join()
430 valnos.push_back(VNI); in join()
432 valnos[NumValNos] = VNI; in join()
433 VNI->id = NumValNos++; // Renumber val#. in join()
[all …]
DMachineVerifier.cpp716 if (const VNInfo *VNI = LI.getVNInfoAt(DefIdx)) { in visitMachineOperand() local
717 assert(VNI && "NULL valno is not allowed"); in visitMachineOperand()
718 if (VNI->def != DefIdx && !MO->isEarlyClobber()) { in visitMachineOperand()
720 *OS << "Valno " << VNI->id << " is not defined at " in visitMachineOperand()
1025 VNInfo *VNI = *I; in verifyLiveIntervals() local
1026 const VNInfo *DefVNI = LI.getVNInfoAt(VNI->def); in verifyLiveIntervals()
1029 if (!VNI->isUnused()) { in verifyLiveIntervals()
1031 *OS << "Valno #" << VNI->id << " in " << LI << '\n'; in verifyLiveIntervals()
1036 if (VNI->isUnused()) in verifyLiveIntervals()
1039 if (DefVNI != VNI) { in verifyLiveIntervals()
[all …]
DLiveIntervalAnalysis.cpp770 VNInfo *VNI = li->getVNInfoAt(Idx); in shrinkToUses() local
771 if (!VNI) { in shrinkToUses()
780 if (VNI->def == Idx) { in shrinkToUses()
784 VNI = li->getVNInfoAt(Idx); in shrinkToUses()
785 assert(VNI && "Early-clobber tied value not available"); in shrinkToUses()
787 WorkList.push_back(std::make_pair(Idx, VNI)); in shrinkToUses()
794 VNInfo *VNI = *I; in shrinkToUses() local
795 if (VNI->isUnused()) in shrinkToUses()
797 NewLI.addRange(LiveRange(VNI->def, VNI->def.getNextSlot(), VNI)); in shrinkToUses()
802 if (VNI->def.isUse()) in shrinkToUses()
[all …]
DRegisterCoalescer.cpp1315 static unsigned ComputeUltimateVN(VNInfo *VNI, in ComputeUltimateVN() argument
1321 unsigned VN = VNI->id; in ComputeUltimateVN()
1330 DenseMap<VNInfo*, VNInfo*>::iterator I = ThisFromOther.find(VNI); in ComputeUltimateVN()
1332 NewVNInfo.push_back(VNI); in ComputeUltimateVN()
1365 VNInfo *VNI, in RegistersDefinedFromSameValue() argument
1371 MachineInstr *MI = VNI->getCopy(); in RegistersDefinedFromSameValue()
1415 if (SrcInt.getVNInfoBefore(Other->def) != SrcInt.getVNInfoBefore(VNI->def)) in RegistersDefinedFromSameValue()
1487 VNInfo *VNI = *i; in JoinIntervals() local
1488 if (VNI->isUnused() || !VNI->isDefByCopy()) // Src not defined by a copy? in JoinIntervals()
1492 if (VNI->hasRedefByEC()) in JoinIntervals()
[all …]
/external/llvm/lib/CodeGen/
DSplitKit.cpp95 const VNInfo *VNI = CurLI.getVNInfoBefore(MBBEnd); in computeLastInsertPoint() local
96 if (!VNI) in computeLastInsertPoint()
103 if (!SlotIndex::isEarlierInstr(VNI->def, LIP.second) && VNI->def < MBBEnd) in computeLastInsertPoint()
144 for (const VNInfo *VNI : CurLI->valnos) in analyzeUses() local
145 if (!VNI->isPHIDef() && !VNI->isUnused()) in analyzeUses()
146 UseSlots.push_back(VNI->def); in analyzeUses()
393 VNInfo *VNI = LI->getNextValue(Idx, LIS.getVNInfoAllocator()); in defValue() local
398 ValueForcePair(VNI, false))); in defValue()
403 return VNI; in defValue()
414 SlotIndex Def = VNI->def; in defValue()
[all …]
DLiveRangeCalc.cpp137 for (const VNInfo *VNI : SR.valnos) { in constructMainRangeFromSubranges() local
138 if (!VNI->isUnused() && !VNI->isPHIDef()) in constructMainRangeFromSubranges()
139 MainRange.createDeadDef(VNI->def, *Alloc); in constructMainRangeFromSubranges()
316 if (VNInfo *VNI = Map[Pred].first) { in findReachingDefs() local
317 if (TheVNI && TheVNI != VNI) in findReachingDefs()
319 TheVNI = VNI; in findReachingDefs()
329 VNInfo *VNI = LR.extendInBlock(Start, End); in findReachingDefs() local
330 setLiveOutValue(Pred, VNI); in findReachingDefs()
331 if (VNI) { in findReachingDefs()
332 if (TheVNI && TheVNI != VNI) in findReachingDefs()
[all …]
DLiveIntervalAnalysis.cpp324 VNInfo *VNI = LR->createDeadDef(Begin, getVNInfoAllocator()); in computeLiveInRegUnits() local
325 (void)VNI; in computeLiveInRegUnits()
326 DEBUG(dbgs() << ' ' << PrintRegUnit(Unit, TRI) << '#' << VNI->id); in computeLiveInRegUnits()
343 for (auto VNI : VNIs) { in createSegmentsForValues() local
344 if (VNI->isUnused()) in createSegmentsForValues()
346 SlotIndex Def = VNI->def; in createSegmentsForValues()
347 LR.addSegment(LiveRange::Segment(Def, Def.getDeadSlot(), VNI)); in createSegmentsForValues()
364 VNInfo *VNI = WorkList.back().second; in extendSegmentsToUses() local
371 assert(ExtVNI == VNI && "Unexpected existing value number"); in extendSegmentsToUses()
374 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()
DLiveInterval.cpp67 VNInfo *VNI = LR->getNextValue(Def, VNInfoAllocator); in createDeadDef() local
68 impl().insertAtEnd(Segment(Def, Def.getDeadSlot(), VNI)); in createDeadDef()
69 return VNI; in createDeadDef()
87 VNInfo *VNI = LR->getNextValue(Def, VNInfoAllocator); in createDeadDef() local
88 segments().insert(I, Segment(Def, Def.getDeadSlot(), VNI)); in createDeadDef()
89 return VNI; in createDeadDef()
481 VNInfo *VNI = S.valno; in RenumberValues() local
482 if (!Seen.insert(VNI).second) in RenumberValues()
484 assert(!VNI->isUnused() && "Unused valno used by live segment"); in RenumberValues()
485 VNI->id = (unsigned)valnos.size(); in RenumberValues()
[all …]
DLiveRangeUtils.h48 VNInfo *VNI = LR.getValNumInfo(i); in DistributeRange() local
50 VNI->id = SplitLRs[eq-1]->getNumValNums(); in DistributeRange()
51 SplitLRs[eq-1]->valnos.push_back(VNI); in DistributeRange()
53 VNI->id = j; in DistributeRange()
54 LR.valnos[j++] = VNI; in DistributeRange()
DMachineVerifier.cpp219 void report_context(const VNInfo &VNI) const;
489 void MachineVerifier::report_context(const VNInfo &VNI) const { in report_context()
490 errs() << "- ValNo: " << VNI.id << " (def " << VNI.def << ")\n"; in report_context()
1135 if (const VNInfo *VNI = LR.getVNInfoAt(DefIdx)) { in checkLivenessAtDef() local
1136 assert(VNI && "NULL valno is not allowed"); in checkLivenessAtDef()
1137 if (VNI->def != DefIdx) { in checkLivenessAtDef()
1143 report_context(*VNI); in checkLivenessAtDef()
1582 const VNInfo *VNI, unsigned Reg, in verifyLiveRangeValue() argument
1584 if (VNI->isUnused()) in verifyLiveRangeValue()
1587 const VNInfo *DefVNI = LR.getVNInfoAt(VNI->def); in verifyLiveRangeValue()
[all …]
DRenameIndependentSubregs.cpp192 const VNInfo *VNI = SR.getVNInfoAt(Pos); in findComponents() local
193 if (VNI == nullptr) in findComponents()
197 unsigned LocalID = SRInfo.ConEQ.getEqClass(VNI); in findComponents()
237 const VNInfo &VNI = *I->valno; in rewriteOperands() local
239 unsigned LocalID = SRInfo.ConEQ.getEqClass(&VNI); in rewriteOperands()
268 const VNInfo &VNI = *SR.valnos[I]; in distribute() local
269 unsigned LocalID = SRInfo.ConEQ.getEqClass(&VNI); in distribute()
307 const VNInfo &VNI = *SR.valnos[I]; in computeMainRangesFixFlags() local
308 if (VNI.isUnused() || !VNI.isPHIDef()) in computeMainRangesFixFlags()
311 SlotIndex Def = VNI.def; in computeMainRangesFixFlags()
/external/swiftshader/third_party/llvm-7.0/llvm/lib/CodeGen/
DSplitKit.cpp123 const VNInfo *VNI = CurLI.getVNInfoBefore(MBBEnd); in computeLastInsertPoint() local
124 if (!VNI) in computeLastInsertPoint()
131 if (!SlotIndex::isEarlierInstr(VNI->def, LIP.second) && VNI->def < MBBEnd) in computeLastInsertPoint()
171 for (const VNInfo *VNI : CurLI->valnos) in analyzeUses() local
172 if (!VNI->isPHIDef() && !VNI->isUnused()) in analyzeUses()
173 UseSlots.push_back(VNI->def); in analyzeUses()
416 void SplitEditor::addDeadDef(LiveInterval &LI, VNInfo *VNI, bool Original) { in addDeadDef() argument
418 LI.createDeadDef(VNI); in addDeadDef()
422 SlotIndex Def = VNI->def; in addDeadDef()
467 VNInfo *VNI = LI->getNextValue(Idx, LIS.getVNInfoAllocator()); in defValue() local
[all …]
DLiveRangeCalc.cpp138 for (const VNInfo *VNI : SR.valnos) { in constructMainRangeFromSubranges() local
139 if (!VNI->isUnused() && !VNI->isPHIDef()) in constructMainRangeFromSubranges()
140 MainRange.createDeadDef(VNI->def, *Alloc); in constructMainRangeFromSubranges()
390 if (VNInfo *VNI = Map[Pred].first) { in findReachingDefs() local
391 if (TheVNI && TheVNI != VNI) in findReachingDefs()
393 TheVNI = VNI; in findReachingDefs()
404 VNInfo *VNI = EP.first; in findReachingDefs() local
406 setLiveOutValue(Pred, EP.second ? &UndefVNI : VNI); in findReachingDefs()
407 if (VNI) { in findReachingDefs()
408 if (TheVNI && TheVNI != VNI) in findReachingDefs()
[all …]
DLiveIntervals.cpp337 VNInfo *VNI = LR->createDeadDef(Begin, getVNInfoAllocator()); in computeLiveInRegUnits() local
338 (void)VNI; in computeLiveInRegUnits()
339 LLVM_DEBUG(dbgs() << ' ' << printRegUnit(Unit, TRI) << '#' << VNI->id); in computeLiveInRegUnits()
353 for (VNInfo *VNI : VNIs) { in createSegmentsForValues()
354 if (VNI->isUnused()) in createSegmentsForValues()
356 SlotIndex Def = VNI->def; in createSegmentsForValues()
357 LR.addSegment(LiveRange::Segment(Def, Def.getDeadSlot(), VNI)); in createSegmentsForValues()
388 VNInfo *VNI = WorkList.back().second; in extendSegmentsToUses() local
395 assert(ExtVNI == VNI && "Unexpected existing value number"); in extendSegmentsToUses()
398 if (!VNI->isPHIDef() || VNI->def != BlockStart || in extendSegmentsToUses()
[all …]
DLiveInterval.cpp95 VNInfo *VNI = ForVNI ? ForVNI : LR->getNextValue(Def, *VNInfoAllocator); in createDeadDef() local
96 impl().insertAtEnd(Segment(Def, Def.getDeadSlot(), VNI)); in createDeadDef()
97 return VNI; in createDeadDef()
116 VNInfo *VNI = ForVNI ? ForVNI : LR->getNextValue(Def, *VNInfoAllocator); in createDeadDef() local
117 segments().insert(I, Segment(Def, Def.getDeadSlot(), VNI)); in createDeadDef()
118 return VNI; in createDeadDef()
381 VNInfo *LiveRange::createDeadDef(VNInfo *VNI) { in createDeadDef() argument
384 return CalcLiveRangeUtilSet(this).createDeadDef(VNI->def, nullptr, VNI); in createDeadDef()
386 return CalcLiveRangeUtilVector(this).createDeadDef(VNI->def, nullptr, VNI); in createDeadDef()
538 VNInfo *VNI = S.valno; in RenumberValues() local
[all …]
DLiveRangeUtils.h48 VNInfo *VNI = LR.getValNumInfo(i); in DistributeRange() local
50 VNI->id = SplitLRs[eq-1]->getNumValNums(); in DistributeRange()
51 SplitLRs[eq-1]->valnos.push_back(VNI); in DistributeRange()
53 VNI->id = j; in DistributeRange()
54 LR.valnos[j++] = VNI; in DistributeRange()
DRenameIndependentSubregs.cpp192 const VNInfo *VNI = SR.getVNInfoAt(Pos); in findComponents() local
193 if (VNI == nullptr) in findComponents()
197 unsigned LocalID = SRInfo.ConEQ.getEqClass(VNI); in findComponents()
234 const VNInfo *VNI = SR.getVNInfoAt(Pos); in rewriteOperands() local
235 if (VNI == nullptr) in rewriteOperands()
239 unsigned LocalID = SRInfo.ConEQ.getEqClass(VNI); in rewriteOperands()
280 const VNInfo &VNI = *SR.valnos[I]; in distribute() local
281 unsigned LocalID = SRInfo.ConEQ.getEqClass(&VNI); in distribute()
319 const VNInfo &VNI = *SR.valnos[I]; in computeMainRangesFixFlags() local
320 if (VNI.isUnused() || !VNI.isPHIDef()) in computeMainRangesFixFlags()
[all …]
DCalcSpillWeights.cpp102 const VNInfo *VNI = *I; in isRematerializable() local
103 if (VNI->isUnused()) in isRematerializable()
105 if (VNI->isPHIDef()) in isRematerializable()
108 MachineInstr *MI = LIS.getInstructionFromIndex(VNI->def); in isRematerializable()
131 LiveQueryResult SrcQ = SrcLI.Query(VNI->def); in isRematerializable()
132 VNI = SrcQ.valueIn(); in isRematerializable()
133 assert(VNI && "Copy from non-existing value"); in isRematerializable()
134 if (VNI->isPHIDef()) in isRematerializable()
136 MI = LIS.getInstructionFromIndex(VNI->def); in isRematerializable()
/external/swiftshader/third_party/LLVM/include/llvm/CodeGen/
DLiveInterval.h85 void mergeFlags(const VNInfo *VNI) { in mergeFlags() argument
86 flags = (flags | VNI->flags) & ~IS_UNUSED; in mergeFlags()
291 bool containsValue(const VNInfo *VNI) const {
292 return VNI && VNI->id < getNumValNums() && VNI == getValNumInfo(VNI->id);
299 VNInfo *VNI =
301 valnos.push_back(VNI);
302 return VNI;
309 VNInfo *VNI =
311 valnos.push_back(VNI);
312 return VNI;
[all …]
/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 …]
/external/swiftshader/third_party/llvm-7.0/llvm/include/llvm/CodeGen/
DLiveInterval.h247 for (const VNInfo *VNI : Other.valnos) in assign() local
248 createValueCopy(VNI, Allocator); in assign()
313 bool containsValue(const VNInfo *VNI) const { in containsValue() argument
314 return VNI && VNI->id < getNumValNums() && VNI == getValNumInfo(VNI->id); in containsValue()
320 VNInfo *VNI = in getNextValue() local
322 valnos.push_back(VNI); in getNextValue()
323 return VNI; in getNextValue()
333 VNInfo *createDeadDef(VNInfo *VNI);
339 VNInfo *VNI = in createValueCopy() local
341 valnos.push_back(VNI); in createValueCopy()
[all …]

123