Home
last modified time | relevance | path

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

/external/llvm/include/llvm/CodeGen/
DLiveInterval.h42 class VNInfo {
64 VNInfo(unsigned i, SlotIndex d, MachineInstr *c) in VNInfo() function
69 VNInfo(unsigned i, const VNInfo &orig) in VNInfo() function
74 void copyFrom(VNInfo &src) { in copyFrom()
85 void mergeFlags(const VNInfo *VNI) { in mergeFlags()
151 VNInfo *valno; // identifier for the value contained in this interval.
153 LiveRange(SlotIndex S, SlotIndex E, VNInfo *V) in LiveRange()
206 typedef SmallVector<VNInfo*,4> VNInfoList;
282 inline VNInfo *getValNumInfo(unsigned ValNo) {
285 inline const VNInfo *getValNumInfo(unsigned ValNo) const {
[all …]
DLiveIntervalAnalysis.h58 VNInfo::Allocator VNInfoAllocator;
263 VNInfo::Allocator& getVNInfoAllocator() { return VNInfoAllocator; } in getVNInfoAllocator()
297 bool isReMaterializable(const LiveInterval &li, const VNInfo *ValNo,
377 bool isReMaterializable(const LiveInterval &li, const VNInfo *ValNo,
399 bool anyKillInMBBAfterIdx(const LiveInterval &li, const VNInfo *VNI,
437 bool rewriteInstructionForSpills(const LiveInterval &li, const VNInfo *VNI,
DLiveStackAnalysis.h30 VNInfo::Allocator VNInfoAllocator;
84 VNInfo::Allocator& getVNInfoAllocator() { return VNInfoAllocator; } in getVNInfoAllocator()
/external/llvm/lib/CodeGen/
DLiveInterval.cpp137 void LiveInterval::markValNoForDeletion(VNInfo *ValNo) { in markValNoForDeletion()
150 SmallPtrSet<VNInfo*, 8> Seen; in RenumberValues()
154 VNInfo *VNI = I->valno; in RenumberValues()
169 VNInfo *VNI = *I; in RenumberValues()
176 VNInfo *KVNI = getVNInfoAt(lis.getMBBEndIdx(*PI).getPrevSlot()); in RenumberValues()
189 VNInfo *ValNo = I->valno; in extendIntervalEndTo()
219 VNInfo *ValNo = I->valno; in extendIntervalStartTo()
300 VNInfo *LiveInterval::extendInBlock(SlotIndex StartIdx, SlotIndex UseIdx) { in extendInBlock()
324 VNInfo *ValNo = I->valno; in removeRange()
364 void LiveInterval::removeValNo(VNInfo *ValNo) { in removeValNo()
[all …]
DSplitKit.h38 class VNInfo; variable
234 typedef DenseMap<std::pair<unsigned, unsigned>, VNInfo*> ValueMap;
246 typedef std::pair<VNInfo*, MachineDomTreeNode*> LiveOutPair;
280 VNInfo *Value;
299 VNInfo *defValue(unsigned RegIdx, const VNInfo *ParentVNI, SlotIndex Idx);
303 void markComplexMapped(unsigned RegIdx, const VNInfo *ParentVNI);
307 VNInfo *defFromParent(unsigned RegIdx,
308 VNInfo *ParentVNI,
323 VNInfo *findReachingDefs(LiveInterval *LI, MachineBasicBlock *MBB,
DLiveRangeEdit.h68 SmallPtrSet<const VNInfo*,4> remattable_;
72 SmallPtrSet<const VNInfo*,4> rematted_;
145 bool checkRematerializable(VNInfo *VNI, const MachineInstr *DefMI,
150 VNInfo *ParentVNI; // parent_'s value at the remat location.
152 explicit Remat(VNInfo *ParentVNI) : ParentVNI(ParentVNI), OrigMI(0) {} in Remat()
178 void markRematerialized(const VNInfo *ParentVNI) { in markRematerialized()
183 bool didRematerialize(const VNInfo *ParentVNI) const { in didRematerialize()
DInlineSpiller.cpp76 SmallPtrSet<VNInfo*, 8> UsedValues;
88 VNInfo *SpillVNI;
94 SibValueInfo(unsigned Reg, VNInfo *VNI) in SibValueInfo()
99 typedef DenseMap<VNInfo*, SibValueInfo> SibValueMap;
136 MachineInstr *traceSiblingValue(unsigned, VNInfo*, VNInfo*);
140 void eliminateRedundantSpills(LiveInterval &LI, VNInfo *VNI);
142 void markValueUsed(LiveInterval*, VNInfo*);
295 MachineInstr *InlineSpiller::traceSiblingValue(unsigned UseReg, VNInfo *UseVNI, in traceSiblingValue()
296 VNInfo *OrigVNI) { in traceSiblingValue()
299 SmallPtrSet<VNInfo*, 8> Visited; in traceSiblingValue()
[all …]
DSplitKit.cpp330 VNInfo *SplitEditor::defValue(unsigned RegIdx, in defValue()
331 const VNInfo *ParentVNI, in defValue()
339 VNInfo *VNI = LI->getNextValue(Idx, 0, LIS.getVNInfoAllocator()); in defValue()
351 if (VNInfo *OldVNI = InsP.first->second) { in defValue()
365 void SplitEditor::markComplexMapped(unsigned RegIdx, const VNInfo *ParentVNI) { in markComplexMapped()
367 VNInfo *&VNI = Values[std::make_pair(RegIdx, ParentVNI->id)]; in markComplexMapped()
396 VNInfo *VNI = findReachingDefs(LI, IdxMBB, Idx.getNextSlot()); in extendRange()
419 VNInfo *SplitEditor::findReachingDefs(LiveInterval *LI, in findReachingDefs()
434 VNInfo *TheVNI = 0; in findReachingDefs()
447 if (VNInfo *VNI = LOP.first) { in findReachingDefs()
[all …]
DRegisterCoalescer.cpp308 VNInfo *BValNo = BLR->valno; in AdjustCopiesBackFrom()
321 VNInfo *AValNo = ALR->valno; in AdjustCopiesBackFrom()
447 VNInfo *AValNo, in HasOtherReachingDefs()
448 VNInfo *BValNo) { in HasOtherReachingDefs()
513 VNInfo *BValNo = IntB.getVNInfoAt(CopyIdx); in RemoveCopyByCommutingDef()
520 VNInfo *AValNo = IntA.getVNInfoAt(CopyIdx.getUseIndex()); in RemoveCopyByCommutingDef()
645 VNInfo *DVNI = IntB.getVNInfoAt(DefIdx); in RemoveCopyByCommutingDef()
656 VNInfo *ValNo = BValNo; in RemoveCopyByCommutingDef()
682 VNInfo *ValNo = SrcLR->valno; in ReMaterializeTrivialDef()
1154 static unsigned ComputeUltimateVN(VNInfo *VNI, in ComputeUltimateVN()
[all …]
DStrongPHIElimination.cpp351 VNInfo *NewVNI = NewLI.getVNInfoAt(DestLR->start); in runOnMachineFunction()
676 VNInfo *SrcVNI = SrcInterval.getVNInfoAt(PredIndex.getPrevIndex()); in InsertCopiesForPHI()
747 VNInfo *DestVNI = DestLI.getVNInfoAt(PHIIndex.getDefIndex()); in InsertCopiesForPHI()
780 VNInfo *CopyVNI = CopyLI.getNextValue(MBBStartIndex, in InsertCopiesForPHI()
794 VNInfo *DestVNI = DestLI.getVNInfoAt(DestCopyIndex.getDefIndex()); in InsertCopiesForPHI()
809 DenseMap<VNInfo*, VNInfo*> VNMap; in MergeLIsAndRename()
813 VNInfo *OldVN = OldLR.valno; in MergeLIsAndRename()
815 VNInfo *&NewVN = VNMap[OldVN]; in MergeLIsAndRename()
DLiveIntervalAnalysis.cpp315 VNInfo *ValNo = interval.getNextValue(defIndex, CopyMI, VNInfoAllocator); in handleVirtualRegisterDef()
420 VNInfo *OldValNo = OldLR->valno; in handleVirtualRegisterDef()
429 VNInfo *ValNo = interval.createValueCopy(OldValNo, VNInfoAllocator); in handleVirtualRegisterDef()
463 VNInfo *ValNo; in handleVirtualRegisterDef()
556 VNInfo *ValNo = interval.getVNInfoAt(start); in handlePhysicalRegisterDef()
648 VNInfo *vni = in handleLiveInRegister()
748 SmallVector<std::pair<SlotIndex, VNInfo*>, 16> WorkList; in shrinkToUses()
756 VNInfo *VNI = li->getVNInfoAt(Idx); in shrinkToUses()
780 VNInfo *VNI = *I; in shrinkToUses()
791 if (VNInfo *UVNI = li->getVNInfoAt(VNI->def.getLoadIndex())) in shrinkToUses()
[all …]
DSplitter.cpp95 std::map<VNInfo*, VNInfo*> vniMap;
106 VNInfo* getNewVNI(VNInfo *oldVNI) { in getNewVNI()
107 VNInfo *newVNI = vniMap[oldVNI]; in getNewVNI()
146 VNInfo *newVal = getNewVNI(preHeaderRange->valno); in applyIncoming()
187 VNInfo *newVal = in applyOutgoing()
525 VNInfo *newVal = li.getNextValue(newDefIdx, 0, lis->getVNInfoAllocator()); in insertPreHeader()
625 VNInfo *newVal = li.getNextValue(newDefIdx, 0, in splitEdge()
DLiveRangeEdit.cpp44 bool LiveRangeEdit::checkRematerializable(VNInfo *VNI, in checkRematerializable()
61 VNInfo *VNI = *I; in scanRemattable()
102 const VNInfo *OVNI = li.getVNInfoAt(OrigIdx); in allUsesAvailableAt()
262 if (VNInfo *VNI = LI.getVNInfoAt(Idx)) { in eliminateDeadDefs()
DRegisterCoalescer.h94 VNInfo *AValNo, VNInfo *BValNo);
DSpiller.cpp146 VNInfo *loadVNI = in trivialSpillEverywhere()
160 VNInfo *storeVNI = in trivialSpillEverywhere()
DLiveDebugVariables.cpp196 LiveInterval *LI, const VNInfo *VNI,
448 LiveInterval *LI, const VNInfo *VNI, in extendDef()
517 SmallVector<std::pair<LiveInterval*, const VNInfo*>, 8> CopyValues; in addDefsFromCopies()
544 const VNInfo *DstVNI = DstLI->getVNInfoAt(Idx.getDefIndex()); in addDefsFromCopies()
559 const VNInfo *DstVNI = CopyValues[j].second; in addDefsFromCopies()
598 const VNInfo *VNI = LI->getVNInfoAt(Idx); in computeIntervals()
DSplitter.h32 class VNInfo; variable
DMachineVerifier.cpp695 if (const VNInfo *VNI = LI.getVNInfoAt(DefIdx)) { in visitMachineOperand()
991 VNInfo *VNI = *I; in verifyLiveIntervals()
992 const VNInfo *DefVNI = LI.getVNInfoAt(VNI->def); in verifyLiveIntervals()
1068 const VNInfo *VNI = I->valno; in verifyLiveIntervals()
1162 const VNInfo *PVNI = LI.getVNInfoAt(PEnd); in verifyLiveIntervals()
DRegAllocLinearScan.cpp459 VNInfo *vni = range.valno; in attemptTrivialCoalescing()
995 VNInfo *vni = cur->begin()->valno; in assignRegOrStackSlotAtInterval()
DRegAllocPBQP.cpp502 VNInfo *vni; in addStackInterval()