HomeSort by relevance Sort by last modified time
    Searched refs:VNInfo (Results 1 - 25 of 48) sorted by null

1 2

  /external/swiftshader/third_party/LLVM/lib/CodeGen/
LiveRangeCalc.h 45 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) {
221 VNInfo::Allocator *Alloc)
    [all...]
LiveRangeEdit.h 68 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) {}
178 void markRematerialized(const VNInfo *ParentVNI) {
183 bool didRematerialize(const VNInfo *ParentVNI) const {
SplitKit.h 36 class VNInfo;
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);
LiveRangeCalc.cpp 30 void LiveRangeCalc::updateLiveIns(VNInfo *OverrideVNI, SlotIndexes *Indexes) {
37 VNInfo *VNI = OverrideVNI ? OverrideVNI : I->Value;
61 VNInfo::Allocator *Alloc) {
76 // VNInfo SSA form. Perform a search for all predecessor blocks where we
77 // know the dominating VNInfo.
78 VNInfo *VNI = findReachingDefs(LI, KillMBB, Kill, Indexes, DomTree);
93 VNInfo::Allocator *Alloc) {
101 VNInfo *LiveRangeCalc::findReachingDefs(LiveInterval *LI,
111 VNInfo *TheVNI = 0;
123 if (VNInfo *VNI = LiveOut[Pred].first)
    [all...]
InlineSpiller.cpp 81 SmallPtrSet<VNInfo*, 8> UsedValues;
100 VNInfo *SpillVNI;
115 TinyPtrVector<VNInfo*> Deps;
117 SibValueInfo(unsigned Reg, VNInfo *VNI)
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*);
    [all...]
LiveInterval.cpp 137 void LiveInterval::markValNoForDeletion(VNInfo *ValNo) {
150 SmallPtrSet<VNInfo*, 8> Seen;
153 VNInfo *VNI = I->valno;
168 VNInfo *ValNo = I->valno;
198 VNInfo *ValNo = I->valno;
279 VNInfo *LiveInterval::extendInBlock(SlotIndex StartIdx, SlotIndex Kill) {
303 VNInfo *ValNo = I->valno;
343 void LiveInterval::removeValNo(VNInfo *ValNo) {
356 /// findDefinedVNInfo - Find the VNInfo defined by the specified
358 VNInfo *LiveInterval::findDefinedVNInfoForRegInt(SlotIndex Idx) const
    [all...]
RegisterCoalescer.cpp 135 VNInfo *AValNo, VNInfo *BValNo);
173 /// VNInfo copy flag for DstReg and all aliases.
432 VNInfo *BValNo = BLR->valno;
445 VNInfo *AValNo = ALR->valno;
571 VNInfo *AValNo,
572 VNInfo *BValNo) {
637 VNInfo *BValNo = IntB.getVNInfoAt(CopyIdx);
644 VNInfo *AValNo = IntA.getVNInfoAt(CopyIdx.getUseIndex());
769 VNInfo *DVNI = IntB.getVNInfoAt(DefIdx)
    [all...]
SplitKit.cpp 345 VNInfo *SplitEditor::defValue(unsigned RegIdx,
346 const VNInfo *ParentVNI,
354 VNInfo *VNI = LI->getNextValue(Idx, 0, LIS.getVNInfoAllocator());
367 if (VNInfo *OldVNI = InsP.first->second.getPointer()) {
381 void SplitEditor::forceRecompute(unsigned RegIdx, const VNInfo *ParentVNI) {
384 VNInfo *VNI = VFP.getPointer();
401 VNInfo *SplitEditor::defFromParent(unsigned RegIdx,
402 VNInfo *ParentVNI,
429 VNInfo *VNI = defValue(RegIdx, ParentVNI, Def);
457 VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(Idx)
    [all...]
LiveRangeEdit.cpp 44 bool LiveRangeEdit::checkRematerializable(VNInfo *VNI,
61 VNInfo *VNI = *I;
102 const VNInfo *OVNI = li.getVNInfoAt(OrigIdx);
262 if (VNInfo *VNI = LI.getVNInfoAt(Idx)) {
  /external/swiftshader/third_party/LLVM/include/llvm/CodeGen/
LiveInterval.h 38 /// VNInfo - Value Number Information.
42 class VNInfo {
63 /// VNInfo constructor.
64 VNInfo(unsigned i, SlotIndex d, MachineInstr *c)
68 /// VNInfo construtor, copies values from orig, except for the value number.
69 VNInfo(unsigned i, const VNInfo &orig)
73 /// Copy from the parameter into this VNInfo.
74 void copyFrom(VNInfo &src) {
84 /// Merge flags from another VNInfo
    [all...]
LiveStackAnalysis.h 30 /// Special pool allocator for VNInfo's (LiveInterval val#).
32 VNInfo::Allocator VNInfoAllocator;
86 VNInfo::Allocator& getVNInfoAllocator() { return VNInfoAllocator; }
LiveIntervalAnalysis.h 56 /// Special pool allocator for VNInfo's (LiveInterval val#).
58 VNInfo::Allocator VNInfoAllocator;
263 VNInfo::Allocator& getVNInfoAllocator() { return VNInfoAllocator; }
297 bool isReMaterializable(const LiveInterval &li, const VNInfo *ValNo,
377 bool isReMaterializable(const LiveInterval &li, const VNInfo *ValNo,
398 /// VNInfo that's after the specified index but is within the basic block.
399 bool anyKillInMBBAfterIdx(const LiveInterval &li, const VNInfo *VNI,
437 bool rewriteInstructionForSpills(const LiveInterval &li, const VNInfo *VNI,
  /external/llvm/include/llvm/CodeGen/
LiveInterval.h 42 /// VNInfo - Value Number Information.
46 class VNInfo {
56 /// VNInfo constructor.
57 VNInfo(unsigned i, SlotIndex d)
61 /// VNInfo construtor, copies values from orig, except for the value number.
62 VNInfo(unsigned i, const VNInfo &orig)
66 /// Copy from the parameter into this VNInfo.
67 void copyFrom(VNInfo &src) {
88 VNInfo *const EarlyVal
    [all...]
LiveRangeEdit.h 81 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) {}
204 bool canRematerializeAt(Remat &RM, VNInfo *OrigVNI, SlotIndex UseIdx,
220 void markRematerialized(const VNInfo *ParentVNI) {
225 bool didRematerialize(const VNInfo *ParentVNI) const {
LiveStackAnalysis.h 31 /// Special pool allocator for VNInfo's (LiveInterval val#).
33 VNInfo::Allocator VNInfoAllocator;
85 VNInfo::Allocator &getVNInfoAllocator() { return VNInfoAllocator; }
  /external/llvm/lib/CodeGen/
LiveRangeCalc.h 41 VNInfo::Allocator *Alloc;
45 typedef std::pair<VNInfo*, MachineDomTreeNode*> LiveOutPair;
92 VNInfo *Value;
156 VNInfo::Allocator*);
175 /// Each instruction defining Reg gets a new VNInfo with a corresponding
216 void setLiveOutValue(MachineBasicBlock *MBB, VNInfo *VNI) {
SplitKit.h 38 class VNInfo;
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);
SplitKit.cpp 95 const VNInfo *VNI = CurLI.getVNInfoBefore(MBBEnd);
144 for (const VNInfo *VNI : CurLI->valnos)
384 VNInfo *SplitEditor::defValue(unsigned RegIdx,
385 const VNInfo *ParentVNI,
393 VNInfo *VNI = LI->getNextValue(Idx, LIS.getVNInfoAllocator());
406 if (VNInfo *OldVNI = InsP.first->second.getPointer()) {
420 void SplitEditor::forceRecompute(unsigned RegIdx, const VNInfo *ParentVNI) {
423 VNInfo *VNI = VFP.getPointer();
441 VNInfo *SplitEditor::defFromParent(unsigned RegIdx,
442 VNInfo *ParentVNI
    [all...]
LiveInterval.cpp 62 VNInfo *createDeadDef(SlotIndex Def, VNInfo::Allocator &VNInfoAllocator) {
67 VNInfo *VNI = LR->getNextValue(Def, VNInfoAllocator);
87 VNInfo *VNI = LR->getNextValue(Def, VNInfoAllocator);
92 VNInfo *extendInBlock(SlotIndex StartIdx, SlotIndex Use) {
114 VNInfo *ValNo = I->valno;
142 VNInfo *ValNo = I->valno;
323 VNInfo *LiveRange::createDeadDef(SlotIndex Def,
324 VNInfo::Allocator &VNInfoAllocator) {
465 void LiveRange::markValNoForDeletion(VNInfo *ValNo)
    [all...]
RegisterCoalescer.cpp 183 VNInfo *AValNo, VNInfo *BValNo);
500 VNInfo *BValNo = BS->valno;
512 VNInfo *AValNo = AS->valno;
558 VNInfo *SubBValNo = S.getVNInfoAt(CopyIdx);
560 VNInfo *SubValSNo = S.getVNInfoAt(AValNo->def.getPrevSlot());
587 VNInfo *AValNo,
588 VNInfo *BValNo) {
614 static void addSegmentsWithValNo(LiveRange &Dst, VNInfo *DstValNo,
615 const LiveRange &Src, const VNInfo *SrcValNo
    [all...]
LiveRangeUtils.h 48 VNInfo *VNI = LR.getValNumInfo(i);
InlineSpiller.cpp 80 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());
360 VNInfo *SrcVNI = SrcLI.getVNInfoAt(Idx);
371 VNInfo *OrigVNI = OrigLI.getVNInfoAt(Idx);
404 void InlineSpiller::eliminateRedundantSpills(LiveInterval &SLI, VNInfo *VNI)
    [all...]
LiveRangeCalc.cpp 32 VNInfo::Allocator *VNIA) {
43 static void createDeadDef(SlotIndexes &Indexes, VNInfo::Allocator &Alloc,
137 for (const VNInfo *VNI : SR.valnos) {
253 // VNInfo SSA form. Perform a search for all predecessor blocks where we
254 // know the dominating VNInfo.
283 VNInfo *TheVNI = nullptr;
316 if (VNInfo *VNI = Map[Pred].first) {
329 VNInfo *VNI = LR.extendInBlock(Start, End);
451 assert(Alloc && "Need VNInfo allocator to create PHI-defs");
455 VNInfo *VNI = LR.getNextValue(Start, *Alloc)
    [all...]
LiveRangeEdit.cpp 51 bool LiveRangeEdit::checkRematerializable(VNInfo *VNI,
63 for (VNInfo *VNI : getParent().valnos) {
68 VNInfo *OrigVNI = OrigLI.getVNInfoAt(VNI->def);
103 const VNInfo *OVNI = li.getVNInfoAt(OrigIdx);
119 bool LiveRangeEdit::canRematerializeAt(Remat &RM, VNInfo *OrigVNI,
270 VNInfo *OrigVNI = OrigLI.getVNInfoAt(Idx);
338 VNInfo *VNI = NewLI.getNextValue(Idx, LIS.getVNInfoAllocator());
LiveIntervalAnalysis.cpp 107 // Release VNInfo memory regions, VNInfo objects don't need to be dtor'd.
324 VNInfo *VNI = LR->createDeadDef(Begin, getVNInfoAllocator());
351 typedef SmallVector<std::pair<SlotIndex, VNInfo*>, 16> ShrinkToUsesWorkList;
357 SmallPtrSet<VNInfo*, 8> UsedPHIs;
364 VNInfo *VNI = WorkList.back().second;
370 if (VNInfo *ExtVNI = LR.extendInBlock(BlockStart, Idx)) {
383 if (VNInfo *PVNI = OldRange.getVNInfoBefore(Stop))
433 VNInfo *VNI = LRQ.valueIn();
445 if (VNInfo *DefVNI = LRQ.valueDefined()
    [all...]

Completed in 2275 milliseconds

1 2