Home
last modified time | relevance | path

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

/external/llvm/include/llvm/CodeGen/
DLiveInterval.h45 class VNInfo {
56 VNInfo(unsigned i, SlotIndex d) in VNInfo() function
61 VNInfo(unsigned i, const VNInfo &orig) in VNInfo() function
66 void copyFrom(VNInfo &src) { in copyFrom()
87 VNInfo *const EarlyVal;
88 VNInfo *const LateVal;
93 LiveQueryResult(VNInfo *EarlyVal, VNInfo *LateVal, SlotIndex EndPoint, in LiveQueryResult()
101 VNInfo *valueIn() const { in valueIn()
119 VNInfo *valueOut() const { in valueOut()
125 VNInfo *valueOutOrDead() const { in valueOutOrDead()
[all …]
DLiveRangeEdit.h77 SmallPtrSet<const VNInfo*,4> Remattable;
81 SmallPtrSet<const VNInfo*,4> Rematted;
168 bool checkRematerializable(VNInfo *VNI, const MachineInstr *DefMI,
173 VNInfo *ParentVNI; // parent_'s value at the remat location.
175 explicit Remat(VNInfo *ParentVNI) : ParentVNI(ParentVNI), OrigMI(nullptr) {} in Remat()
198 void markRematerialized(const VNInfo *ParentVNI) { in markRematerialized()
203 bool didRematerialize(const VNInfo *ParentVNI) const { in didRematerialize()
DLiveStackAnalysis.h33 VNInfo::Allocator VNInfoAllocator;
87 VNInfo::Allocator& getVNInfoAllocator() { return VNInfoAllocator; } in getVNInfoAllocator()
DLiveIntervalAnalysis.h65 VNInfo::Allocator VNInfoAllocator;
265 VNInfo::Allocator& getVNInfoAllocator() { return VNInfoAllocator; } in getVNInfoAllocator()
283 bool hasPHIKill(const LiveInterval &LI, const VNInfo *VNI) const;
/external/llvm/lib/CodeGen/
DSplitKit.h37 class VNInfo; variable
273 typedef PointerIntPair<VNInfo*, 1> ValueForcePair;
307 VNInfo *defValue(unsigned RegIdx, const VNInfo *ParentVNI, SlotIndex Idx);
313 void forceRecompute(unsigned RegIdx, const VNInfo *ParentVNI);
317 VNInfo *defFromParent(unsigned RegIdx,
318 VNInfo *ParentVNI,
325 void removeBackCopies(SmallVectorImpl<VNInfo*> &Copies);
DLiveInterval.cpp62 VNInfo *createDeadDef(SlotIndex Def, VNInfo::Allocator &VNInfoAllocator) { in createDeadDef()
67 VNInfo *VNI = LR->getNextValue(Def, VNInfoAllocator); in createDeadDef()
87 VNInfo *VNI = LR->getNextValue(Def, VNInfoAllocator); in createDeadDef()
92 VNInfo *extendInBlock(SlotIndex StartIdx, SlotIndex Use) { in extendInBlock()
114 VNInfo *ValNo = I->valno; in extendSegmentEndTo()
142 VNInfo *ValNo = I->valno; in extendSegmentStartTo()
321 VNInfo *LiveRange::createDeadDef(SlotIndex Def, in createDeadDef()
322 VNInfo::Allocator &VNInfoAllocator) { in createDeadDef()
463 void LiveRange::markValNoForDeletion(VNInfo *ValNo) { in markValNoForDeletion()
476 SmallPtrSet<VNInfo*, 8> Seen; in RenumberValues()
[all …]
DInlineSpiller.cpp86 SmallPtrSet<VNInfo*, 8> UsedValues;
105 VNInfo *SpillVNI;
120 TinyPtrVector<VNInfo*> Deps;
122 SibValueInfo(unsigned Reg, VNInfo *VNI) in SibValueInfo()
132 typedef DenseMap<VNInfo*, SibValueInfo> SibValueMap;
164 MachineInstr *traceSiblingValue(unsigned, VNInfo*, VNInfo*);
165 void propagateSiblingValue(SibValueMap::iterator, VNInfo *VNI = nullptr);
169 void eliminateRedundantSpills(LiveInterval &LI, VNInfo *VNI);
171 void markValueUsed(LiveInterval*, VNInfo*);
349 VNInfo *VNI) { in propagateSiblingValue()
[all …]
DLiveRangeCalc.h41 VNInfo::Allocator *Alloc;
45 typedef std::pair<VNInfo*, MachineDomTreeNode*> LiveOutPair;
92 VNInfo *Value;
156 VNInfo::Allocator*);
211 void setLiveOutValue(MachineBasicBlock *MBB, VNInfo *VNI) { in setLiveOutValue()
DSplitKit.cpp93 const VNInfo *VNI = CurLI->getVNInfoBefore(MBBEnd); in computeLastSplitPoint()
123 for (const VNInfo *VNI : CurLI->valnos) in analyzeUses()
359 VNInfo *SplitEditor::defValue(unsigned RegIdx, in defValue()
360 const VNInfo *ParentVNI, in defValue()
368 VNInfo *VNI = LI->getNextValue(Idx, LIS.getVNInfoAllocator()); in defValue()
381 if (VNInfo *OldVNI = InsP.first->second.getPointer()) { in defValue()
395 void SplitEditor::forceRecompute(unsigned RegIdx, const VNInfo *ParentVNI) { in forceRecompute()
398 VNInfo *VNI = VFP.getPointer(); in forceRecompute()
416 VNInfo *SplitEditor::defFromParent(unsigned RegIdx, in defFromParent()
417 VNInfo *ParentVNI, in defFromParent()
[all …]
DRegisterCoalescer.cpp186 VNInfo *AValNo, VNInfo *BValNo);
480 VNInfo *BValNo = BS->valno; in adjustCopiesBackFrom()
492 VNInfo *AValNo = AS->valno; in adjustCopiesBackFrom()
538 VNInfo *SubBValNo = S.getVNInfoAt(CopyIdx); in adjustCopiesBackFrom()
540 VNInfo *SubValSNo = S.getVNInfoAt(AValNo->def.getPrevSlot()); in adjustCopiesBackFrom()
567 VNInfo *AValNo, in hasOtherReachingDefs()
568 VNInfo *BValNo) { in hasOtherReachingDefs()
594 static void addSegmentsWithValNo(LiveRange &Dst, VNInfo *DstValNo, in addSegmentsWithValNo()
595 const LiveRange &Src, const VNInfo *SrcValNo) in addSegmentsWithValNo()
636 VNInfo *BValNo = IntB.getVNInfoAt(CopyIdx); in removeCopyByCommutingDef()
[all …]
DLiveIntervalAnalysis.cpp318 VNInfo *VNI = LR->createDeadDef(Begin, getVNInfoAllocator()); in computeLiveInRegUnits()
345 typedef SmallVector<std::pair<SlotIndex, VNInfo*>, 16> ShrinkToUsesWorkList;
351 SmallPtrSet<VNInfo*, 8> UsedPHIs; in extendSegmentsToUses()
358 VNInfo *VNI = WorkList.back().second; in extendSegmentsToUses()
364 if (VNInfo *ExtVNI = LR.extendInBlock(BlockStart, Idx)) { in extendSegmentsToUses()
377 if (VNInfo *PVNI = OldRange.getVNInfoBefore(Stop)) in extendSegmentsToUses()
425 VNInfo *VNI = LRQ.valueIn(); in shrinkToUses()
437 if (VNInfo *DefVNI = LRQ.valueDefined()) in shrinkToUses()
526 VNInfo *VNI = LRQ.valueIn(); in shrinkToUses()
534 if (VNInfo *DefVNI = LRQ.valueDefined()) in shrinkToUses()
[all …]
DLiveRangeCalc.cpp32 VNInfo::Allocator *VNIA) { in reset()
43 static void createDeadDef(SlotIndexes &Indexes, VNInfo::Allocator &Alloc, in createDeadDef()
266 VNInfo *TheVNI = nullptr; in findReachingDefs()
293 if (VNInfo *VNI = Map[Pred].first) { in findReachingDefs()
306 VNInfo *VNI = LR.extendInBlock(Start, End); in findReachingDefs()
432 VNInfo *VNI = LR.getNextValue(Start, *Alloc); in updateSSA()
DLiveRangeEdit.cpp51 bool LiveRangeEdit::checkRematerializable(VNInfo *VNI, in checkRematerializable()
63 for (VNInfo *VNI : getParent().valnos) { in scanRemattable()
100 const VNInfo *OVNI = li.getVNInfoAt(OrigIdx); in allUsesAvailableAt()
DPHIElimination.cpp320 VNInfo *IncomingVNI = IncomingLI.getVNInfoAt(MBBStartIndex); in LowerPHINode()
336 VNInfo *OrigDestVNI = DestLI.getVNInfoAt(MBBStartIndex); in LowerPHINode()
346 VNInfo *DestVNI = DestLI.getVNInfoAt(DestCopyIndex.getRegSlot()); in LowerPHINode()
477 VNInfo *VNI = SrcLI.getVNInfoAt(startIdx); in LowerPHINode()
DLiveDebugVariables.cpp235 LiveRange *LR, const VNInfo *VNI,
540 LiveRange *LR, const VNInfo *VNI, in extendDef()
612 SmallVector<std::pair<LiveInterval*, const VNInfo*>, 8> CopyValues; in addDefsFromCopies()
637 const VNInfo *DstVNI = DstLI->getVNInfoAt(Idx.getRegSlot()); in addDefsFromCopies()
652 const VNInfo *DstVNI = CopyValues[j].second; in addDefsFromCopies()
698 const VNInfo *VNI = nullptr; in computeIntervals()
713 const VNInfo *VNI = LR->getVNInfoAt(Idx); in computeIntervals()
DMachineVerifier.cpp231 void verifyLiveRangeValue(const LiveRange&, const VNInfo*, unsigned,
1115 if (const VNInfo *VNI = LI.getVNInfoAt(DefIdx)) { in checkLiveness()
1379 const VNInfo *VNI, unsigned Reg, in verifyLiveRangeValue()
1384 const VNInfo *DefVNI = LR.getVNInfoAt(VNI->def); in verifyLiveRangeValue()
1473 const VNInfo *VNI = S.valno; in verifyLiveRangeSegment()
1615 const VNInfo *PVNI = LR.getVNInfoBefore(PEnd); in verifyLiveRangeSegment()
1645 for (const VNInfo *VNI : LR.valnos) in verifyLiveRange()
DCalcSpillWeights.cpp80 const VNInfo *VNI = *I; in isRematerializable()
DStackColoring.cpp119 VNInfo::Allocator VNInfoAllocator;
425 VNInfo *ValNum = Intervals[i]->getValNumInfo(0); in calculateLiveIntervals()
DMachineBasicBlock.cpp865 VNInfo *VNI = LI.getVNInfoAt(PrevIndex); in SplitCriticalEdge()
884 VNInfo *VNI = LI.getVNInfoAt(PrevIndex); in SplitCriticalEdge()
DMachineScheduler.cpp967 VNInfo *VNI; in updatePressureDiffs()
1139 const VNInfo *DefVNI = LI.getVNInfoBefore(LIS->getMBBEndIdx(BB)); in computeCyclicCriticalPath()
1509 const VNInfo *LastLocalVN = LocalLI->getVNInfoBefore(LocalLI->endIndex()); in constrainLocalCopy()
DTwoAddressInstructionPass.cpp1492 VNInfo *VNI = LI.getNextValue(LastCopyIdx, LIS->getVNInfoAllocator()); in processTiedPairs()
DScheduleDAGInstrs.cpp431 VNInfo *VNI = LRQ.valueIn(); in addVRegUseDeps()
/external/llvm/lib/Target/PowerPC/
DPPCVSXFMAMutate.cpp104 VNInfo *AddendValNo = in processBlock()
237 VNInfo *FMAValNo = FMAInt.getVNInfoAt(FMAIdx.getRegSlot()); in processBlock()
262 VNInfo *NewFMAValNo = in processBlock()
/external/llvm/lib/Target/Hexagon/
DHexagonExpandCondsets.cpp381 VNInfo *OldVN = LT->valno; in terminateSegment()
391 VNInfo *NewVN = 0; in terminateSegment()
445 VNInfo *VN = LID.getNextValue(MX, LIS->getVNInfoAllocator()); in addInstrToLiveness()
555 VNInfo *MVN = LT->valno; in removeInstrFromLiveness()
1214 typedef DenseMap<VNInfo*,VNInfo*> ValueInfoMap; in coalesceRegisters()
1217 VNInfo *NewVN, *OldVN = I->valno; in coalesceRegisters()