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

/freebsd-10.0-release/contrib/llvm/include/llvm/CodeGen/
H A DLiveInterval.h39 /// VNInfo - Value Number Information.
43 class VNInfo { class in namespace:llvm
53 /// VNInfo constructor.
54 VNInfo(unsigned i, SlotIndex d) function in class:llvm::VNInfo
58 /// VNInfo construtor, copies values from orig, except for the value number.
59 VNInfo(unsigned i, const VNInfo &orig) function in class:llvm::VNInfo
63 /// Copy from the parameter into this VNInfo.
64 void copyFrom(VNInfo &src) {
87 VNInfo *valn
[all...]
H A DLiveRangeEdit.h74 SmallPtrSet<const VNInfo*,4> Remattable;
78 SmallPtrSet<const VNInfo*,4> Rematted;
149 bool checkRematerializable(VNInfo *VNI, const MachineInstr *DefMI,
154 VNInfo *ParentVNI; // parent_'s value at the remat location.
156 explicit Remat(VNInfo *ParentVNI) : ParentVNI(ParentVNI), OrigMI(0) {}
179 void markRematerialized(const VNInfo *ParentVNI) {
184 bool didRematerialize(const VNInfo *ParentVNI) const {
H A DLiveStackAnalysis.h30 /// Special pool allocator for VNInfo's (LiveInterval val#).
32 VNInfo::Allocator VNInfoAllocator;
86 VNInfo::Allocator& getVNInfoAllocator() { return VNInfoAllocator; }
H A DLiveIntervalAnalysis.h59 /// Special pool allocator for VNInfo's (LiveInterval val#).
61 VNInfo::Allocator VNInfoAllocator;
240 VNInfo::Allocator& getVNInfoAllocator() { return VNInfoAllocator; }
258 bool hasPHIKill(const LiveInterval &LI, const VNInfo *VNI) const;
/freebsd-10.0-release/contrib/llvm/lib/CodeGen/
H A DLiveRangeCalc.h41 VNInfo::Allocator *Alloc;
51 typedef std::pair<VNInfo*, MachineDomTreeNode*> LiveOutPair;
92 VNInfo *Value;
147 VNInfo::Allocator*);
171 /// Each instruction defining Reg gets a new VNInfo with a corresponding
210 void setLiveOutValue(MachineBasicBlock *MBB, VNInfo *VNI) {
H A DSplitKit.h36 class VNInfo;
271 typedef PointerIntPair<VNInfo*, 1> ValueForcePair;
305 VNInfo *defValue(unsigned RegIdx, const VNInfo *ParentVNI, SlotIndex Idx);
311 void forceRecompute(unsigned RegIdx, const VNInfo *ParentVNI);
315 VNInfo *defFromParent(unsigned RegIdx,
316 VNInfo *ParentVNI,
323 void removeBackCopies(SmallVectorImpl<VNInfo*> &Copies);
H A DInlineSpiller.cpp81 SmallPtrSet<VNInfo*, 8> UsedValues;
100 VNInfo *SpillVNI;
115 TinyPtrVector<VNInfo*> Deps;
117 SibValueInfo(unsigned Reg, VNInfo *VNI)
127 typedef DenseMap<VNInfo*, SibValueInfo> SibValueMap;
163 MachineInstr *traceSiblingValue(unsigned, VNInfo*, VNInfo*);
164 void propagateSiblingValue(SibValueMap::iterator, VNInfo *VNI = 0);
168 void eliminateRedundantSpills(LiveInterval &LI, VNInfo *VNI);
170 void markValueUsed(LiveInterval*, VNInfo*);
[all...]
H A DLiveInterval.cpp52 VNInfo *LiveInterval::createDeadDef(SlotIndex Def,
53 VNInfo::Allocator &VNInfoAllocator) {
57 VNInfo *VNI = getNextValue(Def, VNInfoAllocator);
75 VNInfo *VNI = getNextValue(Def, VNInfoAllocator);
193 void LiveInterval::markValNoForDeletion(VNInfo *ValNo) {
206 SmallPtrSet<VNInfo*, 8> Seen;
209 VNInfo *VNI = I->valno;
224 VNInfo *ValNo = I->valno;
254 VNInfo *ValNo = I->valno;
335 VNInfo *LiveInterva
[all...]
H A DSplitKit.cpp97 const VNInfo *VNI = CurLI->getVNInfoBefore(MBBEnd);
372 VNInfo *SplitEditor::defValue(unsigned RegIdx,
373 const VNInfo *ParentVNI,
381 VNInfo *VNI = LI->getNextValue(Idx, LIS.getVNInfoAllocator());
394 if (VNInfo *OldVNI = InsP.first->second.getPointer()) {
408 void SplitEditor::forceRecompute(unsigned RegIdx, const VNInfo *ParentVNI) {
411 VNInfo *VNI = VFP.getPointer();
428 VNInfo *SplitEditor::defFromParent(unsigned RegIdx,
429 VNInfo *ParentVNI,
482 VNInfo *ParentVN
[all...]
H A DLiveRangeCalc.cpp24 VNInfo::Allocator *VNIA) {
152 // VNInfo SSA form. Perform a search for all predecessor blocks where we
153 // know the dominating VNInfo.
184 VNInfo *TheVNI = 0;
211 if (VNInfo *VNI = LiveOut[Pred].first) {
224 VNInfo *VNI = LI->extendInBlock(Start, End);
348 assert(Alloc && "Need VNInfo allocator to create PHI-defs");
351 VNInfo *VNI = I->LI->getNextValue(Start, *Alloc);
H A DRegisterCoalescer.cpp159 VNInfo *AValNo, VNInfo *BValNo);
440 VNInfo *BValNo = BLR->valno;
452 VNInfo *AValNo = ALR->valno;
519 VNInfo *AValNo,
520 VNInfo *BValNo) {
581 VNInfo *BValNo = IntB.getVNInfoAt(CopyIdx);
588 VNInfo *AValNo = IntA.getVNInfoAt(CopyIdx.getRegSlot(true));
703 VNInfo *DVNI = IntB.getVNInfoAt(DefIdx);
716 VNInfo *ValN
[all...]
H A DLiveIntervalAnalysis.cpp93 // Release VNInfo memory regions, VNInfo objects don't need to be dtor'd.
288 VNInfo *VNI = Intv->createDeadDef(Begin, getVNInfoAllocator());
312 SmallVector<std::pair<SlotIndex, VNInfo*>, 16> WorkList;
324 VNInfo *VNI = LRQ.valueIn();
336 if (VNInfo *DefVNI = LRQ.valueDefined())
346 VNInfo *VNI = *I;
353 SmallPtrSet<VNInfo*, 8> UsedPHIs;
358 VNInfo *VNI = WorkList.back().second;
364 if (VNInfo *ExtVN
[all...]
H A DSpiller.cpp142 VNInfo *loadVNI =
155 VNInfo *storeVNI =
H A DLiveRangeEdit.cpp45 bool LiveRangeEdit::checkRematerializable(VNInfo *VNI,
59 VNInfo *VNI = *I;
96 const VNInfo *OVNI = li.getVNInfoAt(OrigIdx);
276 if (VNInfo *VNI = LI.getVNInfoAt(Idx)) {
H A DStrongPHIElimination.cpp351 VNInfo *NewVNI = NewLI.getVNInfoAt(DestLR->start);
670 // set the phi-kill flag on the VNInfo at this PHI.
674 VNInfo *SrcVNI = SrcInterval.getVNInfoBefore(PredIndex);
703 // addLiveRangeToEndOfBlock() also adds the phikill flag to the VNInfo for
746 VNInfo *DestVNI = DestLI.getVNInfoAt(PHIIndex.getRegSlot());
774 // CopyReg's live interval, and give the VNInfo the phidef flag.
778 VNInfo *CopyVNI = CopyLI.getNextValue(MBBStartIndex,
790 VNInfo *DestVNI = DestLI.getVNInfoAt(DestCopyIndex.getRegSlot());
805 DenseMap<VNInfo*, VNInfo*> VNMa
[all...]
H A DLiveDebugVariables.cpp226 LiveInterval *LI, const VNInfo *VNI,
490 LiveInterval *LI, const VNInfo *VNI,
562 SmallVector<std::pair<LiveInterval*, const VNInfo*>, 8> CopyValues;
589 const VNInfo *DstVNI = DstLI->getVNInfoAt(Idx.getRegSlot());
604 const VNInfo *DstVNI = CopyValues[j].second;
650 const VNInfo *VNI = 0;
665 const VNInfo *VNI = LI->getVNInfoAt(Idx);
H A DPHIElimination.cpp313 VNInfo *IncomingVNI = IncomingLI.getVNInfoAt(MBBStartIndex);
329 VNInfo *OrigDestVNI = DestLI.getVNInfoAt(MBBStartIndex);
339 VNInfo *DestVNI = DestLI.getVNInfoAt(DestCopyIndex.getRegSlot());
470 VNInfo *VNI = SrcLI.getVNInfoAt(startIdx);
H A DCalcSpillWeights.cpp95 const VNInfo *VNI = *I;
H A DMachineVerifier.cpp227 void verifyLiveIntervalValue(const LiveInterval&, VNInfo*);
1077 if (const VNInfo *VNI = LI.getVNInfoAt(DefIdx)) {
1339 VNInfo *VNI) {
1343 const VNInfo *DefVNI = LI.getVNInfoAt(VNI->def);
1423 const VNInfo *VNI = I->valno;
1558 const VNInfo *PVNI = LI.getVNInfoBefore(PEnd);
H A DStackColoring.cpp115 /// VNInfo is used for the construction of LiveIntervals.
116 VNInfo::Allocator VNInfoAllocator;
450 VNInfo *ValNum = Intervals[i]->getValNumInfo(0);
H A DMachineBasicBlock.cpp862 VNInfo *VNI = LI.getVNInfoAt(PrevIndex);
881 VNInfo *VNI = LI.getVNInfoAt(PrevIndex);
882 assert(VNI && "LiveInterval should have VNInfo where it is live.");
H A DScheduleDAGInstrs.cpp415 VNInfo *VNI = LRQ.valueIn();
H A DTwoAddressInstructionPass.cpp1400 VNInfo *VNI = LI.getNextValue(LastCopyIdx, LIS->getVNInfoAllocator());
H A DMachineScheduler.cpp1038 const VNInfo *LastLocalVN = LocalLI->getVNInfoBefore(LocalLI->endIndex());

Completed in 177 milliseconds