Home
last modified time | relevance | path

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

/openbsd/src/gnu/llvm/llvm/lib/CodeGen/
DSplitKit.cpp115 const VNInfo *VNI = CurLI.getVNInfoBefore(MBBEnd); in computeLastInsertPoint() local
116 if (!VNI) in computeLastInsertPoint()
121 if (SlotIndex::isSameInstr(VNI->def, LIP.second)) in computeLastInsertPoint()
130 if (!SlotIndex::isEarlierInstr(VNI->def, LIP.second) && VNI->def < MBBEnd) in computeLastInsertPoint()
169 for (const VNInfo *VNI : CurLI->valnos) in analyzeUses() local
170 if (!VNI->isPHIDef() && !VNI->isUnused()) in analyzeUses()
171 UseSlots.push_back(VNI->def); in analyzeUses()
420 void SplitEditor::addDeadDef(LiveInterval &LI, VNInfo *VNI, bool Original) { in addDeadDef() argument
422 LI.createDeadDef(VNI); in addDeadDef()
426 SlotIndex Def = VNI->def; in addDeadDef()
[all …]
DLiveInterval.cpp94 VNInfo *VNI = ForVNI ? ForVNI : LR->getNextValue(Def, *VNInfoAllocator); in createDeadDef() local
95 impl().insertAtEnd(Segment(Def, Def.getDeadSlot(), VNI)); in createDeadDef()
96 return VNI; in createDeadDef()
115 VNInfo *VNI = ForVNI ? ForVNI : LR->getNextValue(Def, *VNInfoAllocator); in createDeadDef() local
116 segments().insert(I, Segment(Def, Def.getDeadSlot(), VNI)); in createDeadDef()
117 return VNI; in createDeadDef()
363 VNInfo *LiveRange::createDeadDef(VNInfo *VNI) { in createDeadDef() argument
366 return CalcLiveRangeUtilSet(this).createDeadDef(VNI->def, nullptr, VNI); in createDeadDef()
368 return CalcLiveRangeUtilVector(this).createDeadDef(VNI->def, nullptr, VNI); in createDeadDef()
520 VNInfo *VNI = S.valno; in RenumberValues() local
[all …]
DLiveRangeCalc.cpp234 if (VNInfo *VNI = Map[Pred].first) { in findReachingDefs() local
235 if (TheVNI && TheVNI != VNI) in findReachingDefs()
237 TheVNI = VNI; in findReachingDefs()
248 VNInfo *VNI = EP.first; in findReachingDefs() local
250 setLiveOutValue(Pred, EP.second ? &UndefVNI : VNI); in findReachingDefs()
251 if (VNI) { in findReachingDefs()
252 if (TheVNI && TheVNI != VNI) in findReachingDefs()
254 TheVNI = VNI; in findReachingDefs()
256 if (VNI || EP.second) in findReachingDefs()
399 VNInfo *VNI = LR.getNextValue(Start, *Alloc); in updateSSA() local
[all …]
DLiveRangeUtils.h47 VNInfo *VNI = LR.getValNumInfo(i); in DistributeRange() local
49 VNI->id = SplitLRs[eq-1]->getNumValNums(); in DistributeRange()
50 SplitLRs[eq-1]->valnos.push_back(VNI); in DistributeRange()
52 VNI->id = j; in DistributeRange()
53 LR.valnos[j++] = VNI; in DistributeRange()
DLiveIntervals.cpp344 VNInfo *VNI = LR->createDeadDef(Begin, getVNInfoAllocator()); in computeLiveInRegUnits() local
345 (void)VNI; in computeLiveInRegUnits()
346 LLVM_DEBUG(dbgs() << ' ' << printRegUnit(Unit, TRI) << '#' << VNI->id); in computeLiveInRegUnits()
360 for (VNInfo *VNI : VNIs) { in createSegmentsForValues()
361 if (VNI->isUnused()) in createSegmentsForValues()
363 SlotIndex Def = VNI->def; in createSegmentsForValues()
364 LR.addSegment(LiveRange::Segment(Def, Def.getDeadSlot(), VNI)); in createSegmentsForValues()
395 VNInfo *VNI = WorkList.back().second; in extendSegmentsToUses() local
402 assert(ExtVNI == VNI && "Unexpected existing value number"); in extendSegmentsToUses()
405 if (!VNI->isPHIDef() || VNI->def != BlockStart || in extendSegmentsToUses()
[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()
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.cpp88 const VNInfo *VNI = *I; in isRematerializable() local
89 if (VNI->isUnused()) in isRematerializable()
91 if (VNI->isPHIDef()) in isRematerializable()
94 MachineInstr *MI = LIS.getInstructionFromIndex(VNI->def); in isRematerializable()
115 LiveQueryResult SrcQ = SrcLI.Query(VNI->def); in isRematerializable()
116 VNI = SrcQ.valueIn(); in isRematerializable()
117 assert(VNI && "Copy from non-existing value"); in isRematerializable()
118 if (VNI->isPHIDef()) in isRematerializable()
120 MI = LIS.getInstructionFromIndex(VNI->def); in isRematerializable()
DInlineSpiller.cpp217 void eliminateRedundantSpills(LiveInterval &LI, VNInfo *VNI);
299 for (auto *VNI : SnipLI.vnis()) { in isSnippet() local
300 MachineInstr *MI = LIS.getInstructionFromIndex(VNI->def); in isSnippet()
398 VNInfo *VNI = SpillLI.getVNInfoAt(Idx.getRegSlot()); in hoistSpillInsideBB() local
399 assert(VNI && VNI->def == Idx.getRegSlot() && "Not defined by copy"); in hoistSpillInsideBB()
455 void InlineSpiller::eliminateRedundantSpills(LiveInterval &SLI, VNInfo *VNI) { in eliminateRedundantSpills() argument
456 assert(VNI && "Missing value"); in eliminateRedundantSpills()
458 WorkList.push_back(std::make_pair(&SLI, VNI)); in eliminateRedundantSpills()
463 std::tie(LI, VNI) = WorkList.pop_back_val(); in eliminateRedundantSpills()
465 LLVM_DEBUG(dbgs() << "Checking redundant spills for " << VNI->id << '@' in eliminateRedundantSpills()
[all …]
DMachineVerifier.cpp244 void report_context(const VNInfo &VNI) const;
552 void MachineVerifier::report_context(const VNInfo &VNI) const { in report_context()
553 errs() << "- ValNo: " << VNI.id << " (def " << VNI.def << ")\n"; in report_context()
2343 if (const VNInfo *VNI = LR.getVNInfoAt(DefIdx)) { in checkLivenessAtDef() local
2352 if (((SubRangeCheck || MO->getSubReg() == 0) && VNI->def != DefIdx) || in checkLivenessAtDef()
2353 !SlotIndex::isSameInstr(VNI->def, DefIdx) || in checkLivenessAtDef()
2354 (VNI->def != DefIdx && in checkLivenessAtDef()
2355 (!VNI->def.isEarlyClobber() || !DefIdx.isRegister()))) { in checkLivenessAtDef()
2361 report_context(*VNI); in checkLivenessAtDef()
2965 const VNInfo *VNI, Register Reg, in verifyLiveRangeValue() argument
[all …]
DRegisterCoalescer.cpp1140 for (auto *VNI : IntB.valnos) { in removePartialRedundancy() local
1141 if (VNI->isUnused()) in removePartialRedundancy()
1143 if (PVal->def < VNI->def && VNI->def < LIS->getMBBEndIdx(Pred)) { in removePartialRedundancy()
1668 VNInfo *VNI = DstLI.getVNInfoAt(RegIndex); in eliminateUndefCopy() local
1669 DstLI.MergeValueNumberInto(VNI, PrevVNI); in eliminateUndefCopy()
2459 std::pair<const VNInfo *, Register> followCopyChain(const VNInfo *VNI) const;
2584 JoinVals::followCopyChain(const VNInfo *VNI) const { in followCopyChain()
2587 while (!VNI->isPHIDef()) { in followCopyChain()
2588 SlotIndex Def = VNI->def; in followCopyChain()
2592 return std::make_pair(VNI, TrackReg); in followCopyChain()
[all …]
DLiveIntervalCalc.cpp115 for (const VNInfo *VNI : SR.valnos) { in constructMainRangeFromSubranges() local
116 if (!VNI->isUnused() && !VNI->isPHIDef()) in constructMainRangeFromSubranges()
117 MainRange.createDeadDef(VNI->def, *Alloc); in constructMainRangeFromSubranges()
DLiveRangeEdit.cpp71 bool LiveRangeEdit::checkRematerializable(VNInfo *VNI, in checkRematerializable() argument
77 Remattable.insert(VNI); in checkRematerializable()
82 for (VNInfo *VNI : getParent().valnos) { in scanRemattable()
83 if (VNI->isUnused()) in scanRemattable()
87 VNInfo *OrigVNI = OrigLI.getVNInfoAt(VNI->def); in scanRemattable()
399 VNInfo *VNI = NewLI.getNextValue(Idx, Alloc); in eliminateDeadDef() local
400 NewLI.addSegment(LiveInterval::Segment(Idx, Idx.getDeadSlot(), VNI)); in eliminateDeadDef()
DTwoAddressInstructionPass.cpp1529 VNInfo *VNI = LI.getNextValue(LastCopyIdx, LIS->getVNInfoAllocator()); in processTiedPairs() local
1530 LI.addSegment(LiveRange::Segment(LastCopyIdx, endIdx, VNI)); in processTiedPairs()
1532 VNI = S.getNextValue(LastCopyIdx, LIS->getVNInfoAllocator()); in processTiedPairs()
1533 S.addSegment(LiveRange::Segment(LastCopyIdx, endIdx, VNI)); in processTiedPairs()
1538 VNInfo *VNI = in processTiedPairs() local
1540 LR->addSegment(LiveRange::Segment(LastCopyIdx, endIdx, VNI)); in processTiedPairs()
1698 for (const VNInfo *VNI : Other.valnos) { in processStatepoint() local
1699 assert(VNI->id == NewVNIs.size() && "assumed"); in processStatepoint()
1700 NewVNIs.push_back(LI.createValueCopy(VNI, A)); in processStatepoint()
1703 VNInfo *VNI = NewVNIs[S.valno->id]; in processStatepoint() local
[all …]
DStackColoring.cpp897 VNInfo *VNI = Intervals[Slot]->getValNumInfo(0); in calculateLiveIntervals() local
899 LiveInterval::Segment(Starts[Slot], ThisIndex, VNI)); in calculateLiveIntervals()
913 VNInfo *VNI = Intervals[i]->getValNumInfo(0); in calculateLiveIntervals() local
914 Intervals[i]->addSegment(LiveInterval::Segment(Starts[i], EndIdx, VNI)); in calculateLiveIntervals()
DPHIElimination.cpp577 VNInfo *VNI = SrcLI.getVNInfoAt(startIdx); in LowerPHINode() local
580 if (VNI && VNI->def != startIdx) { in LowerPHINode()
DMachineBasicBlock.cpp1202 VNInfo *VNI = LI.getVNInfoAt(PrevIndex); in SplitCriticalEdge() local
1203 assert(VNI && in SplitCriticalEdge()
1205 LI.addSegment(LiveInterval::Segment(StartIndex, EndIndex, VNI)); in SplitCriticalEdge()
1222 VNInfo *VNI = LI.getVNInfoAt(PrevIndex); in SplitCriticalEdge() local
1223 assert(VNI && "LiveInterval should have VNInfo where it is live."); in SplitCriticalEdge()
1224 LI.addSegment(LiveInterval::Segment(StartIndex, EndIndex, VNI)); in SplitCriticalEdge()
DSplitKit.h353 void addDeadDef(LiveInterval &LI, VNInfo *VNI, bool Original);
DLiveDebugVariables.cpp1127 const VNInfo *VNI = nullptr; in computeIntervals() local
1130 VNI = LI->getVNInfoAt(Idx); in computeIntervals()
1132 if (LI && VNI) in computeIntervals()
1133 LIs[LocNo] = {LI, VNI}; in computeIntervals()
DMachineScheduler.cpp1156 VNInfo *VNI; in updatePressureDiffs() local
1160 VNI = LI.getVNInfoBefore(LIS->getMBBEndIdx(BB)); in updatePressureDiffs()
1163 VNI = LRQ.valueIn(); in updatePressureDiffs()
1166 assert(VNI && "No live value at use."); in updatePressureDiffs()
1175 if (LRQ.valueIn() == VNI) { in updatePressureDiffs()
/openbsd/src/gnu/llvm/llvm/include/llvm/CodeGen/
DLiveInterval.h259 for (const VNInfo *VNI : Other.valnos) in assign() local
260 createValueCopy(VNI, Allocator); in assign()
325 bool containsValue(const VNInfo *VNI) const { in containsValue() argument
326 return VNI && VNI->id < getNumValNums() && VNI == getValNumInfo(VNI->id); in containsValue()
332 VNInfo *VNI = in getNextValue() local
334 valnos.push_back(VNI); in getNextValue()
335 return VNI; in getNextValue()
345 VNInfo *createDeadDef(VNInfo *VNI);
351 VNInfo *VNI = in createValueCopy() local
353 valnos.push_back(VNI); in createValueCopy()
[all …]
DLiveRangeCalc.h229 void setLiveOutValue(MachineBasicBlock *MBB, VNInfo *VNI) { in setLiveOutValue() argument
231 Map[MBB] = LiveOutPair(VNI, nullptr); in setLiveOutValue()
DLiveRangeEdit.h186 bool checkRematerializable(VNInfo *VNI, const MachineInstr *DefMI);
DLiveIntervals.h295 bool hasPHIKill(const LiveInterval &LI, const VNInfo *VNI) const;
/openbsd/src/gnu/llvm/llvm/lib/Target/AMDGPU/
DSIOptimizeExecMaskingPreRA.cpp192 [](const VNInfo *VNI) { in optimizeVcndVcmpPair() argument
193 return VNI->isPHIDef(); in optimizeVcndVcmpPair()
224 auto applyLiveRanges = [&](LiveRange &Dst, VNInfo *VNI) { in optimizeVcndVcmpPair() argument
234 Dst.addSegment(LiveRange::Segment(Start, End, VNI)); in optimizeVcndVcmpPair()
238 Dst.addSegment(LiveRange::Segment(CmpIdx.getRegSlot(), AndIdx.getRegSlot(), VNI)); in optimizeVcndVcmpPair()
/openbsd/src/gnu/llvm/llvm/lib/DebugInfo/PDB/Native/
DPDBFileBuilder.cpp116 uint32_t VNI = getStringTableBuilder().insert(VName); in addInjectedSource() local
121 Desc.VNameIndex = VNI; in addInjectedSource()