Searched defs:VNI (Results 1 - 25 of 27) sorted by relevance

12

/external/llvm/lib/CodeGen/
H A DLiveRangeUtils.h48 VNInfo *VNI = LR.getValNumInfo(i); local
50 VNI->id = SplitLRs[eq-1]->getNumValNums();
51 SplitLRs[eq-1]->valnos.push_back(VNI);
53 VNI->id = j;
54 LR.valnos[j++] = VNI;
H A DLiveRangeCalc.h44 /// redundant, it can be computed as: MDT[Indexes.getMBBFromIndex(VNI->def)].
210 /// setLiveOutValue - Indicate that VNI is live out from MBB. The
214 /// VNI may be null only if MBB is a live-through block also passed to
216 void setLiveOutValue(MachineBasicBlock *MBB, VNInfo *VNI) { argument
218 Map[MBB] = LiveOutPair(VNI, nullptr);
H A DCalcSpillWeights.cpp85 const VNInfo *VNI = *I; local
86 if (VNI->isUnused())
88 if (VNI->isPHIDef())
91 MachineInstr *MI = LIS.getInstructionFromIndex(VNI->def);
114 LiveQueryResult SrcQ = SrcLI.Query(VNI->def);
115 VNI = SrcQ.valueIn();
116 assert(VNI && "Copy from non-existing value");
117 if (VNI->isPHIDef())
119 MI = LIS.getInstructionFromIndex(VNI->def);
H A DLiveInterval.cpp67 VNInfo *VNI = LR->getNextValue(Def, VNInfoAllocator); local
68 impl().insertAtEnd(Segment(Def, Def.getDeadSlot(), VNI));
69 return VNI;
87 VNInfo *VNI = LR->getNextValue(Def, VNInfoAllocator); local
88 segments().insert(I, Segment(Def, Def.getDeadSlot(), VNI));
89 return VNI;
481 VNInfo *VNI = S.valno;
482 if (!Seen.insert(VNI).second)
484 assert(!VNI->isUnused() && "Unused valno used by live segment");
485 VNI
[all...]
H A DLiveRangeCalc.cpp137 for (const VNInfo *VNI : SR.valnos) {
138 if (!VNI->isUnused() && !VNI->isPHIDef())
139 MainRange.createDeadDef(VNI->def, *Alloc);
316 if (VNInfo *VNI = Map[Pred].first) {
317 if (TheVNI && TheVNI != VNI)
319 TheVNI = VNI;
329 VNInfo *VNI = LR.extendInBlock(Start, End); local
330 setLiveOutValue(Pred, VNI);
331 if (VNI) {
455 VNInfo *VNI = LR.getNextValue(Start, *Alloc); local
[all...]
H A DLiveRangeEdit.cpp51 bool LiveRangeEdit::checkRematerializable(VNInfo *VNI, argument
58 Remattable.insert(VNI);
63 for (VNInfo *VNI : getParent().valnos) {
64 if (VNI->isUnused())
68 VNInfo *OrigVNI = OrigLI.getVNInfoAt(VNI->def);
338 VNInfo *VNI = NewLI.getNextValue(Idx, LIS.getVNInfoAllocator()); local
339 NewLI.addSegment(LiveInterval::Segment(Idx, Idx.getDeadSlot(), VNI));
H A DRenameIndependentSubregs.cpp192 const VNInfo *VNI = SR.getVNInfoAt(Pos); local
193 if (VNI == nullptr)
197 unsigned LocalID = SRInfo.ConEQ.getEqClass(VNI);
237 const VNInfo &VNI = *I->valno; local
239 unsigned LocalID = SRInfo.ConEQ.getEqClass(&VNI);
268 const VNInfo &VNI = *SR.valnos[I]; local
269 unsigned LocalID = SRInfo.ConEQ.getEqClass(&VNI);
307 const VNInfo &VNI = *SR.valnos[I]; local
308 if (VNI.isUnused() || !VNI
[all...]
H A DPHIElimination.cpp476 VNInfo *VNI = SrcLI.getVNInfoAt(startIdx); local
479 if (VNI && VNI->def != startIdx) {
H A DLiveDebugVariables.cpp226 /// range of VNI.
227 /// End points where VNI is no longer live are added to Kills.
230 /// @param LR Restrict liveness to where LR has the value VNI. May be null.
231 /// @param VNI When LR is not null, this is the value to restrict to.
232 /// @param Kills Append end points of VNI's live range to Kills.
236 LiveRange *LR, const VNInfo *VNI,
543 const VNInfo *VNI, SmallVectorImpl<SlotIndex> *Kills,
551 // Limit to VNI's live range.
553 if (LR && VNI) {
555 if (!Segment || Segment->valno != VNI) {
542 extendDef(SlotIndex Idx, unsigned LocNo, LiveRange *LR, const VNInfo *VNI, SmallVectorImpl<SlotIndex> *Kills, LiveIntervals &LIS, MachineDominatorTree &MDT, UserValueScopes &UVS) argument
687 const VNInfo *VNI = nullptr; local
702 const VNInfo *VNI = LR->getVNInfoAt(Idx); local
[all...]
H A DMachineBasicBlock.cpp889 VNInfo *VNI = LI.getVNInfoAt(PrevIndex); local
890 assert(VNI &&
892 LI.addSegment(LiveInterval::Segment(StartIndex, EndIndex, VNI));
909 VNInfo *VNI = LI.getVNInfoAt(PrevIndex); local
910 assert(VNI && "LiveInterval should have VNInfo where it is live.");
911 LI.addSegment(LiveInterval::Segment(StartIndex, EndIndex, VNI));
H A DSplitKit.cpp95 const VNInfo *VNI = CurLI.getVNInfoBefore(MBBEnd); local
96 if (!VNI)
103 if (!SlotIndex::isEarlierInstr(VNI->def, LIP.second) && VNI->def < MBBEnd)
144 for (const VNInfo *VNI : CurLI->valnos)
145 if (!VNI->isPHIDef() && !VNI->isUnused())
146 UseSlots.push_back(VNI->def);
389 assert(Edit->getParent().getVNInfoAt(Idx) == ParentVNI && "Bad Parent VNI");
393 VNInfo *VNI local
423 VNInfo *VNI = VFP.getPointer(); local
510 VNInfo *VNI = defFromParent(OpenIdx, ParentVNI, Idx, *MI->getParent(), MI); local
527 VNInfo *VNI = defFromParent(OpenIdx, ParentVNI, Idx, *MI->getParent(), local
543 VNInfo *VNI = defFromParent(OpenIdx, ParentVNI, Last, MBB, local
588 VNInfo *VNI = defFromParent(0, ParentVNI, Boundary, *MI->getParent(), local
608 VNInfo *VNI = defFromParent(0, ParentVNI, Idx, *MI->getParent(), MI); local
623 VNInfo *VNI = defFromParent(0, ParentVNI, Start, MBB, local
978 VNInfo *VNI = LR.extendInBlock(BlockStart, std::min(BlockEnd, End)); local
998 VNInfo *VNI = LR.extendInBlock(BlockStart, std::min(BlockEnd, End)); local
[all...]
H A DInlineSpiller.cpp77 // Map from pair of (StackSlot and Original VNI) to a set of spills which
78 // have the same stackslot and have equal values defined by Original VNI.
195 void eliminateRedundantSpills(LiveInterval &LI, VNInfo *VNI);
354 VNInfo *VNI = SpillLI.getVNInfoAt(Idx.getRegSlot()); local
355 assert(VNI && VNI->def == Idx.getRegSlot() && "Not defined by copy");
402 /// eliminateRedundantSpills - SLI:VNI is known to be on the stack. Remove any
404 void InlineSpiller::eliminateRedundantSpills(LiveInterval &SLI, VNInfo *VNI) { argument
405 assert(VNI && "Missing value");
407 WorkList.push_back(std::make_pair(&SLI, VNI));
470 markValueUsed(LiveInterval *LI, VNInfo *VNI) argument
612 VNInfo *VNI = *I; local
1095 VNInfo *VNI = LI.getVNInfoAt(Idx); local
[all...]
H A DLiveIntervalAnalysis.cpp324 VNInfo *VNI = LR->createDeadDef(Begin, getVNInfoAllocator()); local
325 (void)VNI;
326 DEBUG(dbgs() << ' ' << PrintRegUnit(Unit, TRI) << '#' << VNI->id);
343 for (auto VNI : VNIs) {
344 if (VNI->isUnused())
346 SlotIndex Def = VNI->def;
347 LR.addSegment(LiveRange::Segment(Def, Def.getDeadSlot(), VNI));
364 VNInfo *VNI = WorkList.back().second; local
369 // Extend the live range for VNI to be live at Idx.
371 assert(ExtVNI == VNI
433 VNInfo *VNI = LRQ.valueIn(); local
535 VNInfo *VNI = LRQ.valueIn(); local
587 VNInfo *VNI = LRQ.valueOutOrDead(); local
1452 VNInfo *VNI = LR.getNextValue(instrIdx.getRegSlot(), VNInfoAllocator); local
1457 VNInfo *VNI = LR.getNextValue(instrIdx.getRegSlot(), VNInfoAllocator); local
1541 VNInfo *VNI = LI.getVNInfoAt(Pos); local
[all...]
H A DMachineVerifier.cpp219 void report_context(const VNInfo &VNI) const;
489 void MachineVerifier::report_context(const VNInfo &VNI) const {
490 errs() << "- ValNo: " << VNI.id << " (def " << VNI.def << ")\n";
1135 if (const VNInfo *VNI = LR.getVNInfoAt(DefIdx)) {
1136 assert(VNI && "NULL valno is not allowed");
1137 if (VNI->def != DefIdx) {
1143 report_context(*VNI);
1582 const VNInfo *VNI, unsigned Reg,
1584 if (VNI
1581 verifyLiveRangeValue(const LiveRange &LR, const VNInfo *VNI, unsigned Reg, LaneBitmask LaneMask) argument
1678 const VNInfo *VNI = S.valno; local
[all...]
H A DTwoAddressInstructionPass.cpp1524 VNInfo *VNI = LI.getNextValue(LastCopyIdx, LIS->getVNInfoAllocator()); local
1527 LI.addSegment(LiveInterval::Segment(LastCopyIdx, endIdx, VNI));
/external/swiftshader/third_party/LLVM/lib/CodeGen/
H A DLiveRangeCalc.h44 /// redundant, it can be computed as: MDT[Indexes.getMBBFromIndex(VNI->def)].
118 /// updateLiveIns - Add liveness as specified in the LiveIn vector, using VNI
120 void updateLiveIns(VNInfo *VNI, SlotIndexes*);
186 /// setLiveOutValue - Indicate that VNI is live out from MBB. The
190 /// VNI may be null only if MBB is a live-through block also passed to
192 void setLiveOutValue(MachineBasicBlock *MBB, VNInfo *VNI) { argument
194 LiveOut[MBB] = LiveOutPair(VNI, (MachineDomTreeNode *)0);
H A DLiveRangeCalc.cpp37 VNInfo *VNI = OverrideVNI ? OverrideVNI : I->Value; local
38 assert(VNI && "No live-in value found");
44 I->LI->addRange(LiveRange(Start, I->Kill, VNI));
46 I->LI->addRange(LiveRange(Start, End, VNI));
50 LiveOut[MBB] = LiveOutPair(VNI, (MachineDomTreeNode *)0);
78 VNInfo *VNI = findReachingDefs(LI, KillMBB, Kill, Indexes, DomTree);
81 if (!VNI)
84 updateLiveIns(VNI, Indexes);
123 if (VNInfo *VNI = LiveOut[Pred].first) {
124 if (TheVNI && TheVNI != VNI)
136 VNInfo *VNI = LI->extendInBlock(Start, End); local
240 VNInfo *VNI = I->LI->getNextValue(Start, 0, *Alloc); local
[all...]
H A DLiveRangeEdit.cpp44 bool LiveRangeEdit::checkRematerializable(VNInfo *VNI, argument
52 remattable_.insert(VNI);
61 VNInfo *VNI = *I; local
62 if (VNI->isUnused())
64 MachineInstr *DefMI = lis.getInstructionFromIndex(VNI->def);
67 checkRematerializable(VNI, DefMI, tii, aa);
262 if (VNInfo *VNI = LI.getVNInfoAt(Idx)) {
265 LI.removeValNo(VNI);
H A DInlineSpiller.cpp117 SibValueInfo(unsigned Reg, VNInfo *VNI) argument
119 SpillReg(Reg), SpillVNI(VNI), SpillMBB(0), DefMI(0) {}
165 void propagateSiblingValue(SibValueMap::iterator, VNInfo *VNI = 0);
169 void eliminateRedundantSpills(LiveInterval &LI, VNInfo *VNI);
343 /// @param VNI Dependent value, or NULL to propagate to all saved dependents.
345 VNInfo *VNI) {
346 // When VNI is non-NULL, add it to SVI's deps, and only propagate to that.
348 if (VNI) {
349 FirstDeps.push_back(VNI);
350 SVI->second.Deps.push_back(VNI);
344 propagateSiblingValue(SibValueMap::iterator SVI, VNInfo *VNI) argument
497 VNInfo *VNI; local
643 VNInfo *VNI = *VI; local
668 VNInfo *VNI = SpillLI.getVNInfoAt(Idx.getDefIndex()); local
739 eliminateRedundantSpills(LiveInterval &SLI, VNInfo *VNI) argument
802 markValueUsed(LiveInterval *LI, VNInfo *VNI) argument
944 VNInfo *VNI = *I; local
1196 VNInfo *VNI = NewLI.getNextValue(Idx, 0, LIS.getVNInfoAllocator()); local
[all...]
H A DLiveDebugVariables.cpp216 /// range of VNI.
217 /// End points where VNI is no longer live are added to Kills.
220 /// @param LI Restrict liveness to where LI has the value VNI. May be null.
221 /// @param VNI When LI is not null, this is the value to restrict to.
222 /// @param Kills Append end points of VNI's live range to Kills.
226 LiveInterval *LI, const VNInfo *VNI,
486 LiveInterval *LI, const VNInfo *VNI,
498 // Limit to VNI's live range.
500 if (LI && VNI) {
502 if (!Range || Range->valno != VNI) {
485 extendDef(SlotIndex Idx, unsigned LocNo, LiveInterval *LI, const VNInfo *VNI, SmallVectorImpl<SlotIndex> *Kills, LiveIntervals &LIS, MachineDominatorTree &MDT, UserValueScopes &UVS) argument
640 const VNInfo *VNI = LI->getVNInfoAt(Idx); local
[all...]
H A DMachineVerifier.cpp716 if (const VNInfo *VNI = LI.getVNInfoAt(DefIdx)) {
717 assert(VNI && "NULL valno is not allowed");
718 if (VNI->def != DefIdx && !MO->isEarlyClobber()) {
720 *OS << "Valno " << VNI->id << " is not defined at "
1025 VNInfo *VNI = *I; local
1026 const VNInfo *DefVNI = LI.getVNInfoAt(VNI->def);
1029 if (!VNI->isUnused()) {
1031 *OS << "Valno #" << VNI->id << " in " << LI << '\n';
1036 if (VNI->isUnused())
1039 if (DefVNI != VNI) {
1102 const VNInfo *VNI = I->valno; local
[all...]
H A DSplitKit.cpp350 assert(Edit->getParent().getVNInfoAt(Idx) == ParentVNI && "Bad Parent VNI");
354 VNInfo *VNI = LI->getNextValue(Idx, 0, LIS.getVNInfoAllocator()); local
359 ValueForcePair(VNI, false)));
364 return VNI;
374 // This is a complex mapping, add liveness for VNI
375 SlotIndex Def = VNI->def;
376 LI->addRange(LiveRange(Def, Def.getNextSlot(), VNI));
378 return VNI;
384 VNInfo *VNI = VFP.getPointer(); local
388 if (!VNI) {
429 VNInfo *VNI = defValue(RegIdx, ParentVNI, Def); local
466 VNInfo *VNI = defFromParent(OpenIdx, ParentVNI, Idx, *MI->getParent(), MI); local
483 VNInfo *VNI = defFromParent(OpenIdx, ParentVNI, Idx, *MI->getParent(), local
499 VNInfo *VNI = defFromParent(OpenIdx, ParentVNI, Last, MBB, local
544 VNInfo *VNI = defFromParent(0, ParentVNI, Boundary, *MI->getParent(), local
564 VNInfo *VNI = defFromParent(0, ParentVNI, Idx, *MI->getParent(), MI); local
579 VNInfo *VNI = defFromParent(0, ParentVNI, Start, MBB, local
613 VNInfo *VNI = Copies[i]; local
718 VNInfo *VNI = *VI; local
791 VNInfo *VNI = *VI; local
863 VNInfo *VNI = LI->extendInBlock(BlockStart, std::min(BlockEnd, End)); local
883 VNInfo *VNI = LI->extendInBlock(BlockStart, std::min(BlockEnd, End)); local
1031 VNInfo *VNI = defValue(RegIdx, ParentVNI, ParentVNI->def); local
[all...]
H A DLiveIntervalAnalysis.cpp770 VNInfo *VNI = li->getVNInfoAt(Idx); local
771 if (!VNI) {
780 if (VNI->def == Idx) {
784 VNI = li->getVNInfoAt(Idx);
785 assert(VNI && "Early-clobber tied value not available");
787 WorkList.push_back(std::make_pair(Idx, VNI));
794 VNInfo *VNI = *I; local
795 if (VNI->isUnused())
797 NewLI.addRange(LiveRange(VNI->def, VNI
813 VNInfo *VNI = WorkList.back().second; local
857 VNInfo *VNI = *I; local
1031 const VNInfo *VNI = *i; local
1194 rewriteInstructionForSpills(const LiveInterval &li, const VNInfo *VNI, bool TrySplit, SlotIndex index, SlotIndex end, MachineInstr *MI, MachineInstr *ReMatOrigDefMI, MachineInstr *ReMatDefMI, unsigned Slot, int LdSlot, bool isLoad, bool isLoadSS, bool DefIsReMat, bool CanDelete, VirtRegMap &vrm, const TargetRegisterClass* rc, SmallVector<int, 4> &ReMatIds, const MachineLoopInfo *loopInfo, unsigned &NewVReg, unsigned ImpUse, bool &HasDef, bool &HasUse, DenseMap<unsigned,unsigned> &MBBVRegsMap, std::vector<LiveInterval*> &NewLIs) argument
1394 anyKillInMBBAfterIdx(const LiveInterval &li, const VNInfo *VNI, MachineBasicBlock *MBB, SlotIndex Idx) const argument
1573 const VNInfo *VNI = li.findDefinedVNInfoForRegInt(index.getDefIndex()); local
1827 const VNInfo *VNI = *i; local
[all...]
H A DRegisterCoalescer.cpp1315 static unsigned ComputeUltimateVN(VNInfo *VNI, argument
1321 unsigned VN = VNI->id;
1330 DenseMap<VNInfo*, VNInfo*>::iterator I = ThisFromOther.find(VNI);
1332 NewVNInfo.push_back(VNI);
1359 // VNI is the definition of B. LR is the life range of A that includes
1365 VNInfo *VNI,
1371 MachineInstr *MI = VNI->getCopy();
1415 if (SrcInt.getVNInfoBefore(Other->def) != SrcInt.getVNInfoBefore(VNI->def))
1487 VNInfo *VNI = *i; local
1488 if (VNI
1362 RegistersDefinedFromSameValue(LiveIntervals &li, const TargetRegisterInfo &tri, CoalescerPair &CP, VNInfo *VNI, LiveRange *LR, SmallVector<MachineInstr*, 8> &DupCopies) argument
1514 VNInfo *VNI = *i; local
1543 VNInfo *VNI = *i; local
1553 VNInfo *VNI = *i; local
1618 VNInfo *VNI = I->first; local
1627 VNInfo *VNI = I->first; local
[all...]
/external/swiftshader/third_party/LLVM/include/llvm/CodeGen/
H A DLiveInterval.h85 void mergeFlags(const VNInfo *VNI) { argument
86 flags = (flags | VNI->flags) & ~IS_UNUSED;
290 /// containsValue - Returns true if VNI belongs to this interval.
291 bool containsValue(const VNInfo *VNI) const {
292 return VNI && VNI->id < getNumValNums() && VNI == getValNumInfo(VNI->id);
299 VNInfo *VNI =
301 valnos.push_back(VNI);
[all...]

Completed in 338 milliseconds

12