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

/external/llvm/lib/CodeGen/
H A DLiveRangeCalc.h44 /// redundant, it can be computed as: MDT[Indexes.getMBBFromIndex(VNI->def)].
205 /// setLiveOutValue - Indicate that VNI is live out from MBB. The
209 /// VNI may be null only if MBB is a live-through block also passed to
211 void setLiveOutValue(MachineBasicBlock *MBB, VNInfo *VNI) { argument
213 Map[MBB] = LiveOutPair(VNI, nullptr);
H A DCalcSpillWeights.cpp80 const VNInfo *VNI = *I; local
81 if (VNI->isUnused())
83 if (VNI->isPHIDef())
86 MachineInstr *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;
479 VNInfo *VNI = S.valno;
480 if (!Seen.insert(VNI).second)
482 assert(!VNI->isUnused() && "Unused valno used by live segment");
483 VNI
[all...]
H A DLiveRangeCalc.cpp293 if (VNInfo *VNI = Map[Pred].first) {
294 if (TheVNI && TheVNI != VNI)
296 TheVNI = VNI;
306 VNInfo *VNI = LR.extendInBlock(Start, End); local
307 setLiveOutValue(Pred, VNI);
308 if (VNI) {
309 if (TheVNI && TheVNI != VNI)
311 TheVNI = VNI;
432 VNInfo *VNI = LR.getNextValue(Start, *Alloc); local
433 I.Value = VNI;
[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())
66 MachineInstr *DefMI = LIS.getInstructionFromIndex(VNI->def);
69 checkRematerializable(VNI, DefMI, aa);
H A DPHIElimination.cpp477 VNInfo *VNI = SrcLI.getVNInfoAt(startIdx); local
480 if (VNI && VNI->def != startIdx) {
H A DInlineSpiller.cpp122 SibValueInfo(unsigned Reg, VNInfo *VNI) argument
124 SpillReg(Reg), SpillVNI(VNI), SpillMBB(nullptr), DefMI(nullptr) {}
165 void propagateSiblingValue(SibValueMap::iterator, VNInfo *VNI = nullptr);
169 void eliminateRedundantSpills(LiveInterval &LI, VNInfo *VNI);
347 /// @param VNI Dependent value, or NULL to propagate to all saved dependents.
349 VNInfo *VNI) {
352 // When VNI is non-NULL, add it to SVI's deps, and only propagate to that.
354 if (VNI) {
355 FirstDeps.push_back(VNI);
356 SVI->second.Deps.push_back(VNI);
348 propagateSiblingValue(SibValueMap::iterator SVIIter, VNInfo *VNI) argument
514 VNInfo *VNI; local
662 VNInfo *VNI = *VI; local
689 VNInfo *VNI = SpillLI.getVNInfoAt(Idx.getRegSlot()); local
759 eliminateRedundantSpills(LiveInterval &SLI, VNInfo *VNI) argument
824 markValueUsed(LiveInterval *LI, VNInfo *VNI) argument
971 VNInfo *VNI = *I; local
[all...]
H A DLiveDebugVariables.cpp225 /// range of VNI.
226 /// End points where VNI is no longer live are added to Kills.
229 /// @param LR Restrict liveness to where LR has the value VNI. May be null.
230 /// @param VNI When LR is not null, this is the value to restrict to.
231 /// @param Kills Append end points of VNI's live range to Kills.
235 LiveRange *LR, const VNInfo *VNI,
540 LiveRange *LR, const VNInfo *VNI,
552 // Limit to VNI's live range.
554 if (LR && VNI) {
556 if (!Segment || Segment->valno != VNI) {
539 extendDef(SlotIndex Idx, unsigned LocNo, LiveRange *LR, const VNInfo *VNI, SmallVectorImpl<SlotIndex> *Kills, LiveIntervals &LIS, MachineDominatorTree &MDT, UserValueScopes &UVS) argument
698 const VNInfo *VNI = nullptr; local
713 const VNInfo *VNI = LR->getVNInfoAt(Idx); local
[all...]
H A DLiveIntervalAnalysis.cpp318 VNInfo *VNI = LR->createDeadDef(Begin, getVNInfoAllocator()); local
319 (void)VNI;
320 DEBUG(dbgs() << ' ' << PrintRegUnit(Unit, TRI) << '#' << VNI->id);
337 for (auto VNI : VNIs) {
338 if (VNI->isUnused())
340 SlotIndex Def = VNI->def;
341 LR.addSegment(LiveRange::Segment(Def, Def.getDeadSlot(), VNI));
358 VNInfo *VNI = WorkList.back().second; local
363 // Extend the live range for VNI to be live at Idx.
365 assert(ExtVNI == VNI
425 VNInfo *VNI = LRQ.valueIn(); local
526 VNInfo *VNI = LRQ.valueIn(); local
578 VNInfo *VNI = LRQ.valueOutOrDead(); local
1315 VNInfo *VNI = LR.getNextValue(instrIdx.getRegSlot(), VNInfoAllocator); local
1320 VNInfo *VNI = LR.getNextValue(instrIdx.getRegSlot(), VNInfoAllocator); local
1403 VNInfo *VNI = LI.getVNInfoAt(Pos); local
[all...]
H A DMachineBasicBlock.cpp865 VNInfo *VNI = LI.getVNInfoAt(PrevIndex); local
866 assert(VNI && "PHI sources should be live out of their predecessors.");
867 LI.addSegment(LiveInterval::Segment(StartIndex, EndIndex, VNI));
884 VNInfo *VNI = LI.getVNInfoAt(PrevIndex); local
885 assert(VNI && "LiveInterval should have VNInfo where it is live.");
886 LI.addSegment(LiveInterval::Segment(StartIndex, EndIndex, VNI));
H A DSplitKit.cpp93 const VNInfo *VNI = CurLI->getVNInfoBefore(MBBEnd); local
94 if (!VNI)
101 if (!SlotIndex::isEarlierInstr(VNI->def, LSP.second) && VNI->def < MBBEnd)
123 for (const VNInfo *VNI : CurLI->valnos)
124 if (!VNI->isPHIDef() && !VNI->isUnused())
125 UseSlots.push_back(VNI->def);
364 assert(Edit->getParent().getVNInfoAt(Idx) == ParentVNI && "Bad Parent VNI");
368 VNInfo *VNI local
398 VNInfo *VNI = VFP.getPointer(); local
479 VNInfo *VNI = defFromParent(OpenIdx, ParentVNI, Idx, *MI->getParent(), MI); local
496 VNInfo *VNI = defFromParent(OpenIdx, ParentVNI, Idx, *MI->getParent(), local
512 VNInfo *VNI = defFromParent(OpenIdx, ParentVNI, Last, MBB, local
557 VNInfo *VNI = defFromParent(0, ParentVNI, Boundary, *MI->getParent(), local
577 VNInfo *VNI = defFromParent(0, ParentVNI, Idx, *MI->getParent(), MI); local
592 VNInfo *VNI = defFromParent(0, ParentVNI, Start, MBB, local
873 VNInfo *VNI = LR.extendInBlock(BlockStart, std::min(BlockEnd, End)); local
893 VNInfo *VNI = LR.extendInBlock(BlockStart, std::min(BlockEnd, End)); local
[all...]
H A DTwoAddressInstructionPass.cpp1492 VNInfo *VNI = LI.getNextValue(LastCopyIdx, LIS->getVNInfoAllocator()); local
1495 LI.addSegment(LiveInterval::Segment(LastCopyIdx, endIdx, VNI));
H A DMachineVerifier.cpp1115 if (const VNInfo *VNI = LI.getVNInfoAt(DefIdx)) {
1116 assert(VNI && "NULL valno is not allowed");
1117 if (VNI->def != DefIdx) {
1119 errs() << "Valno " << VNI->id << " is not defined at "
1379 const VNInfo *VNI, unsigned Reg,
1381 if (VNI->isUnused())
1384 const VNInfo *DefVNI = LR.getVNInfoAt(VNI->def);
1389 errs() << "Valno #" << VNI->id << '\n';
1393 if (DefVNI != VNI) {
1395 errs() << "Valno #" << VNI
1378 verifyLiveRangeValue(const LiveRange &LR, const VNInfo *VNI, unsigned Reg, unsigned LaneMask) argument
1473 const VNInfo *VNI = S.valno; local
[all...]
H A DScheduleDAGInstrs.cpp431 VNInfo *VNI = LRQ.valueIn(); local
433 // VNI will be valid because MachineOperand::readsReg() is checked by caller.
434 assert(VNI && "No value to read by operand");
435 MachineInstr *Def = LIS->getInstructionFromIndex(VNI->def);
H A DMachineScheduler.cpp967 VNInfo *VNI; local
971 VNI = LI.getVNInfoBefore(LIS->getMBBEndIdx(BB));
974 VNI = LRQ.valueIn();
977 assert(VNI && "No live value at use.");
988 if (LRQ.valueIn() == VNI)
H A DRegisterCoalescer.cpp1080 VNInfo *VNI = DstLI.getVNInfoAt(RegIndex); local
1081 DstLI.MergeValueNumberInto(VNI, PrevVNI);
1693 /// Find the ultimate value that VNI was copied from.
1694 std::pair<const VNInfo*,unsigned> followCopyChain(const VNInfo *VNI) const;
1802 const VNInfo *VNI) const {
1805 while (!VNI->isPHIDef()) {
1806 SlotIndex Def = VNI->def;
1810 return std::make_pair(VNI, Reg);
1813 return std::make_pair(VNI, Reg);
1836 VNI
1865 VNInfo *VNI = LR.getValNumInfo(ValNo); local
2139 VNInfo *VNI = LR.getValNumInfo(ValNo); local
2205 VNInfo *VNI = LR.getValNumInfo(i); local
2375 VNInfo *VNI = LR.getValNumInfo(i); local
2394 VNInfo *VNI = LR.getValNumInfo(i); local
[all...]

Completed in 182 milliseconds