Home
last modified time | relevance | path

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

12

/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/include/llvm/CodeGen/
DLiveInterval.h52 class VNInfo {
63 VNInfo(unsigned i, SlotIndex d) : id(i), def(d) {} in VNInfo() function
66 VNInfo(unsigned i, const VNInfo &orig) : id(i), def(orig.def) {} in VNInfo() function
69 void copyFrom(VNInfo &src) { in copyFrom()
90 VNInfo *const EarlyVal;
91 VNInfo *const LateVal;
96 LiveQueryResult(VNInfo *EarlyVal, VNInfo *LateVal, SlotIndex EndPoint, in LiveQueryResult()
104 VNInfo *valueIn() const { in valueIn()
122 VNInfo *valueOut() const { in valueOut()
128 VNInfo *valueOutOrDead() const { in valueOutOrDead()
[all …]
DLiveRangeEdit.h90 SmallPtrSet<const VNInfo *, 4> Remattable;
94 SmallPtrSet<const VNInfo *, 4> Rematted;
197 bool checkRematerializable(VNInfo *VNI, const MachineInstr *DefMI,
202 VNInfo *ParentVNI; // parent_'s value at the remat location.
206 explicit Remat(VNInfo *ParentVNI) : ParentVNI(ParentVNI) {} in Remat()
212 bool canRematerializeAt(Remat &RM, VNInfo *OrigVNI, SlotIndex UseIdx,
226 void markRematerialized(const VNInfo *ParentVNI) { in markRematerialized()
231 bool didRematerialize(const VNInfo *ParentVNI) const { in didRematerialize()
DLiveRangeCalc.h49 VNInfo::Allocator *Alloc = nullptr;
53 using LiveOutPair = std::pair<VNInfo *, MachineDomTreeNode *>;
114 VNInfo *Value = nullptr;
194 MachineDominatorTree *MDT, VNInfo::Allocator *VNIA);
255 void setLiveOutValue(MachineBasicBlock *MBB, VNInfo *VNI) { in setLiveOutValue()
DLiveStacks.h36 VNInfo::Allocator VNInfoAllocator;
89 VNInfo::Allocator &getVNInfoAllocator() { return VNInfoAllocator; } in getVNInfoAllocator()
DLiveIntervals.h65 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>;
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/CodeGen/
DLiveInterval.cpp87 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 …]
DSplitKit.h318 using ValueForcePair = PointerIntPair<VNInfo *, 1>;
359 void addDeadDef(LiveInterval &LI, VNInfo *VNI, bool Original);
369 VNInfo *defValue(unsigned RegIdx, const VNInfo *ParentVNI, SlotIndex Idx,
376 void forceRecompute(unsigned RegIdx, const VNInfo &ParentVNI);
380 void forceRecomputeVNI(const VNInfo &ParentVNI);
384 VNInfo *defFromParent(unsigned RegIdx,
385 VNInfo *ParentVNI,
392 void removeBackCopies(SmallVectorImpl<VNInfo*> &Copies);
401 SmallVectorImpl<VNInfo *> &BackCopies);
DSplitKit.cpp122 const VNInfo *VNI = CurLI.getVNInfoBefore(MBBEnd); in computeLastInsertPoint()
170 for (const VNInfo *VNI : CurLI->valnos) in analyzeUses()
415 void SplitEditor::addDeadDef(LiveInterval &LI, VNInfo *VNI, bool Original) { in addDeadDef()
428 VNInfo *PV = PS.getVNInfoAt(Def); in addDeadDef()
456 VNInfo *SplitEditor::defValue(unsigned RegIdx, in defValue()
457 const VNInfo *ParentVNI, in defValue()
466 VNInfo *VNI = LI->getNextValue(Idx, LIS.getVNInfoAllocator()); in defValue()
480 if (VNInfo *OldVNI = InsP.first->second.getPointer()) { in defValue()
493 void SplitEditor::forceRecompute(unsigned RegIdx, const VNInfo &ParentVNI) { in forceRecompute()
495 VNInfo *VNI = VFP.getPointer(); in forceRecompute()
[all …]
DInlineSpiller.cpp110 MapVector<std::pair<int, VNInfo *>, SmallPtrSet<MachineInstr *, 16>>;
118 bool isSpillCandBB(LiveInterval &OrigLI, VNInfo &OrigVNI,
133 void runHoistSpills(LiveInterval &OrigLI, VNInfo &OrigVNI,
185 SmallPtrSet<VNInfo*, 8> UsedValues;
218 void eliminateRedundantSpills(LiveInterval &LI, VNInfo *VNI);
220 void markValueUsed(LiveInterval*, VNInfo*);
375 VNInfo *VNI = SpillLI.getVNInfoAt(Idx.getRegSlot()); in hoistSpillInsideBB()
381 VNInfo *SrcVNI = SrcLI.getVNInfoAt(Idx); in hoistSpillInsideBB()
392 VNInfo *OrigVNI = OrigLI.getVNInfoAt(Idx); in hoistSpillInsideBB()
425 void InlineSpiller::eliminateRedundantSpills(LiveInterval &SLI, VNInfo *VNI) { in eliminateRedundantSpills()
[all …]
DRegisterCoalescer.cpp260 VNInfo *AValNo, VNInfo *BValNo);
613 VNInfo *BValNo = BS->valno; in adjustCopiesBackFrom()
625 VNInfo *AValNo = AS->valno; in adjustCopiesBackFrom()
678 VNInfo *SubBValNo = S.getVNInfoAt(CopyIdx); in adjustCopiesBackFrom()
680 VNInfo *SubValSNo = S.getVNInfoAt(AValNo->def.getPrevSlot()); in adjustCopiesBackFrom()
717 VNInfo *AValNo, in hasOtherReachingDefs()
718 VNInfo *BValNo) { in hasOtherReachingDefs()
744 addSegmentsWithValNo(LiveRange &Dst, VNInfo *DstValNo, const LiveRange &Src, in addSegmentsWithValNo()
745 const VNInfo *SrcValNo) { in addSegmentsWithValNo()
799 VNInfo *BValNo = IntB.getVNInfoAt(CopyIdx); in removeCopyByCommutingDef()
[all …]
DLiveIntervals.cpp341 VNInfo *VNI = LR->createDeadDef(Begin, getVNInfoAllocator()); in computeLiveInRegUnits()
357 for (VNInfo *VNI : VNIs) { in createSegmentsForValues()
369 SmallPtrSet<VNInfo*, 8> UsedPHIs; in extendSegmentsToUses()
392 VNInfo *VNI = WorkList.back().second; in extendSegmentsToUses()
398 if (VNInfo *ExtVNI = Segments.extendInBlock(BlockStart, Idx)) { in extendSegmentsToUses()
411 if (VNInfo *PVNI = OldRange.getVNInfoBefore(Stop)) in extendSegmentsToUses()
426 if (VNInfo *OldVNI = OldRange.getVNInfoBefore(Stop)) { in extendSegmentsToUses()
472 VNInfo *VNI = LRQ.valueIn(); in shrinkToUses()
485 if (VNInfo *DefVNI = LRQ.valueDefined()) in shrinkToUses()
510 for (VNInfo *VNI : LI.valnos) { in computeDeadValues()
[all …]
DLiveRangeEdit.cpp47 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()
124 const VNInfo *OVNI = li.getVNInfoAt(OrigIdx); in allUsesAvailableAt()
140 bool LiveRangeEdit::canRematerializeAt(Remat &RM, VNInfo *OrigVNI, in canRematerializeAt()
297 VNInfo *OrigVNI = OrigLI.getVNInfoAt(Idx); in eliminateDeadDef()
365 VNInfo *VNI = NewLI.getNextValue(Idx, LIS.getVNInfoAllocator()); in eliminateDeadDef()
DLiveRangeCalc.cpp41 static VNInfo UndefVNI(0xbad, SlotIndex());
54 VNInfo::Allocator *VNIA) { in reset()
64 static void createDeadDef(SlotIndexes &Indexes, VNInfo::Allocator &Alloc, in createDeadDef()
138 for (const VNInfo *VNI : SR.valnos) { in constructMainRangeFromSubranges()
356 VNInfo *TheVNI = nullptr; in findReachingDefs()
389 if (VNInfo *VNI = Map[Pred].first) { in findReachingDefs()
403 VNInfo *VNI = EP.first; in findReachingDefs()
554 VNInfo *VNI = LR.getNextValue(Start, *Alloc); in updateSSA()
DRenameIndependentSubregs.cpp192 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()
DPHIElimination.cpp335 VNInfo *IncomingVNI = IncomingLI.getVNInfoAt(MBBStartIndex); in LowerPHINode()
351 VNInfo *OrigDestVNI = DestLI.getVNInfoAt(MBBStartIndex); in LowerPHINode()
361 VNInfo *DestVNI = DestLI.getVNInfoAt(DestCopyIndex.getRegSlot()); in LowerPHINode()
492 VNInfo *VNI = SrcLI.getVNInfoAt(startIdx); in LowerPHINode()
DLiveRangeUtils.h47 VNInfo *VNI = LR.getValNumInfo(i); in DistributeRange()
DLiveDebugVariables.cpp314 LiveRange *LR, const VNInfo *VNI,
734 const VNInfo *VNI, SmallVectorImpl<SlotIndex> *Kills, in extendDef()
789 SmallVector<std::pair<LiveInterval*, const VNInfo*>, 8> CopyValues; in addDefsFromCopies()
814 const VNInfo *DstVNI = DstLI->getVNInfoAt(Idx.getRegSlot()); in addDefsFromCopies()
830 const VNInfo *DstVNI = CopyValues[j].second; in addDefsFromCopies()
874 const VNInfo *VNI = nullptr; in computeIntervals()
DStackColoring.cpp420 VNInfo::Allocator VNInfoAllocator;
853 VNInfo *VNI = Intervals[Slot]->getValNumInfo(0); in calculateLiveIntervals()
869 VNInfo *VNI = Intervals[i]->getValNumInfo(0); in calculateLiveIntervals()
DLiveRegMatrix.cpp212 VNInfo valno(0, Start); in checkInterference()
DMachineVerifier.cpp254 void report_context(const VNInfo &VNI) const;
281 void verifyLiveRangeValue(const LiveRange&, const VNInfo*, unsigned,
539 void MachineVerifier::report_context(const VNInfo &VNI) const { in report_context()
1894 if (const VNInfo *VNI = LR.getVNInfoAt(DefIdx)) { in checkLivenessAtDef()
2386 const VNInfo *VNI, unsigned Reg, in verifyLiveRangeValue()
2391 const VNInfo *DefVNI = LR.getVNInfoAt(VNI->def); in verifyLiveRangeValue()
2482 const VNInfo *VNI = S.valno; in verifyLiveRangeSegment()
2658 const VNInfo *PVNI = LR.getVNInfoBefore(PEnd); in verifyLiveRangeSegment()
2694 for (const VNInfo *VNI : LR.valnos) in verifyLiveRange()
DCalcSpillWeights.cpp93 const VNInfo *VNI = *I; in isRematerializable()
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Target/WebAssembly/
DWebAssemblyMemIntrinsicResults.cpp95 VNInfo *FromVNI = FromLI->getVNInfoAt(FromIdx); in replaceDominatedUses()
110 VNInfo *WhereVNI = FromLI->getVNInfoAt(WhereIdx); in replaceDominatedUses()
115 VNInfo *ToVNI = ToLI->getVNInfoAt(WhereIdx); in replaceDominatedUses()
DWebAssemblyRegStackify.cpp277 if (const VNInfo *ValNo = LIS.getInterval(Reg).getVNInfoBefore( in getVRegDef()
295 const VNInfo *DefVNI = in hasOneUse()
409 VNInfo *OneUseVNI = LI.getVNInfoBefore(LIS.getInstructionIndex(*OneUseInst)); in oneUseDominatesOtherUses()
416 VNInfo *UseVNI = LI.getVNInfoBefore(LIS.getInstructionIndex(*UseInst)); in oneUseDominatesOtherUses()
627 VNInfo *ValNo = LI.getVNInfoAt(DefIdx); in moveAndTeeForMultiUse()
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Target/PowerPC/
DPPCVSXFMAMutate.cpp111 VNInfo *AddendValNo = in processBlock()
282 VNInfo *FMAValNo = FMAInt.getVNInfoAt(FMAIdx.getRegSlot()); in processBlock()
306 VNInfo *NewFMAValNo = in processBlock()
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Target/Hexagon/
DHexagonExpandCondsets.cpp1162 using ValueInfoMap = DenseMap<VNInfo *, VNInfo *>; in coalesceRegisters()
1165 VNInfo *NewVN, *OldVN = I->valno; in coalesceRegisters()

12