/external/llvm/lib/CodeGen/ |
H A D | LiveRangeUtils.h | 48 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 D | LiveRangeCalc.h | 44 /// 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 D | CalcSpillWeights.cpp | 85 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 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; 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 D | LiveRangeCalc.cpp | 137 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 D | LiveRangeEdit.cpp | 51 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 D | RenameIndependentSubregs.cpp | 192 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 D | PHIElimination.cpp | 476 VNInfo *VNI = SrcLI.getVNInfoAt(startIdx); local 479 if (VNI && VNI->def != startIdx) {
|
H A D | LiveDebugVariables.cpp | 226 /// 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 D | MachineBasicBlock.cpp | 889 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 D | SplitKit.cpp | 95 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 D | InlineSpiller.cpp | 77 // 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 D | LiveIntervalAnalysis.cpp | 324 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 D | MachineVerifier.cpp | 219 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 D | TwoAddressInstructionPass.cpp | 1524 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 D | LiveRangeCalc.h | 44 /// 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 D | LiveRangeCalc.cpp | 37 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 D | LiveRangeEdit.cpp | 44 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 D | InlineSpiller.cpp | 117 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 D | LiveDebugVariables.cpp | 216 /// 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 D | MachineVerifier.cpp | 716 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 D | SplitKit.cpp | 350 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 D | LiveIntervalAnalysis.cpp | 770 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 D | RegisterCoalescer.cpp | 1315 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 D | LiveInterval.h | 85 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...] |