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

/external/llvm/include/llvm/CodeGen/
H A DLiveInterval.h40 /// VNInfo - Value Number Information.
44 class VNInfo { class in namespace:llvm
54 /// VNInfo constructor.
55 VNInfo(unsigned i, SlotIndex d) function in class:llvm::VNInfo
59 /// VNInfo construtor, copies values from orig, except for the value number.
60 VNInfo(unsigned i, const VNInfo &orig) function in class:llvm::VNInfo
64 /// Copy from the parameter into this VNInfo.
65 void copyFrom(VNInfo &src) {
86 VNInfo *cons
[all...]
H A DLiveRangeEdit.h76 SmallPtrSet<const VNInfo*,4> Remattable;
80 SmallPtrSet<const VNInfo*,4> Rematted;
170 bool checkRematerializable(VNInfo *VNI, const MachineInstr *DefMI,
175 VNInfo *ParentVNI; // parent_'s value at the remat location.
177 explicit Remat(VNInfo *ParentVNI) : ParentVNI(ParentVNI), OrigMI(nullptr) {}
200 void markRematerialized(const VNInfo *ParentVNI) {
205 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.h61 /// Special pool allocator for VNInfo's (LiveInterval val#).
63 VNInfo::Allocator VNInfoAllocator;
267 VNInfo::Allocator& getVNInfoAllocator() { return VNInfoAllocator; }
285 bool hasPHIKill(const LiveInterval &LI, const VNInfo *VNI) const;
/external/llvm/lib/CodeGen/
H A DLiveRangeCalc.h41 VNInfo::Allocator *Alloc;
51 typedef std::pair<VNInfo*, MachineDomTreeNode*> LiveOutPair;
92 VNInfo *Value;
146 VNInfo::Allocator*);
166 /// Each instruction defining Reg gets a new VNInfo with a corresponding
205 void setLiveOutValue(MachineBasicBlock *MBB, VNInfo *VNI) {
H A DSplitKit.h37 class VNInfo;
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);
H A DInlineSpiller.cpp87 SmallPtrSet<VNInfo*, 8> UsedValues;
106 VNInfo *SpillVNI;
121 TinyPtrVector<VNInfo*> Deps;
123 SibValueInfo(unsigned Reg, VNInfo *VNI)
133 typedef DenseMap<VNInfo*, SibValueInfo> SibValueMap;
170 MachineInstr *traceSiblingValue(unsigned, VNInfo*, VNInfo*);
171 void propagateSiblingValue(SibValueMap::iterator, VNInfo *VNI = nullptr);
175 void eliminateRedundantSpills(LiveInterval &LI, VNInfo *VNI);
177 void markValueUsed(LiveInterval*, VNInfo*);
[all...]
H A DLiveInterval.cpp52 VNInfo *LiveRange::createDeadDef(SlotIndex Def,
53 VNInfo::Allocator &VNInfoAllocator) {
57 VNInfo *VNI = getNextValue(Def, VNInfoAllocator);
75 VNInfo *VNI = getNextValue(Def, VNInfoAllocator);
192 void LiveRange::markValNoForDeletion(VNInfo *ValNo) {
205 SmallPtrSet<VNInfo*, 8> Seen;
208 VNInfo *VNI = I->valno;
222 VNInfo *ValNo = I->valno;
252 VNInfo *ValNo = I->valno;
332 VNInfo *LiveRang
[all...]
H A DSplitKit.cpp98 const VNInfo *VNI = CurLI->getVNInfoBefore(MBBEnd);
373 VNInfo *SplitEditor::defValue(unsigned RegIdx,
374 const VNInfo *ParentVNI,
382 VNInfo *VNI = LI->getNextValue(Idx, LIS.getVNInfoAllocator());
395 if (VNInfo *OldVNI = InsP.first->second.getPointer()) {
409 void SplitEditor::forceRecompute(unsigned RegIdx, const VNInfo *ParentVNI) {
412 VNInfo *VNI = VFP.getPointer();
430 VNInfo *SplitEditor::defFromParent(unsigned RegIdx,
431 VNInfo *ParentVNI,
484 VNInfo *ParentVN
[all...]
H A DLiveRangeCalc.cpp25 VNInfo::Allocator *VNIA) {
148 // VNInfo SSA form. Perform a search for all predecessor blocks where we
149 // know the dominating VNInfo.
178 VNInfo *TheVNI = nullptr;
205 if (VNInfo *VNI = LiveOut[Pred].first) {
218 VNInfo *VNI = LR.extendInBlock(Start, End);
342 assert(Alloc && "Need VNInfo allocator to create PHI-defs");
346 VNInfo *VNI = LR.getNextValue(Start, *Alloc);
H A DRegisterCoalescer.cpp159 VNInfo *AValNo, VNInfo *BValNo);
440 VNInfo *BValNo = BS->valno;
452 VNInfo *AValNo = AS->valno;
519 VNInfo *AValNo,
520 VNInfo *BValNo) {
581 VNInfo *BValNo = IntB.getVNInfoAt(CopyIdx);
586 VNInfo *AValNo = IntA.getVNInfoAt(CopyIdx.getRegSlot(true));
700 VNInfo *DVNI = IntB.getVNInfoAt(DefIdx);
713 VNInfo *ValN
[all...]
H A DLiveIntervalAnalysis.cpp104 // Release VNInfo memory regions, VNInfo objects don't need to be dtor'd.
299 VNInfo *VNI = LR->createDeadDef(Begin, getVNInfoAllocator());
325 SmallVector<std::pair<SlotIndex, VNInfo*>, 16> WorkList;
339 VNInfo *VNI = LRQ.valueIn();
351 if (VNInfo *DefVNI = LRQ.valueDefined())
361 VNInfo *VNI = *I;
368 SmallPtrSet<VNInfo*, 8> UsedPHIs;
373 VNInfo *VNI = WorkList.back().second;
379 if (VNInfo *ExtVN
[all...]
H A DLiveRangeEdit.cpp51 bool LiveRangeEdit::checkRematerializable(VNInfo *VNI,
65 VNInfo *VNI = *I;
102 const VNInfo *OVNI = li.getVNInfoAt(OrigIdx);
265 if (VNInfo *VNI = LR->getVNInfoAt(Idx))
285 if (VNInfo *VNI = LI.getVNInfoAt(Idx)) {
H A DLiveDebugVariables.cpp232 LiveRange *LR, const VNInfo *VNI,
502 LiveRange *LR, const VNInfo *VNI,
574 SmallVector<std::pair<LiveInterval*, const VNInfo*>, 8> CopyValues;
599 const VNInfo *DstVNI = DstLI->getVNInfoAt(Idx.getRegSlot());
614 const VNInfo *DstVNI = CopyValues[j].second;
660 const VNInfo *VNI = nullptr;
675 const VNInfo *VNI = LR->getVNInfoAt(Idx);
H A DCalcSpillWeights.cpp80 const VNInfo *VNI = *I;
H A DPHIElimination.cpp317 VNInfo *IncomingVNI = IncomingLI.getVNInfoAt(MBBStartIndex);
333 VNInfo *OrigDestVNI = DestLI.getVNInfoAt(MBBStartIndex);
343 VNInfo *DestVNI = DestLI.getVNInfoAt(DestCopyIndex.getRegSlot());
474 VNInfo *VNI = SrcLI.getVNInfoAt(startIdx);
H A DMachineVerifier.cpp232 void verifyLiveRangeValue(const LiveRange&, const VNInfo*, unsigned);
1088 if (const VNInfo *VNI = LI.getVNInfoAt(DefIdx)) {
1352 const VNInfo *VNI,
1357 const VNInfo *DefVNI = LR.getVNInfoAt(VNI->def);
1440 const VNInfo *VNI = S.valno;
1565 const VNInfo *PVNI = LR.getVNInfoBefore(PEnd);
H A DStackColoring.cpp118 /// VNInfo is used for the construction of LiveIntervals.
119 VNInfo::Allocator VNInfoAllocator;
425 VNInfo *ValNum = Intervals[i]->getValNumInfo(0);
H A DMachineBasicBlock.cpp873 VNInfo *VNI = LI.getVNInfoAt(PrevIndex);
892 VNInfo *VNI = LI.getVNInfoAt(PrevIndex);
893 assert(VNI && "LiveInterval should have VNInfo where it is live.");
H A DMachineScheduler.cpp948 VNInfo *VNI;
1120 const VNInfo *DefVNI = LI.getVNInfoBefore(LIS->getMBBEndIdx(BB));
1487 const VNInfo *LastLocalVN = LocalLI->getVNInfoBefore(LocalLI->endIndex());
H A DScheduleDAGInstrs.cpp431 VNInfo *VNI = LRQ.valueIn();
H A DTwoAddressInstructionPass.cpp1417 VNInfo *VNI = LI.getNextValue(LastCopyIdx, LIS->getVNInfoAllocator());
/external/llvm/lib/Target/PowerPC/
H A DPPCInstrInfo.cpp1655 VNInfo *AddendValNo =
1771 VNInfo *FMAValNo = FMAInt.getVNInfoAt(FMAIdx.getRegSlot());
1796 VNInfo *NewFMAValNo =

Completed in 231 milliseconds