| /openbsd/src/gnu/llvm/llvm/include/llvm/CodeGen/ |
| D | LiveInterval.h | 53 class VNInfo { 64 VNInfo(unsigned i, SlotIndex d) : id(i), def(d) {} in VNInfo() function 67 VNInfo(unsigned i, const VNInfo &orig) : id(i), def(orig.def) {} in VNInfo() function 70 void copyFrom(VNInfo &src) { in copyFrom() 91 VNInfo *const EarlyVal; 92 VNInfo *const LateVal; 97 LiveQueryResult(VNInfo *EarlyVal, VNInfo *LateVal, SlotIndex EndPoint, in LiveQueryResult() 105 VNInfo *valueIn() const { in valueIn() 123 VNInfo *valueOut() const { in valueOut() 129 VNInfo *valueOutOrDead() const { in valueOutOrDead() [all …]
|
| D | LiveRangeEdit.h | 87 SmallPtrSet<const VNInfo *, 4> Remattable; 91 SmallPtrSet<const VNInfo *, 4> Rematted; 186 bool checkRematerializable(VNInfo *VNI, const MachineInstr *DefMI); 190 const VNInfo *const ParentVNI; // parent_'s value at the remat location. 194 explicit Remat(const VNInfo *ParentVNI) : ParentVNI(ParentVNI) {} in Remat() 205 bool canRematerializeAt(Remat &RM, VNInfo *OrigVNI, SlotIndex UseIdx, 221 void markRematerialized(const VNInfo *ParentVNI) { in markRematerialized() 226 bool didRematerialize(const VNInfo *ParentVNI) const { in didRematerialize()
|
| D | LiveRangeCalc.h | 50 VNInfo::Allocator *Alloc = nullptr; 54 using LiveOutPair = std::pair<VNInfo *, MachineDomTreeNode *>; 115 VNInfo *Value = nullptr; 170 VNInfo::Allocator *getVNAlloc() { return Alloc; } in getVNAlloc() 191 MachineDominatorTree *MDT, VNInfo::Allocator *VNIA); 229 void setLiveOutValue(MachineBasicBlock *MBB, VNInfo *VNI) { in setLiveOutValue()
|
| D | LiveIntervals.h | 63 VNInfo::Allocator VNInfoAllocator; 278 VNInfo::Allocator& getVNInfoAllocator() { return VNInfoAllocator; } in getVNInfoAllocator() 295 bool hasPHIKill(const LiveInterval &LI, const VNInfo *VNI) const; 468 using ShrinkToUsesWorkList = SmallVector<std::pair<SlotIndex, VNInfo*>, 16>;
|
| D | LiveStacks.h | 40 VNInfo::Allocator VNInfoAllocator; 93 VNInfo::Allocator &getVNInfoAllocator() { return VNInfoAllocator; } in getVNInfoAllocator()
|
| /openbsd/src/gnu/llvm/llvm/lib/CodeGen/ |
| D | LiveInterval.cpp | 87 VNInfo *createDeadDef(SlotIndex Def, VNInfo::Allocator *VNInfoAllocator, in createDeadDef() 88 VNInfo *ForVNI) { in createDeadDef() 94 VNInfo *VNI = ForVNI ? ForVNI : LR->getNextValue(Def, *VNInfoAllocator); in createDeadDef() 115 VNInfo *VNI = ForVNI ? ForVNI : LR->getNextValue(Def, *VNInfoAllocator); in createDeadDef() 120 VNInfo *extendInBlock(SlotIndex StartIdx, SlotIndex Use) { in extendInBlock() 135 std::pair<VNInfo*,bool> extendInBlock(ArrayRef<SlotIndex> Undefs, in extendInBlock() 161 VNInfo *ValNo = I->valno; in extendSegmentEndTo() 189 VNInfo *ValNo = I->valno; in extendSegmentStartTo() 355 VNInfo *LiveRange::createDeadDef(SlotIndex Def, VNInfo::Allocator &VNIAlloc) { in createDeadDef() 363 VNInfo *LiveRange::createDeadDef(VNInfo *VNI) { in createDeadDef() [all …]
|
| D | SplitKit.cpp | 115 const VNInfo *VNI = CurLI.getVNInfoBefore(MBBEnd); in computeLastInsertPoint() 169 for (const VNInfo *VNI : CurLI->valnos) in analyzeUses() 420 void SplitEditor::addDeadDef(LiveInterval &LI, VNInfo *VNI, bool Original) { in addDeadDef() 433 VNInfo *PV = PS.getVNInfoAt(Def); in addDeadDef() 461 VNInfo *SplitEditor::defValue(unsigned RegIdx, in defValue() 462 const VNInfo *ParentVNI, in defValue() 471 VNInfo *VNI = LI->getNextValue(Idx, LIS.getVNInfoAllocator()); in defValue() 485 if (VNInfo *OldVNI = InsP.first->second.getPointer()) { in defValue() 498 void SplitEditor::forceRecompute(unsigned RegIdx, const VNInfo &ParentVNI) { in forceRecompute() 500 VNInfo *VNI = VFP.getPointer(); in forceRecompute() [all …]
|
| D | SplitKit.h | 318 using ValueForcePair = PointerIntPair<VNInfo *, 1>; 353 void addDeadDef(LiveInterval &LI, VNInfo *VNI, bool Original); 363 VNInfo *defValue(unsigned RegIdx, const VNInfo *ParentVNI, SlotIndex Idx, 370 void forceRecompute(unsigned RegIdx, const VNInfo &ParentVNI); 374 void forceRecomputeVNI(const VNInfo &ParentVNI); 378 VNInfo *defFromParent(unsigned RegIdx, const VNInfo *ParentVNI, 384 void removeBackCopies(SmallVectorImpl<VNInfo*> &Copies); 393 SmallVectorImpl<VNInfo *> &BackCopies);
|
| D | LiveIntervalCalc.cpp | 31 static VNInfo UndefVNI(0xbad, SlotIndex()); 33 static void createDeadDef(SlotIndexes &Indexes, VNInfo::Allocator &Alloc, in createDeadDef() 46 VNInfo::Allocator *Alloc = getVNAlloc(); in calculate() 113 VNInfo::Allocator *Alloc = getVNAlloc(); in constructMainRangeFromSubranges() 115 for (const VNInfo *VNI : SR.valnos) { in constructMainRangeFromSubranges() 127 VNInfo::Allocator *Alloc = getVNAlloc(); in createDeadDefs()
|
| D | InlineSpiller.cpp | 108 MapVector<std::pair<int, VNInfo *>, SmallPtrSet<MachineInstr *, 16>>; 116 bool isSpillCandBB(LiveInterval &OrigLI, VNInfo &OrigVNI, 131 void runHoistSpills(LiveInterval &OrigLI, VNInfo &OrigVNI, 181 SmallPtrSet<VNInfo*, 8> UsedValues; 217 void eliminateRedundantSpills(LiveInterval &LI, VNInfo *VNI); 219 void markValueUsed(LiveInterval*, VNInfo*); 398 VNInfo *VNI = SpillLI.getVNInfoAt(Idx.getRegSlot()); in hoistSpillInsideBB() 404 VNInfo *SrcVNI = SrcLI.getVNInfoAt(Idx); in hoistSpillInsideBB() 415 VNInfo *OrigVNI = OrigLI.getVNInfoAt(Idx); in hoistSpillInsideBB() 455 void InlineSpiller::eliminateRedundantSpills(LiveInterval &SLI, VNInfo *VNI) { in eliminateRedundantSpills() [all …]
|
| D | RegisterCoalescer.cpp | 286 VNInfo *AValNo, VNInfo *BValNo); 644 VNInfo *BValNo = BS->valno; in adjustCopiesBackFrom() 656 VNInfo *AValNo = AS->valno; in adjustCopiesBackFrom() 715 VNInfo *SubBValNo = S.getVNInfoAt(CopyIdx); in adjustCopiesBackFrom() 717 VNInfo *SubValSNo = S.getVNInfoAt(AValNo->def.getPrevSlot()); in adjustCopiesBackFrom() 754 VNInfo *AValNo, in hasOtherReachingDefs() 755 VNInfo *BValNo) { in hasOtherReachingDefs() 781 addSegmentsWithValNo(LiveRange &Dst, VNInfo *DstValNo, const LiveRange &Src, in addSegmentsWithValNo() 782 const VNInfo *SrcValNo) { in addSegmentsWithValNo() 836 VNInfo *BValNo = IntB.getVNInfoAt(CopyIdx); in removeCopyByCommutingDef() [all …]
|
| D | LiveRangeEdit.cpp | 48 VNInfo::Allocator &Alloc = LIS.getVNInfoAllocator(); in createEmptyIntervalFrom() 71 bool LiveRangeEdit::checkRematerializable(VNInfo *VNI, in checkRematerializable() 82 for (VNInfo *VNI : getParent().valnos) { in scanRemattable() 87 VNInfo *OrigVNI = OrigLI.getVNInfoAt(VNI->def); in scanRemattable() 124 const VNInfo *OVNI = li.getVNInfoAt(OrigIdx); in allUsesAvailableAt() 158 bool LiveRangeEdit::canRematerializeAt(Remat &RM, VNInfo *OrigVNI, in canRematerializeAt() 323 VNInfo *OrigVNI = OrigLI.getVNInfoAt(Idx); in eliminateDeadDef() 398 VNInfo::Allocator &Alloc = LIS.getVNInfoAllocator(); in eliminateDeadDef() 399 VNInfo *VNI = NewLI.getNextValue(Idx, Alloc); in eliminateDeadDef()
|
| D | LiveIntervals.cpp | 344 VNInfo *VNI = LR->createDeadDef(Begin, getVNInfoAllocator()); in computeLiveInRegUnits() 360 for (VNInfo *VNI : VNIs) { in createSegmentsForValues() 372 SmallPtrSet<VNInfo*, 8> UsedPHIs; in extendSegmentsToUses() 395 VNInfo *VNI = WorkList.back().second; in extendSegmentsToUses() 401 if (VNInfo *ExtVNI = Segments.extendInBlock(BlockStart, Idx)) { in extendSegmentsToUses() 414 if (VNInfo *PVNI = OldRange.getVNInfoBefore(Stop)) in extendSegmentsToUses() 429 if (VNInfo *OldVNI = OldRange.getVNInfoBefore(Stop)) { in extendSegmentsToUses() 474 VNInfo *VNI = LRQ.valueIn(); in shrinkToUses() 487 if (VNInfo *DefVNI = LRQ.valueDefined()) in shrinkToUses() 511 for (VNInfo *VNI : LI.valnos) { in computeDeadValues() [all …]
|
| D | LiveRangeCalc.cpp | 39 static VNInfo UndefVNI(0xbad, SlotIndex()); 52 VNInfo::Allocator *VNIA) { in reset() 201 VNInfo *TheVNI = nullptr; in findReachingDefs() 234 if (VNInfo *VNI = Map[Pred].first) { in findReachingDefs() 248 VNInfo *VNI = EP.first; in findReachingDefs() 399 VNInfo *VNI = LR.getNextValue(Start, *Alloc); in updateSSA()
|
| D | RenameIndependentSubregs.cpp | 192 const VNInfo *VNI = SR.getVNInfoAt(Pos); in findComponents() 234 const VNInfo *VNI = SR.getVNInfoAt(Pos); in rewriteOperands() 280 const VNInfo &VNI = *SR.valnos[I]; in distribute() 319 const VNInfo &VNI = *SR.valnos[I]; in computeMainRangesFixFlags() 338 VNInfo *SRVNI = SR.getNextValue(RegDefIdx, Allocator); in computeMainRangesFixFlags()
|
| D | PHIElimination.cpp | 396 VNInfo *IncomingVNI = IncomingLI.getVNInfoAt(MBBStartIndex); in LowerPHINode() 411 VNInfo *OrigDestVNI = DestLI.getVNInfoAt(MBBStartIndex); in LowerPHINode() 421 VNInfo *DestVNI = DestLI.getVNInfoAt(DestCopyIndex.getRegSlot()); in LowerPHINode() 577 VNInfo *VNI = SrcLI.getVNInfoAt(startIdx); in LowerPHINode()
|
| D | LiveRangeUtils.h | 47 VNInfo *VNI = LR.getValNumInfo(i); in DistributeRange()
|
| D | LiveDebugVariables.cpp | 445 SmallDenseMap<unsigned, std::pair<LiveRange *, const VNInfo *>> 961 SmallDenseMap<unsigned, std::pair<LiveRange *, const VNInfo *>> in extendDef() 1026 SmallVector<std::pair<LiveInterval *, const VNInfo *>, 4>> in addDefsFromCopies() 1055 const VNInfo *DstVNI = DstLI->getVNInfoAt(Idx.getRegSlot()); in addDefsFromCopies() 1081 const VNInfo *DstVNI = LIAndVNI.second; in addDefsFromCopies() 1116 SmallDenseMap<unsigned, std::pair<LiveRange *, const VNInfo *>> LIs; in computeIntervals() 1117 SmallVector<const VNInfo *, 4> VNIs; in computeIntervals() 1127 const VNInfo *VNI = nullptr; in computeIntervals()
|
| D | TwoAddressInstructionPass.cpp | 1529 VNInfo *VNI = LI.getNextValue(LastCopyIdx, LIS->getVNInfoAllocator()); in processTiedPairs() 1538 VNInfo *VNI = in processTiedPairs() 1694 VNInfo::Allocator &A = LIS->getVNInfoAllocator(); in processStatepoint() 1697 SmallVector<VNInfo *> NewVNIs; in processStatepoint() 1698 for (const VNInfo *VNI : Other.valnos) { in processStatepoint() 1703 VNInfo *VNI = NewVNIs[S.valno->id]; in processStatepoint()
|
| D | StackColoring.cpp | 448 VNInfo::Allocator VNInfoAllocator; 897 VNInfo *VNI = Intervals[Slot]->getValNumInfo(0); in calculateLiveIntervals() 913 VNInfo *VNI = Intervals[i]->getValNumInfo(0); in calculateLiveIntervals()
|
| D | MachineVerifier.cpp | 244 void report_context(const VNInfo &VNI) const; 272 void verifyLiveRangeValue(const LiveRange &, const VNInfo *, Register, 552 void MachineVerifier::report_context(const VNInfo &VNI) const { in report_context() 2343 if (const VNInfo *VNI = LR.getVNInfoAt(DefIdx)) { in checkLivenessAtDef() 2965 const VNInfo *VNI, Register Reg, in verifyLiveRangeValue() 2970 const VNInfo *DefVNI = LR.getVNInfoAt(VNI->def); in verifyLiveRangeValue() 3060 const VNInfo *VNI = S.valno; in verifyLiveRangeSegment() 3248 const VNInfo *PVNI = LR.getVNInfoBefore(PEnd); in verifyLiveRangeSegment() 3284 for (const VNInfo *VNI : LR.valnos) in verifyLiveRange() 3327 for (const VNInfo *I : LI.valnos) in verifyLiveInterval()
|
| /openbsd/src/gnu/llvm/llvm/lib/Target/WebAssembly/ |
| D | WebAssemblyMemIntrinsicResults.cpp | 95 VNInfo *FromVNI = FromLI->getVNInfoAt(FromIdx); in replaceDominatedUses() 109 VNInfo *WhereVNI = FromLI->getVNInfoAt(WhereIdx); in replaceDominatedUses() 114 VNInfo *ToVNI = ToLI->getVNInfoAt(WhereIdx); in replaceDominatedUses()
|
| D | WebAssemblyRegStackify.cpp | 273 if (const VNInfo *ValNo = LIS.getInterval(Reg).getVNInfoBefore( in getVRegDef() 291 const VNInfo *DefVNI = in hasOneUse() 443 VNInfo *OneUseVNI = LI.getVNInfoBefore(LIS.getInstructionIndex(*OneUseInst)); in oneUseDominatesOtherUses() 450 VNInfo *UseVNI = LI.getVNInfoBefore(LIS.getInstructionIndex(*UseInst)); in oneUseDominatesOtherUses() 664 VNInfo *ValNo = LI.getVNInfoAt(DefIdx); in moveAndTeeForMultiUse()
|
| /openbsd/src/gnu/llvm/llvm/lib/Target/PowerPC/ |
| D | PPCVSXFMAMutate.cpp | 111 VNInfo *AddendValNo = in processBlock() 282 VNInfo *FMAValNo = FMAInt.getVNInfoAt(FMAIdx.getRegSlot()); in processBlock() 305 VNInfo *NewFMAValNo = in processBlock()
|
| /openbsd/src/gnu/llvm/llvm/lib/Target/AMDGPU/ |
| D | SIWholeQuadMode.cpp | 321 const VNInfo *Value = UseLRQ.valueIn(); in markDefs() 336 const VNInfo *Phi; in markDefs() 340 PhiEntry(const VNInfo *Phi, unsigned PredIdx, LaneBitmask DefinedLanes) in markDefs() 343 using VisitKey = std::pair<const VNInfo *, LaneBitmask>; in markDefs() 349 const VNInfo *NextValue = nullptr; in markDefs() 367 if (const VNInfo *VN = LR.getVNInfoBefore(LIS->getMBBEndIdx(*PI))) { in markDefs() 404 if (const VNInfo *VN = LRQ.valueIn()) { in markDefs() 459 const VNInfo *Value = LR.Query(LIS->getInstructionIndex(MI)).valueIn(); in markOperand()
|