Home
last modified time | relevance | path

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

1234

/external/llvm/include/llvm/CodeGen/
DLiveInterval.h46 class VNInfo {
57 VNInfo(unsigned i, SlotIndex d) in VNInfo() function
62 VNInfo(unsigned i, const VNInfo &orig) in VNInfo() function
67 void copyFrom(VNInfo &src) { in copyFrom()
88 VNInfo *const EarlyVal;
89 VNInfo *const LateVal;
94 LiveQueryResult(VNInfo *EarlyVal, VNInfo *LateVal, SlotIndex EndPoint, in LiveQueryResult()
102 VNInfo *valueIn() const { in valueIn()
120 VNInfo *valueOut() const { in valueOut()
126 VNInfo *valueOutOrDead() const { in valueOutOrDead()
[all …]
DLiveRangeEdit.h81 SmallPtrSet<const VNInfo*,4> Remattable;
85 SmallPtrSet<const VNInfo*,4> Rematted;
190 bool checkRematerializable(VNInfo *VNI, const MachineInstr *DefMI,
195 VNInfo *ParentVNI; // parent_'s value at the remat location.
198 explicit Remat(VNInfo *ParentVNI) : ParentVNI(ParentVNI), OrigMI(nullptr) {} in Remat()
204 bool canRematerializeAt(Remat &RM, VNInfo *OrigVNI, SlotIndex UseIdx,
220 void markRematerialized(const VNInfo *ParentVNI) { in markRematerialized()
225 bool didRematerialize(const VNInfo *ParentVNI) const { in didRematerialize()
/external/swiftshader/third_party/llvm-7.0/llvm/include/llvm/CodeGen/
DLiveInterval.h53 class VNInfo {
64 VNInfo(unsigned i, SlotIndex d) : id(i), def(d) {} in VNInfo() function
67 VNInfo(unsigned i, const VNInfo &orig) : id(i), def(orig.def) {} in VNInfo() function
70 void copyFrom(VNInfo &src) { in copyFrom()
91 VNInfo *const EarlyVal;
92 VNInfo *const LateVal;
97 LiveQueryResult(VNInfo *EarlyVal, VNInfo *LateVal, SlotIndex EndPoint, in LiveQueryResult()
105 VNInfo *valueIn() const { in valueIn()
123 VNInfo *valueOut() const { in valueOut()
129 VNInfo *valueOutOrDead() const { in valueOutOrDead()
[all …]
DLiveRangeEdit.h91 SmallPtrSet<const VNInfo *, 4> Remattable;
95 SmallPtrSet<const VNInfo *, 4> Rematted;
198 bool checkRematerializable(VNInfo *VNI, const MachineInstr *DefMI,
203 VNInfo *ParentVNI; // parent_'s value at the remat location.
207 explicit Remat(VNInfo *ParentVNI) : ParentVNI(ParentVNI) {} in Remat()
213 bool canRematerializeAt(Remat &RM, VNInfo *OrigVNI, SlotIndex UseIdx,
227 void markRematerialized(const VNInfo *ParentVNI) { in markRematerialized()
232 bool didRematerialize(const VNInfo *ParentVNI) const { in didRematerialize()
/external/swiftshader/third_party/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()
152 VNInfo *valno; // identifier for the value contained in this interval.
154 LiveRange(SlotIndex S, SlotIndex E, VNInfo *V) in LiveRange()
207 typedef SmallVector<VNInfo*,4> VNInfoList;
283 inline VNInfo *getValNumInfo(unsigned ValNo) {
286 inline const VNInfo *getValNumInfo(unsigned ValNo) const {
[all …]
/external/swiftshader/third_party/LLVM/lib/CodeGen/
DLiveRangeCalc.h45 typedef std::pair<VNInfo*, MachineDomTreeNode*> LiveOutPair;
86 VNInfo *Value;
103 VNInfo *findReachingDefs(LiveInterval *LI,
116 VNInfo::Allocator *Alloc);
120 void updateLiveIns(VNInfo *VNI, SlotIndexes*);
142 VNInfo::Allocator *Alloc);
161 VNInfo::Allocator *Alloc);
171 VNInfo::Allocator *Alloc);
192 void setLiveOutValue(MachineBasicBlock *MBB, VNInfo *VNI) { in setLiveOutValue()
221 VNInfo::Allocator *Alloc);
DLiveInterval.cpp137 void LiveInterval::markValNoForDeletion(VNInfo *ValNo) { in markValNoForDeletion()
150 SmallPtrSet<VNInfo*, 8> Seen; in RenumberValues()
153 VNInfo *VNI = I->valno; in RenumberValues()
168 VNInfo *ValNo = I->valno; in extendIntervalEndTo()
198 VNInfo *ValNo = I->valno; in extendIntervalStartTo()
279 VNInfo *LiveInterval::extendInBlock(SlotIndex StartIdx, SlotIndex Kill) { in extendInBlock()
303 VNInfo *ValNo = I->valno; in removeRange()
343 void LiveInterval::removeValNo(VNInfo *ValNo) { in removeValNo()
358 VNInfo *LiveInterval::findDefinedVNInfoForRegInt(SlotIndex Idx) const { in findDefinedVNInfoForRegInt()
374 SmallVector<VNInfo*, 16> &NewVNInfo, in join() argument
[all …]
DInlineSpiller.cpp81 SmallPtrSet<VNInfo*, 8> UsedValues;
100 VNInfo *SpillVNI;
115 TinyPtrVector<VNInfo*> Deps;
117 SibValueInfo(unsigned Reg, VNInfo *VNI) in SibValueInfo()
127 typedef DenseMap<VNInfo*, SibValueInfo> SibValueMap;
164 MachineInstr *traceSiblingValue(unsigned, VNInfo*, VNInfo*);
165 void propagateSiblingValue(SibValueMap::iterator, VNInfo *VNI = 0);
169 void eliminateRedundantSpills(LiveInterval &LI, VNInfo *VNI);
171 void markValueUsed(LiveInterval*, VNInfo*);
345 VNInfo *VNI) { in propagateSiblingValue()
[all …]
DLiveRangeCalc.cpp30 void LiveRangeCalc::updateLiveIns(VNInfo *OverrideVNI, SlotIndexes *Indexes) { in updateLiveIns()
37 VNInfo *VNI = OverrideVNI ? OverrideVNI : I->Value; in updateLiveIns()
61 VNInfo::Allocator *Alloc) { in extend()
78 VNInfo *VNI = findReachingDefs(LI, KillMBB, Kill, Indexes, DomTree); in extend()
93 VNInfo::Allocator *Alloc) { in calculateValues()
101 VNInfo *LiveRangeCalc::findReachingDefs(LiveInterval *LI, in findReachingDefs()
111 VNInfo *TheVNI = 0; in findReachingDefs()
123 if (VNInfo *VNI = LiveOut[Pred].first) { in findReachingDefs()
136 VNInfo *VNI = LI->extendInBlock(Start, End); in findReachingDefs()
173 VNInfo::Allocator *Alloc) { in updateSSA()
[all …]
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()
DSplitKit.h36 class VNInfo; variable
264 typedef PointerIntPair<VNInfo*, 1> ValueForcePair;
298 VNInfo *defValue(unsigned RegIdx, const VNInfo *ParentVNI, SlotIndex Idx);
304 void forceRecompute(unsigned RegIdx, const VNInfo *ParentVNI);
308 VNInfo *defFromParent(unsigned RegIdx,
309 VNInfo *ParentVNI,
316 void removeBackCopies(SmallVectorImpl<VNInfo*> &Copies);
DSplitKit.cpp345 VNInfo *SplitEditor::defValue(unsigned RegIdx, in defValue()
346 const VNInfo *ParentVNI, in defValue()
354 VNInfo *VNI = LI->getNextValue(Idx, 0, LIS.getVNInfoAllocator()); in defValue()
367 if (VNInfo *OldVNI = InsP.first->second.getPointer()) { in defValue()
381 void SplitEditor::forceRecompute(unsigned RegIdx, const VNInfo *ParentVNI) { in forceRecompute()
384 VNInfo *VNI = VFP.getPointer(); in forceRecompute()
401 VNInfo *SplitEditor::defFromParent(unsigned RegIdx, in defFromParent()
402 VNInfo *ParentVNI, in defFromParent()
429 VNInfo *VNI = defValue(RegIdx, ParentVNI, Def); in defFromParent()
457 VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(Idx); in enterIntvBefore()
[all …]
DRegisterCoalescer.cpp135 VNInfo *AValNo, VNInfo *BValNo);
432 VNInfo *BValNo = BLR->valno; in AdjustCopiesBackFrom()
445 VNInfo *AValNo = ALR->valno; in AdjustCopiesBackFrom()
571 VNInfo *AValNo, in HasOtherReachingDefs()
572 VNInfo *BValNo) { in HasOtherReachingDefs()
637 VNInfo *BValNo = IntB.getVNInfoAt(CopyIdx); in RemoveCopyByCommutingDef()
644 VNInfo *AValNo = IntA.getVNInfoAt(CopyIdx.getUseIndex()); in RemoveCopyByCommutingDef()
769 VNInfo *DVNI = IntB.getVNInfoAt(DefIdx); in RemoveCopyByCommutingDef()
780 VNInfo *ValNo = BValNo; in RemoveCopyByCommutingDef()
805 VNInfo *ValNo = SrcLR->valno; in ReMaterializeTrivialDef()
[all …]
/external/llvm/lib/CodeGen/
DSplitKit.cpp95 const VNInfo *VNI = CurLI.getVNInfoBefore(MBBEnd); in computeLastInsertPoint()
144 for (const VNInfo *VNI : CurLI->valnos) in analyzeUses()
384 VNInfo *SplitEditor::defValue(unsigned RegIdx, in defValue()
385 const VNInfo *ParentVNI, in defValue()
393 VNInfo *VNI = LI->getNextValue(Idx, LIS.getVNInfoAllocator()); in defValue()
406 if (VNInfo *OldVNI = InsP.first->second.getPointer()) { in defValue()
420 void SplitEditor::forceRecompute(unsigned RegIdx, const VNInfo *ParentVNI) { in forceRecompute()
423 VNInfo *VNI = VFP.getPointer(); in forceRecompute()
441 VNInfo *SplitEditor::defFromParent(unsigned RegIdx, in defFromParent()
442 VNInfo *ParentVNI, in defFromParent()
[all …]
DSplitKit.h38 class VNInfo; variable
299 typedef PointerIntPair<VNInfo*, 1> ValueForcePair;
333 VNInfo *defValue(unsigned RegIdx, const VNInfo *ParentVNI, SlotIndex Idx);
339 void forceRecompute(unsigned RegIdx, const VNInfo *ParentVNI);
343 VNInfo *defFromParent(unsigned RegIdx,
344 VNInfo *ParentVNI,
351 void removeBackCopies(SmallVectorImpl<VNInfo*> &Copies);
360 SmallVectorImpl<VNInfo *> &BackCopies);
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()
323 VNInfo *LiveRange::createDeadDef(SlotIndex Def, in createDeadDef()
324 VNInfo::Allocator &VNInfoAllocator) { in createDeadDef()
465 void LiveRange::markValNoForDeletion(VNInfo *ValNo) { in markValNoForDeletion()
478 SmallPtrSet<VNInfo*, 8> Seen; in RenumberValues()
[all …]
DLiveRangeCalc.h41 VNInfo::Allocator *Alloc;
45 typedef std::pair<VNInfo*, MachineDomTreeNode*> LiveOutPair;
92 VNInfo *Value;
156 VNInfo::Allocator*);
216 void setLiveOutValue(MachineBasicBlock *MBB, VNInfo *VNI) { in setLiveOutValue()
DRegisterCoalescer.cpp183 VNInfo *AValNo, VNInfo *BValNo);
500 VNInfo *BValNo = BS->valno; in adjustCopiesBackFrom()
512 VNInfo *AValNo = AS->valno; in adjustCopiesBackFrom()
558 VNInfo *SubBValNo = S.getVNInfoAt(CopyIdx); in adjustCopiesBackFrom()
560 VNInfo *SubValSNo = S.getVNInfoAt(AValNo->def.getPrevSlot()); in adjustCopiesBackFrom()
587 VNInfo *AValNo, in hasOtherReachingDefs()
588 VNInfo *BValNo) { in hasOtherReachingDefs()
614 static void addSegmentsWithValNo(LiveRange &Dst, VNInfo *DstValNo, in addSegmentsWithValNo()
615 const LiveRange &Src, const VNInfo *SrcValNo) in addSegmentsWithValNo()
656 VNInfo *BValNo = IntB.getVNInfoAt(CopyIdx); in removeCopyByCommutingDef()
[all …]
DInlineSpiller.cpp80 typedef MapVector<std::pair<int, VNInfo *>, SmallPtrSet<MachineInstr *, 16>>
89 bool isSpillCandBB(unsigned OrigReg, VNInfo &OrigVNI, MachineBasicBlock &BB,
104 void runHoistSpills(unsigned OrigReg, VNInfo &OrigVNI,
158 SmallPtrSet<VNInfo*, 8> UsedValues;
195 void eliminateRedundantSpills(LiveInterval &LI, VNInfo *VNI);
197 void markValueUsed(LiveInterval*, VNInfo*);
354 VNInfo *VNI = SpillLI.getVNInfoAt(Idx.getRegSlot()); in hoistSpillInsideBB()
360 VNInfo *SrcVNI = SrcLI.getVNInfoAt(Idx); in hoistSpillInsideBB()
371 VNInfo *OrigVNI = OrigLI.getVNInfoAt(Idx); in hoistSpillInsideBB()
404 void InlineSpiller::eliminateRedundantSpills(LiveInterval &SLI, VNInfo *VNI) { in eliminateRedundantSpills()
[all …]
/external/swiftshader/third_party/llvm-7.0/llvm/lib/CodeGen/
DLiveInterval.cpp88 VNInfo *createDeadDef(SlotIndex Def, VNInfo::Allocator *VNInfoAllocator, in createDeadDef()
89 VNInfo *ForVNI) { in createDeadDef()
95 VNInfo *VNI = ForVNI ? ForVNI : LR->getNextValue(Def, *VNInfoAllocator); in createDeadDef()
116 VNInfo *VNI = ForVNI ? ForVNI : LR->getNextValue(Def, *VNInfoAllocator); in createDeadDef()
121 VNInfo *extendInBlock(SlotIndex StartIdx, SlotIndex Use) { in extendInBlock()
136 std::pair<VNInfo*,bool> extendInBlock(ArrayRef<SlotIndex> Undefs, in extendInBlock()
162 VNInfo *ValNo = I->valno; in extendSegmentEndTo()
190 VNInfo *ValNo = I->valno; in extendSegmentStartTo()
373 VNInfo *LiveRange::createDeadDef(SlotIndex Def, VNInfo::Allocator &VNIAlloc) { in createDeadDef()
381 VNInfo *LiveRange::createDeadDef(VNInfo *VNI) { in createDeadDef()
[all …]
DSplitKit.h302 using ValueForcePair = PointerIntPair<VNInfo *, 1>;
343 void addDeadDef(LiveInterval &LI, VNInfo *VNI, bool Original);
353 VNInfo *defValue(unsigned RegIdx, const VNInfo *ParentVNI, SlotIndex Idx,
360 void forceRecompute(unsigned RegIdx, const VNInfo &ParentVNI);
364 void forceRecomputeVNI(const VNInfo &ParentVNI);
368 VNInfo *defFromParent(unsigned RegIdx,
369 VNInfo *ParentVNI,
376 void removeBackCopies(SmallVectorImpl<VNInfo*> &Copies);
385 SmallVectorImpl<VNInfo *> &BackCopies);
DSplitKit.cpp123 const VNInfo *VNI = CurLI.getVNInfoBefore(MBBEnd); in computeLastInsertPoint()
171 for (const VNInfo *VNI : CurLI->valnos) in analyzeUses()
416 void SplitEditor::addDeadDef(LiveInterval &LI, VNInfo *VNI, bool Original) { in addDeadDef()
429 VNInfo *PV = PS.getVNInfoAt(Def); in addDeadDef()
457 VNInfo *SplitEditor::defValue(unsigned RegIdx, in defValue()
458 const VNInfo *ParentVNI, in defValue()
467 VNInfo *VNI = LI->getNextValue(Idx, LIS.getVNInfoAllocator()); in defValue()
481 if (VNInfo *OldVNI = InsP.first->second.getPointer()) { in defValue()
494 void SplitEditor::forceRecompute(unsigned RegIdx, const VNInfo &ParentVNI) { in forceRecompute()
496 VNInfo *VNI = VFP.getPointer(); in forceRecompute()
[all …]
DLiveRangeCalc.h50 VNInfo::Allocator *Alloc = nullptr;
54 using LiveOutPair = std::pair<VNInfo *, MachineDomTreeNode *>;
115 VNInfo *Value = nullptr;
196 MachineDominatorTree *MDT, VNInfo::Allocator *VNIA);
257 void setLiveOutValue(MachineBasicBlock *MBB, VNInfo *VNI) { in setLiveOutValue()
DRegisterCoalescer.cpp200 VNInfo *AValNo, VNInfo *BValNo);
534 VNInfo *BValNo = BS->valno; in adjustCopiesBackFrom()
546 VNInfo *AValNo = AS->valno; in adjustCopiesBackFrom()
599 VNInfo *SubBValNo = S.getVNInfoAt(CopyIdx); in adjustCopiesBackFrom()
601 VNInfo *SubValSNo = S.getVNInfoAt(AValNo->def.getPrevSlot()); in adjustCopiesBackFrom()
638 VNInfo *AValNo, in hasOtherReachingDefs()
639 VNInfo *BValNo) { in hasOtherReachingDefs()
665 static void addSegmentsWithValNo(LiveRange &Dst, VNInfo *DstValNo, in addSegmentsWithValNo()
666 const LiveRange &Src, const VNInfo *SrcValNo) { in addSegmentsWithValNo()
706 VNInfo *BValNo = IntB.getVNInfoAt(CopyIdx); in removeCopyByCommutingDef()
[all …]
DInlineSpiller.cpp107 MapVector<std::pair<int, VNInfo *>, SmallPtrSet<MachineInstr *, 16>>;
115 bool isSpillCandBB(LiveInterval &OrigLI, VNInfo &OrigVNI,
130 void runHoistSpills(LiveInterval &OrigLI, VNInfo &OrigVNI,
182 SmallPtrSet<VNInfo*, 8> UsedValues;
215 void eliminateRedundantSpills(LiveInterval &LI, VNInfo *VNI);
217 void markValueUsed(LiveInterval*, VNInfo*);
372 VNInfo *VNI = SpillLI.getVNInfoAt(Idx.getRegSlot()); in hoistSpillInsideBB()
378 VNInfo *SrcVNI = SrcLI.getVNInfoAt(Idx); in hoistSpillInsideBB()
389 VNInfo *OrigVNI = OrigLI.getVNInfoAt(Idx); in hoistSpillInsideBB()
422 void InlineSpiller::eliminateRedundantSpills(LiveInterval &SLI, VNInfo *VNI) { in eliminateRedundantSpills()
[all …]

1234