/external/llvm/lib/CodeGen/ |
H A D | 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) { argument 213 Map[MBB] = LiveOutPair(VNI, nullptr);
|
H A D | CalcSpillWeights.cpp | 80 const VNInfo *VNI = *I; local 81 if (VNI->isUnused()) 83 if (VNI->isPHIDef()) 86 MachineInstr *MI = LIS.getInstructionFromIndex(VNI->def);
|
H A D | LiveInterval.cpp | 67 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 D | LiveRangeCalc.cpp | 293 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 D | LiveRangeEdit.cpp | 51 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 D | PHIElimination.cpp | 477 VNInfo *VNI = SrcLI.getVNInfoAt(startIdx); local 480 if (VNI && VNI->def != startIdx) {
|
H A D | InlineSpiller.cpp | 122 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 D | LiveDebugVariables.cpp | 225 /// 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 D | LiveIntervalAnalysis.cpp | 318 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 D | MachineBasicBlock.cpp | 865 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 D | SplitKit.cpp | 93 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 D | TwoAddressInstructionPass.cpp | 1492 VNInfo *VNI = LI.getNextValue(LastCopyIdx, LIS->getVNInfoAllocator()); local 1495 LI.addSegment(LiveInterval::Segment(LastCopyIdx, endIdx, VNI));
|
H A D | MachineVerifier.cpp | 1115 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 D | ScheduleDAGInstrs.cpp | 431 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 D | MachineScheduler.cpp | 967 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 D | RegisterCoalescer.cpp | 1080 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...] |