/freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
H A D | SplitKit.cpp | 120 const VNInfo *VNI = CurLI.getVNInfoBefore(MBBEnd); in computeLastInsertPoint() local 121 if (!VNI) in computeLastInsertPoint() 126 if (SlotIndex::isSameInstr(VNI->def, LIP.second)) in computeLastInsertPoint() 134 if (!SlotIndex::isEarlierInstr(VNI->def, LIP.second) && VNI->def < MBBEnd) in computeLastInsertPoint() 173 for (const VNInfo *VNI : CurLI->valnos) in analyzeUses() local 174 if (!VNI->isPHIDef() && !VNI->isUnused()) in analyzeUses() 175 UseSlots.push_back(VNI->def); in analyzeUses() 430 void SplitEditor::addDeadDef(LiveInterval &LI, VNInfo *VNI, bool Original) { in addDeadDef() argument 432 LI.createDeadDef(VNI); in addDeadDef() 436 SlotIndex Def = VNI->def; in addDeadDef() [all …]
|
H A D | LiveInterval.cpp | 94 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 in createDeadDef() 520 VNInfo *VNI = S.valno; RenumberValues() local 688 VNInfo *VNI = NewVNInfo[i]; join() local 1312 for (const VNInfo *VNI : LR.valnos) { Classify() local 1352 const VNInfo *VNI; Distribute() local 1386 const VNInfo &VNI = *SR.valnos[I]; Distribute() local [all...] |
H A D | LiveRangeCalc.cpp | 239 if (VNInfo *VNI = Map[Pred].first) { in findReachingDefs() 240 if (TheVNI && TheVNI != VNI) in findReachingDefs() 242 TheVNI = VNI; in findReachingDefs() 253 VNInfo *VNI = EP.first; in findReachingDefs() 255 setLiveOutValue(Pred, EP.second ? &UndefVNI : VNI); in findReachingDefs() 256 if (VNI) { in findReachingDefs() 257 if (TheVNI && TheVNI != VNI) in findReachingDefs() 259 TheVNI = VNI; in findReachingDefs() 261 if (VNI || EP.second) in findReachingDefs() 404 VNInfo *VNI in updateSSA() 234 if (VNInfo *VNI = Map[Pred].first) { findReachingDefs() local 248 VNInfo *VNI = EP.first; findReachingDefs() local 399 VNInfo *VNI = LR.getNextValue(Start, *Alloc); updateSSA() local [all...] |
H A D | LiveIntervals.cpp | 364 VNInfo *VNI = LR->createDeadDef(Begin, getVNInfoAllocator()); in computeLiveInRegUnits() local 365 (void)VNI; in computeLiveInRegUnits() 366 LLVM_DEBUG(dbgs() << ' ' << printRegUnit(Unit, TRI) << '#' << VNI->id); in computeLiveInRegUnits() 380 for (VNInfo *VNI : VNIs) { in createSegmentsForValues() 381 if (VNI->isUnused()) in createSegmentsForValues() 383 SlotIndex Def = VNI->def; in createSegmentsForValues() 384 LR.addSegment(LiveRange::Segment(Def, Def.getDeadSlot(), VNI)); in createSegmentsForValues() 415 VNInfo *VNI = WorkList.back().second; in extendSegmentsToUses() local 422 assert(ExtVNI == VNI && "Unexpected existing value number"); in extendSegmentsToUses() 425 if (!VNI->isPHIDef() || VNI->def != BlockStart || in extendSegmentsToUses() [all …]
|
H A D | LiveRangeUtils.h | 47 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()
|
H A D | RenameIndependentSubregs.cpp | 192 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 …]
|
H A D | CalcSpillWeights.cpp | 90 const VNInfo *VNI = *I; in isRematerializable() local 91 if (VNI->isUnused()) in isRematerializable() 93 if (VNI->isPHIDef()) in isRematerializable() 96 MachineInstr *MI = LIS.getInstructionFromIndex(VNI->def); in isRematerializable() 117 LiveQueryResult SrcQ = SrcLI.Query(VNI->def); in isRematerializable() 118 VNI = SrcQ.valueIn(); in isRematerializable() 119 assert(VNI && "Copy from non-existing value"); in isRematerializable() 120 if (VNI->isPHIDef()) in isRematerializable() 122 MI = LIS.getInstructionFromIndex(VNI->def); in isRematerializable()
|
H A D | InlineSpiller.cpp | 212 void eliminateRedundantSpills(LiveInterval &LI, VNInfo *VNI); 339 for (auto *VNI : SnipLI.vnis()) { in isSnippet() local 340 MachineInstr *MI = LIS.getInstructionFromIndex(VNI->def); in isSnippet() 437 VNInfo *VNI = SpillLI.getVNInfoAt(Idx.getRegSlot()); in hoistSpillInsideBB() local 438 assert(VNI && VNI->def == Idx.getRegSlot() && "Not defined by copy"); in hoistSpillInsideBB() 494 void InlineSpiller::eliminateRedundantSpills(LiveInterval &SLI, VNInfo *VNI) { in eliminateRedundantSpills() argument 495 assert(VNI && "Missing value"); in eliminateRedundantSpills() 497 WorkList.push_back(std::make_pair(&SLI, VNI)); in eliminateRedundantSpills() 502 std::tie(LI, VNI) = WorkList.pop_back_val(); in eliminateRedundantSpills() 504 LLVM_DEBUG(dbgs() << "Checking redundant spills for " << VNI->id << '@' in eliminateRedundantSpills() [all …]
|
H A D | RegisterCoalescer.cpp | 1141 for (auto *VNI : IntB.valnos) { in removePartialRedundancy() local 1142 if (VNI->isUnused()) in removePartialRedundancy() 1144 if (PVal->def < VNI->def && VNI->def < LIS->getMBBEndIdx(Pred)) { in removePartialRedundancy() 1734 VNInfo *VNI = DstLI.getVNInfoAt(RegIndex); in eliminateUndefCopy() local 1735 DstLI.MergeValueNumberInto(VNI, PrevVNI); in eliminateUndefCopy() 2539 std::pair<const VNInfo *, Register> followCopyChain(const VNInfo *VNI) const; 2664 JoinVals::followCopyChain(const VNInfo *VNI) const { in followCopyChain() 2667 while (!VNI->isPHIDef()) { in followCopyChain() 2668 SlotIndex Def = VNI->def; in followCopyChain() 2672 return std::make_pair(VNI, TrackReg); in followCopyChain() [all …]
|
H A D | MachineVerifier.cpp | 268 void report_context(const VNInfo &VNI) const; 609 void MachineVerifier::report_context(const VNInfo &VNI) const { in report_context() 610 errs() << "- ValNo: " << VNI.id << " (def " << VNI.def << ")\n"; in report_context() 2744 if (const VNInfo *VNI = LR.getVNInfoAt(DefIdx)) { in checkLivenessAtDef() local 2753 if (((SubRangeCheck || MO->getSubReg() == 0) && VNI->def != DefIdx) || in checkLivenessAtDef() 2754 !SlotIndex::isSameInstr(VNI->def, DefIdx) || in checkLivenessAtDef() 2755 (VNI->def != DefIdx && in checkLivenessAtDef() 2756 (!VNI->def.isEarlyClobber() || !DefIdx.isRegister()))) { in checkLivenessAtDef() 2762 report_context(*VNI); in checkLivenessAtDef() 3401 const VNInfo *VNI, Register Reg, in verifyLiveRangeValue() argument [all …]
|
H A D | LiveIntervalCalc.cpp | 114 for (const VNInfo *VNI : SR.valnos) { in constructMainRangeFromSubranges() 115 if (!VNI->isUnused() && !VNI->isPHIDef()) in constructMainRangeFromSubranges() local 116 MainRange.createDeadDef(VNI->def, *Alloc); in constructMainRangeFromSubranges()
|
H A D | LiveRangeEdit.cpp | 71 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() 402 VNInfo *VNI = NewLI.getNextValue(Idx, Alloc); in eliminateDeadDef() local 403 NewLI.addSegment(LiveInterval::Segment(Idx, Idx.getDeadSlot(), VNI)); in eliminateDeadDef()
|
H A D | PHIElimination.cpp | 507 VNInfo *VNI = LR->getVNInfoAt(DestSegment->start); in LowerPHINode() local 508 assert(VNI && "value should be defined for known segment"); in LowerPHINode() 510 LiveInterval::Segment(NewStart, DestSegment->start, VNI)); in LowerPHINode() 675 VNInfo *VNI = SrcLI.getVNInfoAt(startIdx); in LowerPHINode() local 678 if (VNI && VNI->def != startIdx) { in LowerPHINode()
|
H A D | MachineBasicBlock.cpp | 1306 VNInfo *VNI = LI.getVNInfoAt(PrevIndex); in SplitCriticalEdge() local 1307 assert(VNI && in SplitCriticalEdge() 1309 LI.addSegment(LiveInterval::Segment(StartIndex, EndIndex, VNI)); in SplitCriticalEdge() 1311 SR.addSegment(LiveInterval::Segment(StartIndex, EndIndex, VNI)); in SplitCriticalEdge() 1328 VNInfo *VNI = LI.getVNInfoAt(PrevIndex); in SplitCriticalEdge() local 1329 assert(VNI && "LiveInterval should have VNInfo where it is live."); in SplitCriticalEdge() 1330 LI.addSegment(LiveInterval::Segment(StartIndex, EndIndex, VNI)); in SplitCriticalEdge() 1333 VNInfo *VNI = SR.getVNInfoAt(PrevIndex); in SplitCriticalEdge() local 1334 if (VNI) in SplitCriticalEdge() 1335 SR.addSegment(LiveInterval::Segment(StartIndex, EndIndex, VNI)); in SplitCriticalEdge()
|
H A D | TwoAddressInstructionPass.cpp | 1632 VNInfo *VNI = LI.getNextValue(LastCopyIdx, LIS->getVNInfoAllocator()); in processTiedPairs() local 1633 LI.addSegment(LiveRange::Segment(LastCopyIdx, endIdx, VNI)); in processTiedPairs() 1635 VNI = S.getNextValue(LastCopyIdx, LIS->getVNInfoAllocator()); in processTiedPairs() 1636 S.addSegment(LiveRange::Segment(LastCopyIdx, endIdx, VNI)); in processTiedPairs() 1641 VNInfo *VNI = in processTiedPairs() local 1643 LR->addSegment(LiveRange::Segment(LastCopyIdx, endIdx, VNI)); in processTiedPairs() 1801 for (const VNInfo *VNI : Other.valnos) { in processStatepoint() local 1802 assert(VNI->id == NewVNIs.size() && "assumed"); in processStatepoint() 1803 NewVNIs.push_back(LI.createValueCopy(VNI, A)); in processStatepoint() 1806 VNInfo *VNI = NewVNIs[S.valno->id]; in processStatepoint() local [all …]
|
H A D | StackColoring.cpp | 868 VNInfo *VNI = Intervals[Slot]->getValNumInfo(0); in calculateLiveIntervals() local 870 LiveInterval::Segment(Starts[Slot], ThisIndex, VNI)); in calculateLiveIntervals() 884 VNInfo *VNI = Intervals[i]->getValNumInfo(0); in calculateLiveIntervals() local 885 Intervals[i]->addSegment(LiveInterval::Segment(Starts[i], EndIdx, VNI)); in calculateLiveIntervals()
|
H A D | SplitKit.h | 337 /// 4. (VNI, false) The value is mapped to a single new value. 353 /// Add a segment to the interval LI for the value number VNI. If LI has 359 void addDeadDef(LiveInterval &LI, VNInfo *VNI, bool Original);
|
H A D | LiveDebugVariables.cpp | 1128 const VNInfo *VNI = nullptr; in computeIntervals() local 1131 VNI = LI->getVNInfoAt(Idx); in computeIntervals() 1133 if (LI && VNI) in computeIntervals() 1134 LIs[LocNo] = {LI, VNI}; in computeIntervals()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/ |
H A D | LiveInterval.h | 259 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 …]
|
H A D | LiveRangeCalc.h | 229 void setLiveOutValue(MachineBasicBlock *MBB, VNInfo *VNI) { in setLiveOutValue() argument 231 Map[MBB] = LiveOutPair(VNI, nullptr); in setLiveOutValue()
|
H A D | LiveRangeEdit.h | 185 bool checkRematerializable(VNInfo *VNI, const MachineInstr *DefMI);
|
H A D | LiveIntervals.h | 313 bool hasPHIKill(const LiveInterval &LI, const VNInfo *VNI) const;
|
/freebsd/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/ |
H A D | PDBFileBuilder.cpp | 119 uint32_t VNI = getStringTableBuilder().insert(VName); in addInjectedSource() 124 Desc.VNameIndex = VNI; in addInjectedSource() 118 uint32_t VNI = getStringTableBuilder().insert(VName); addInjectedSource() local
|
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/ |
H A D | RISCVInsertVSETVLI.cpp | 975 VNInfo *VNI = getVNInfoFromReg(AVLReg, MI, LIS); in getInfoForVSETVLI() local 976 NewInfo.setAVLRegDef(VNI, AVLReg); in getInfoForVSETVLI() 1054 VNInfo *VNI = getVNInfoFromReg(VLOp.getReg(), MI, LIS); in computeInfoForInstr() local 1055 InstrInfo.setAVLRegDef(VNI, VLOp.getReg()); in computeInfoForInstr() 1277 VNInfo *VNI = LI.getVNInfoAt(SI); in transferAfter() local 1278 Info.setAVLRegDef(VNI, MI.getOperand(1).getReg()); in transferAfter()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
H A D | SIOptimizeExecMaskingPreRA.cpp | 192 [](const VNInfo *VNI) { in optimizeVcndVcmpPair() argument 193 return VNI->isPHIDef(); in optimizeVcndVcmpPair()
|