/external/llvm/lib/CodeGen/ |
InlineSpiller.cpp | 122 SibValueInfo(unsigned Reg, VNInfo *VNI) 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); [all...] |
LiveInterval.cpp | 66 VNInfo *VNI = LR->getNextValue(Def, VNInfoAllocator); 67 impl().insertAtEnd(Segment(Def, Def.getDeadSlot(), VNI)); 68 return VNI; 86 VNInfo *VNI = LR->getNextValue(Def, VNInfoAllocator); 87 segments().insert(I, Segment(Def, Def.getDeadSlot(), VNI)); 88 return VNI; 478 VNInfo *VNI = S.valno; 479 if (!Seen.insert(VNI).second) 481 assert(!VNI->isUnused() && "Unused valno used by live segment"); 482 VNI->id = (unsigned)valnos.size() [all...] |
CalcSpillWeights.cpp | 85 const VNInfo *VNI = *I; 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);
|
SplitKit.cpp | 94 const VNInfo *VNI = CurLI->getVNInfoBefore(MBBEnd); 95 if (!VNI) 102 if (!SlotIndex::isEarlierInstr(VNI->def, LSP.second) && VNI->def < MBBEnd) 124 for (const VNInfo *VNI : CurLI->valnos) 125 if (!VNI->isPHIDef() && !VNI->isUnused()) 126 UseSlots.push_back(VNI->def); 367 assert(Edit->getParent().getVNInfoAt(Idx) == ParentVNI && "Bad Parent VNI"); 371 VNInfo *VNI = LI->getNextValue(Idx, LIS.getVNInfoAllocator()) [all...] |
LiveRangeCalc.cpp | 300 if (VNInfo *VNI = Map[Pred].first) { 301 if (TheVNI && TheVNI != VNI) 303 TheVNI = VNI; 313 VNInfo *VNI = LR.extendInBlock(Start, End); 314 setLiveOutValue(Pred, VNI); 315 if (VNI) { 316 if (TheVNI && TheVNI != VNI) 318 TheVNI = VNI; 439 VNInfo *VNI = LR.getNextValue(Start, *Alloc); 440 I.Value = VNI; [all...] |
LiveIntervalAnalysis.cpp | 335 VNInfo *VNI = LR->createDeadDef(Begin, getVNInfoAllocator()); 336 (void)VNI; 337 DEBUG(dbgs() << ' ' << PrintRegUnit(Unit, TRI) << '#' << VNI->id); 354 for (auto VNI : VNIs) { 355 if (VNI->isUnused()) 357 SlotIndex Def = VNI->def; 358 LR.addSegment(LiveRange::Segment(Def, Def.getDeadSlot(), VNI)); 375 VNInfo *VNI = WorkList.back().second; 380 // Extend the live range for VNI to be live at Idx. 382 assert(ExtVNI == VNI && "Unexpected existing value number") [all...] |
MachineVerifier.cpp | 219 void report_context(const VNInfo &VNI) const; 454 void MachineVerifier::report_context(const VNInfo &VNI) const { 455 errs() << "- ValNo: " << VNI.id << " (def " << VNI.def << ")\n"; [all...] |
LiveRangeCalc.h | 44 /// 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) { 213 Map[MBB] = LiveOutPair(VNI, nullptr);
|
RegisterCoalescer.cpp | [all...] |
LiveRangeEdit.cpp | 51 bool LiveRangeEdit::checkRematerializable(VNInfo *VNI, 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);
|
LiveDebugVariables.cpp | 223 /// range of VNI. 224 /// End points where VNI is no longer live are added to Kills. 227 /// @param LR Restrict liveness to where LR has the value VNI. May be null. 228 /// @param VNI When LR is not null, this is the value to restrict to. 229 /// @param Kills Append end points of VNI's live range to Kills. 233 LiveRange *LR, const VNInfo *VNI, 540 const VNInfo *VNI, SmallVectorImpl<SlotIndex> *Kills, 548 // Limit to VNI's live range. 550 if (LR && VNI) { 552 if (!Segment || Segment->valno != VNI) { [all...] |
PHIElimination.cpp | 477 VNInfo *VNI = SrcLI.getVNInfoAt(startIdx); 480 if (VNI && VNI->def != startIdx) {
|
MachineBasicBlock.cpp | 911 VNInfo *VNI = LI.getVNInfoAt(PrevIndex); 912 assert(VNI && 914 LI.addSegment(LiveInterval::Segment(StartIndex, EndIndex, VNI)); [all...] |
MachineScheduler.cpp | [all...] |
TwoAddressInstructionPass.cpp | [all...] |
/external/llvm/include/llvm/CodeGen/ |
LiveInterval.h | 233 for (const VNInfo *VNI : Other.valnos) { 234 createValueCopy(VNI, Allocator); 300 /// containsValue - Returns true if VNI belongs to this range. 301 bool containsValue(const VNInfo *VNI) const { 302 return VNI && VNI->id < getNumValNums() && VNI == getValNumInfo(VNI->id); 308 VNInfo *VNI = 310 valnos.push_back(VNI); [all...] |
LiveRangeEdit.h | 170 /// checkRematerializable - Manually add VNI to the list of rematerializable 172 bool checkRematerializable(VNInfo *VNI, const MachineInstr *DefMI,
|
LiveIntervalAnalysis.h | 277 /// Returns true if VNI is killed by any PHI-def values in LI. 279 bool hasPHIKill(const LiveInterval &LI, const VNInfo *VNI) const;
|