| /freebsd-12-stable/contrib/llvm-project/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 | 91 SmallPtrSet<const VNInfo *, 4> Remattable; 95 SmallPtrSet<const VNInfo *, 4> Rematted; 193 bool checkRematerializable(VNInfo *VNI, const MachineInstr *DefMI, 198 VNInfo *ParentVNI; // parent_'s value at the remat location. 202 explicit Remat(VNInfo *ParentVNI) : ParentVNI(ParentVNI) {} in Remat() 213 bool canRematerializeAt(Remat &RM, VNInfo *OrigVNI, SlotIndex UseIdx, 227 void markRematerialized(const VNInfo *ParentVNI) { in markRematerialized() 232 bool didRematerialize(const VNInfo *ParentVNI) const { in didRematerialize()
|
| D | LiveRangeCalc.h | 51 VNInfo::Allocator *Alloc = nullptr; 55 using LiveOutPair = std::pair<VNInfo *, MachineDomTreeNode *>; 116 VNInfo *Value = nullptr; 171 VNInfo::Allocator *getVNAlloc() { return Alloc; } in getVNAlloc() 192 MachineDominatorTree *MDT, VNInfo::Allocator *VNIA); 230 void setLiveOutValue(MachineBasicBlock *MBB, VNInfo *VNI) { in setLiveOutValue()
|
| D | LiveIntervals.h | 65 VNInfo::Allocator VNInfoAllocator; 284 VNInfo::Allocator& getVNInfoAllocator() { return VNInfoAllocator; } in getVNInfoAllocator() 301 bool hasPHIKill(const LiveInterval &LI, const VNInfo *VNI) const; 474 using ShrinkToUsesWorkList = SmallVector<std::pair<SlotIndex, VNInfo*>, 16>;
|
| D | LiveStacks.h | 36 VNInfo::Allocator VNInfoAllocator; 89 VNInfo::Allocator &getVNInfoAllocator() { return VNInfoAllocator; } in getVNInfoAllocator()
|
| /freebsd-12-stable/contrib/llvm-project/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() 370 VNInfo *LiveRange::createDeadDef(SlotIndex Def, VNInfo::Allocator &VNIAlloc) { in createDeadDef() 378 VNInfo *LiveRange::createDeadDef(VNInfo *VNI) { in createDeadDef() [all …]
|
| D | SplitKit.cpp | 117 const VNInfo *VNI = CurLI.getVNInfoBefore(MBBEnd); in computeLastInsertPoint() 172 for (const VNInfo *VNI : CurLI->valnos) in analyzeUses() 425 void SplitEditor::addDeadDef(LiveInterval &LI, VNInfo *VNI, bool Original) { in addDeadDef() 438 VNInfo *PV = PS.getVNInfoAt(Def); in addDeadDef() 466 VNInfo *SplitEditor::defValue(unsigned RegIdx, in defValue() 467 const VNInfo *ParentVNI, in defValue() 476 VNInfo *VNI = LI->getNextValue(Idx, LIS.getVNInfoAllocator()); in defValue() 490 if (VNInfo *OldVNI = InsP.first->second.getPointer()) { in defValue() 503 void SplitEditor::forceRecompute(unsigned RegIdx, const VNInfo &ParentVNI) { in forceRecompute() 505 VNInfo *VNI = VFP.getPointer(); in forceRecompute() [all …]
|
| D | SplitKit.h | 328 using ValueForcePair = PointerIntPair<VNInfo *, 1>; 376 void addDeadDef(LiveInterval &LI, VNInfo *VNI, bool Original); 386 VNInfo *defValue(unsigned RegIdx, const VNInfo *ParentVNI, SlotIndex Idx, 393 void forceRecompute(unsigned RegIdx, const VNInfo &ParentVNI); 397 void forceRecomputeVNI(const VNInfo &ParentVNI); 401 VNInfo *defFromParent(unsigned RegIdx, 402 VNInfo *ParentVNI, 409 void removeBackCopies(SmallVectorImpl<VNInfo*> &Copies); 418 SmallVectorImpl<VNInfo *> &BackCopies);
|
| D | LiveIntervalCalc.cpp | 40 static VNInfo UndefVNI(0xbad, SlotIndex()); 42 static void createDeadDef(SlotIndexes &Indexes, VNInfo::Allocator &Alloc, in createDeadDef() 55 VNInfo::Allocator *Alloc = getVNAlloc(); in calculate() 122 VNInfo::Allocator *Alloc = getVNAlloc(); in constructMainRangeFromSubranges() 124 for (const VNInfo *VNI : SR.valnos) { in constructMainRangeFromSubranges() 136 VNInfo::Allocator *Alloc = getVNAlloc(); in createDeadDefs()
|
| D | InlineSpiller.cpp | 111 MapVector<std::pair<int, VNInfo *>, SmallPtrSet<MachineInstr *, 16>>; 119 bool isSpillCandBB(LiveInterval &OrigLI, VNInfo &OrigVNI, 134 void runHoistSpills(LiveInterval &OrigLI, VNInfo &OrigVNI, 186 SmallPtrSet<VNInfo*, 8> UsedValues; 223 void eliminateRedundantSpills(LiveInterval &LI, VNInfo *VNI); 225 void markValueUsed(LiveInterval*, VNInfo*); 389 VNInfo *VNI = SpillLI.getVNInfoAt(Idx.getRegSlot()); in hoistSpillInsideBB() 395 VNInfo *SrcVNI = SrcLI.getVNInfoAt(Idx); in hoistSpillInsideBB() 406 VNInfo *OrigVNI = OrigLI.getVNInfoAt(Idx); in hoistSpillInsideBB() 446 void InlineSpiller::eliminateRedundantSpills(LiveInterval &SLI, VNInfo *VNI) { in eliminateRedundantSpills() [all …]
|
| D | RegisterCoalescer.cpp | 291 VNInfo *AValNo, VNInfo *BValNo); 654 VNInfo *BValNo = BS->valno; in adjustCopiesBackFrom() 666 VNInfo *AValNo = AS->valno; in adjustCopiesBackFrom() 725 VNInfo *SubBValNo = S.getVNInfoAt(CopyIdx); in adjustCopiesBackFrom() 727 VNInfo *SubValSNo = S.getVNInfoAt(AValNo->def.getPrevSlot()); in adjustCopiesBackFrom() 764 VNInfo *AValNo, in hasOtherReachingDefs() 765 VNInfo *BValNo) { in hasOtherReachingDefs() 791 addSegmentsWithValNo(LiveRange &Dst, VNInfo *DstValNo, const LiveRange &Src, in addSegmentsWithValNo() 792 const VNInfo *SrcValNo) { in addSegmentsWithValNo() 846 VNInfo *BValNo = IntB.getVNInfoAt(CopyIdx); in removeCopyByCommutingDef() [all …]
|
| D | LiveRangeEdit.cpp | 47 VNInfo::Allocator &Alloc = LIS.getVNInfoAllocator(); in createEmptyIntervalFrom() 70 bool LiveRangeEdit::checkRematerializable(VNInfo *VNI, in checkRematerializable() 82 for (VNInfo *VNI : getParent().valnos) { in scanRemattable() 87 VNInfo *OrigVNI = OrigLI.getVNInfoAt(VNI->def); in scanRemattable() 125 const VNInfo *OVNI = li.getVNInfoAt(OrigIdx); in allUsesAvailableAt() 141 bool LiveRangeEdit::canRematerializeAt(Remat &RM, VNInfo *OrigVNI, in canRematerializeAt() 299 VNInfo *OrigVNI = OrigLI.getVNInfoAt(Idx); in eliminateDeadDef() 367 VNInfo *VNI = NewLI.getNextValue(Idx, LIS.getVNInfoAllocator()); in eliminateDeadDef()
|
| D | LiveIntervals.cpp | 351 VNInfo *VNI = LR->createDeadDef(Begin, getVNInfoAllocator()); in computeLiveInRegUnits() 367 for (VNInfo *VNI : VNIs) { in createSegmentsForValues() 379 SmallPtrSet<VNInfo*, 8> UsedPHIs; in extendSegmentsToUses() 402 VNInfo *VNI = WorkList.back().second; in extendSegmentsToUses() 408 if (VNInfo *ExtVNI = Segments.extendInBlock(BlockStart, Idx)) { in extendSegmentsToUses() 421 if (VNInfo *PVNI = OldRange.getVNInfoBefore(Stop)) in extendSegmentsToUses() 436 if (VNInfo *OldVNI = OldRange.getVNInfoBefore(Stop)) { in extendSegmentsToUses() 482 VNInfo *VNI = LRQ.valueIn(); in shrinkToUses() 495 if (VNInfo *DefVNI = LRQ.valueDefined()) in shrinkToUses() 520 for (VNInfo *VNI : LI.valnos) { in computeDeadValues() [all …]
|
| D | LiveRangeCalc.cpp | 41 static VNInfo UndefVNI(0xbad, SlotIndex()); 54 VNInfo::Allocator *VNIA) { in reset() 203 VNInfo *TheVNI = nullptr; in findReachingDefs() 236 if (VNInfo *VNI = Map[Pred].first) { in findReachingDefs() 250 VNInfo *VNI = EP.first; in findReachingDefs() 401 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 | 397 VNInfo *IncomingVNI = IncomingLI.getVNInfoAt(MBBStartIndex); in LowerPHINode() 412 VNInfo *OrigDestVNI = DestLI.getVNInfoAt(MBBStartIndex); in LowerPHINode() 422 VNInfo *DestVNI = DestLI.getVNInfoAt(DestCopyIndex.getRegSlot()); in LowerPHINode() 566 VNInfo *VNI = SrcLI.getVNInfoAt(startIdx); in LowerPHINode()
|
| D | LiveRangeUtils.h | 47 VNInfo *VNI = LR.getValNumInfo(i); in DistributeRange()
|
| D | LiveDebugVariables.cpp | 448 SmallDenseMap<unsigned, std::pair<LiveRange *, const VNInfo *>> 963 SmallDenseMap<unsigned, std::pair<LiveRange *, const VNInfo *>> in extendDef() 1029 SmallVector<std::pair<LiveInterval *, const VNInfo *>, 4>> in addDefsFromCopies() 1058 const VNInfo *DstVNI = DstLI->getVNInfoAt(Idx.getRegSlot()); in addDefsFromCopies() 1084 const VNInfo *DstVNI = LIAndVNI.second; in addDefsFromCopies() 1119 SmallDenseMap<unsigned, std::pair<LiveRange *, const VNInfo *>> LIs; in computeIntervals() 1120 SmallVector<const VNInfo *, 4> VNIs; in computeIntervals() 1130 const VNInfo *VNI = nullptr; in computeIntervals()
|
| D | StackColoring.cpp | 450 VNInfo::Allocator VNInfoAllocator; 897 VNInfo *VNI = Intervals[Slot]->getValNumInfo(0); in calculateLiveIntervals() 913 VNInfo *VNI = Intervals[i]->getValNumInfo(0); in calculateLiveIntervals()
|
| D | MachineVerifier.cpp | 232 void report_context(const VNInfo &VNI) const; 260 void verifyLiveRangeValue(const LiveRange &, const VNInfo *, Register, 528 void MachineVerifier::report_context(const VNInfo &VNI) const { in report_context() 2141 if (const VNInfo *VNI = LR.getVNInfoAt(DefIdx)) { in checkLivenessAtDef() 2750 const VNInfo *VNI, Register Reg, in verifyLiveRangeValue() 2755 const VNInfo *DefVNI = LR.getVNInfoAt(VNI->def); in verifyLiveRangeValue() 2846 const VNInfo *VNI = S.valno; in verifyLiveRangeSegment() 3030 const VNInfo *PVNI = LR.getVNInfoBefore(PEnd); in verifyLiveRangeSegment() 3066 for (const VNInfo *VNI : LR.valnos) in verifyLiveRange() 3109 for (const VNInfo *I : LI.valnos) in verifyLiveInterval()
|
| D | LiveRegMatrix.cpp | 212 VNInfo valno(0, Start); in checkInterference()
|
| /freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/WebAssembly/ |
| D | WebAssemblyMemIntrinsicResults.cpp | 95 VNInfo *FromVNI = FromLI->getVNInfoAt(FromIdx); in replaceDominatedUses() 110 VNInfo *WhereVNI = FromLI->getVNInfoAt(WhereIdx); in replaceDominatedUses() 115 VNInfo *ToVNI = ToLI->getVNInfoAt(WhereIdx); in replaceDominatedUses()
|
| D | WebAssemblyRegStackify.cpp | 274 if (const VNInfo *ValNo = LIS.getInterval(Reg).getVNInfoBefore( in getVRegDef() 292 const VNInfo *DefVNI = in hasOneUse() 439 VNInfo *OneUseVNI = LI.getVNInfoBefore(LIS.getInstructionIndex(*OneUseInst)); in oneUseDominatesOtherUses() 446 VNInfo *UseVNI = LI.getVNInfoBefore(LIS.getInstructionIndex(*UseInst)); in oneUseDominatesOtherUses() 657 VNInfo *ValNo = LI.getVNInfoAt(DefIdx); in moveAndTeeForMultiUse()
|
| /freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/PowerPC/ |
| D | PPCVSXFMAMutate.cpp | 111 VNInfo *AddendValNo = in processBlock() 282 VNInfo *FMAValNo = FMAInt.getVNInfoAt(FMAIdx.getRegSlot()); in processBlock() 306 VNInfo *NewFMAValNo = in processBlock()
|
| /freebsd-12-stable/contrib/llvm-project/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() 368 if (const VNInfo *VN = LR.getVNInfoBefore(LIS->getMBBEndIdx(*PI))) { in markDefs() 405 if (const VNInfo *VN = LRQ.valueIn()) { in markDefs() 460 const VNInfo *Value = LR.Query(LIS->getInstructionIndex(MI)).valueIn(); in markOperand()
|