/external/llvm/lib/CodeGen/ |
D | InlineSpiller.cpp | 122 SibValueInfo(unsigned Reg, VNInfo *VNI) in SibValueInfo() 124 SpillReg(Reg), SpillVNI(VNI), SpillMBB(nullptr), DefMI(nullptr) {} in SibValueInfo() 165 void propagateSiblingValue(SibValueMap::iterator, VNInfo *VNI = nullptr); 169 void eliminateRedundantSpills(LiveInterval &LI, VNInfo *VNI); 349 VNInfo *VNI) { in propagateSiblingValue() argument 354 if (VNI) { in propagateSiblingValue() 355 FirstDeps.push_back(VNI); in propagateSiblingValue() 356 SVI->second.Deps.push_back(VNI); in propagateSiblingValue() 369 TinyPtrVector<VNInfo*> *Deps = VNI ? &FirstDeps : &SVI->second.Deps; in propagateSiblingValue() 370 VNI = nullptr; in propagateSiblingValue() [all …]
|
D | SplitKit.cpp | 93 const VNInfo *VNI = CurLI->getVNInfoBefore(MBBEnd); in computeLastSplitPoint() local 94 if (!VNI) in computeLastSplitPoint() 101 if (!SlotIndex::isEarlierInstr(VNI->def, LSP.second) && VNI->def < MBBEnd) in computeLastSplitPoint() 123 for (const VNInfo *VNI : CurLI->valnos) in analyzeUses() local 124 if (!VNI->isPHIDef() && !VNI->isUnused()) in analyzeUses() 125 UseSlots.push_back(VNI->def); in analyzeUses() 368 VNInfo *VNI = LI->getNextValue(Idx, LIS.getVNInfoAllocator()); in defValue() local 373 ValueForcePair(VNI, false))); in defValue() 378 return VNI; in defValue() 389 SlotIndex Def = VNI->def; in defValue() [all …]
|
D | LiveInterval.cpp | 67 VNInfo *VNI = LR->getNextValue(Def, VNInfoAllocator); in createDeadDef() local 68 impl().insertAtEnd(Segment(Def, Def.getDeadSlot(), VNI)); in createDeadDef() 69 return VNI; in createDeadDef() 87 VNInfo *VNI = LR->getNextValue(Def, VNInfoAllocator); in createDeadDef() local 88 segments().insert(I, Segment(Def, Def.getDeadSlot(), VNI)); in createDeadDef() 89 return VNI; in createDeadDef() 479 VNInfo *VNI = S.valno; in RenumberValues() local 480 if (!Seen.insert(VNI).second) in RenumberValues() 482 assert(!VNI->isUnused() && "Unused valno used by live segment"); in RenumberValues() 483 VNI->id = (unsigned)valnos.size(); in RenumberValues() [all …]
|
D | LiveIntervalAnalysis.cpp | 318 VNInfo *VNI = LR->createDeadDef(Begin, getVNInfoAllocator()); in computeLiveInRegUnits() local 319 (void)VNI; in computeLiveInRegUnits() 320 DEBUG(dbgs() << ' ' << PrintRegUnit(Unit, TRI) << '#' << VNI->id); in computeLiveInRegUnits() 337 for (auto VNI : VNIs) { in createSegmentsForValues() local 338 if (VNI->isUnused()) in createSegmentsForValues() 340 SlotIndex Def = VNI->def; in createSegmentsForValues() 341 LR.addSegment(LiveRange::Segment(Def, Def.getDeadSlot(), VNI)); in createSegmentsForValues() 358 VNInfo *VNI = WorkList.back().second; in extendSegmentsToUses() local 365 assert(ExtVNI == VNI && "Unexpected existing value number"); in extendSegmentsToUses() 368 if (!VNI->isPHIDef() || VNI->def != BlockStart || in extendSegmentsToUses() [all …]
|
D | MachineVerifier.cpp | 1115 if (const VNInfo *VNI = LI.getVNInfoAt(DefIdx)) { in checkLiveness() local 1116 assert(VNI && "NULL valno is not allowed"); in checkLiveness() 1117 if (VNI->def != DefIdx) { in checkLiveness() 1119 errs() << "Valno " << VNI->id << " is not defined at " in checkLiveness() 1379 const VNInfo *VNI, unsigned Reg, in verifyLiveRangeValue() argument 1381 if (VNI->isUnused()) in verifyLiveRangeValue() 1384 const VNInfo *DefVNI = LR.getVNInfoAt(VNI->def); in verifyLiveRangeValue() 1389 errs() << "Valno #" << VNI->id << '\n'; in verifyLiveRangeValue() 1393 if (DefVNI != VNI) { in verifyLiveRangeValue() 1395 errs() << "Valno #" << VNI->id << " is defined at " << VNI->def in verifyLiveRangeValue() [all …]
|
D | LiveRangeCalc.cpp | 293 if (VNInfo *VNI = Map[Pred].first) { in findReachingDefs() local 294 if (TheVNI && TheVNI != VNI) in findReachingDefs() 296 TheVNI = VNI; in findReachingDefs() 306 VNInfo *VNI = LR.extendInBlock(Start, End); in findReachingDefs() local 307 setLiveOutValue(Pred, VNI); in findReachingDefs() 308 if (VNI) { in findReachingDefs() 309 if (TheVNI && TheVNI != VNI) in findReachingDefs() 311 TheVNI = VNI; in findReachingDefs() 432 VNInfo *VNI = LR.getNextValue(Start, *Alloc); in updateSSA() local 433 I.Value = VNI; in updateSSA() [all …]
|
D | RegisterCoalescer.cpp | 1080 VNInfo *VNI = DstLI.getVNInfoAt(RegIndex); in eliminateUndefCopy() local 1081 DstLI.MergeValueNumberInto(VNI, PrevVNI); in eliminateUndefCopy() 1694 std::pair<const VNInfo*,unsigned> followCopyChain(const VNInfo *VNI) const; 1802 const VNInfo *VNI) const { in followCopyChain() 1805 while (!VNI->isPHIDef()) { in followCopyChain() 1806 SlotIndex Def = VNI->def; in followCopyChain() 1810 return std::make_pair(VNI, Reg); in followCopyChain() 1813 return std::make_pair(VNI, Reg); in followCopyChain() 1836 VNI = ValueIn; in followCopyChain() 1839 return std::make_pair(VNI, Reg); in followCopyChain() [all …]
|
D | CalcSpillWeights.cpp | 80 const VNInfo *VNI = *I; in isRematerializable() local 81 if (VNI->isUnused()) in isRematerializable() 83 if (VNI->isPHIDef()) in isRematerializable() 86 MachineInstr *MI = LIS.getInstructionFromIndex(VNI->def); in isRematerializable()
|
D | LiveRangeEdit.cpp | 51 bool LiveRangeEdit::checkRematerializable(VNInfo *VNI, in checkRematerializable() argument 58 Remattable.insert(VNI); in checkRematerializable() 63 for (VNInfo *VNI : getParent().valnos) { in scanRemattable() 64 if (VNI->isUnused()) in scanRemattable() 66 MachineInstr *DefMI = LIS.getInstructionFromIndex(VNI->def); in scanRemattable() 69 checkRematerializable(VNI, DefMI, aa); in scanRemattable()
|
D | LiveRangeCalc.h | 211 void setLiveOutValue(MachineBasicBlock *MBB, VNInfo *VNI) { in setLiveOutValue() argument 213 Map[MBB] = LiveOutPair(VNI, nullptr); in setLiveOutValue()
|
D | LiveDebugVariables.cpp | 235 LiveRange *LR, const VNInfo *VNI, 540 LiveRange *LR, const VNInfo *VNI, in extendDef() argument 554 if (LR && VNI) { in extendDef() 556 if (!Segment || Segment->valno != VNI) { in extendDef() 698 const VNInfo *VNI = nullptr; in computeIntervals() local 701 VNI = LI->getVNInfoAt(Idx); in computeIntervals() 704 extendDef(Idx, LocNo, LI, VNI, &Kills, LIS, MDT, UVS); in computeIntervals() 713 const VNInfo *VNI = LR->getVNInfoAt(Idx); in computeIntervals() local 715 extendDef(Idx, LocNo, LR, VNI, nullptr, LIS, MDT, UVS); in computeIntervals()
|
D | MachineBasicBlock.cpp | 865 VNInfo *VNI = LI.getVNInfoAt(PrevIndex); in SplitCriticalEdge() local 866 assert(VNI && "PHI sources should be live out of their predecessors."); in SplitCriticalEdge() 867 LI.addSegment(LiveInterval::Segment(StartIndex, EndIndex, VNI)); in SplitCriticalEdge() 884 VNInfo *VNI = LI.getVNInfoAt(PrevIndex); in SplitCriticalEdge() local 885 assert(VNI && "LiveInterval should have VNInfo where it is live."); in SplitCriticalEdge() 886 LI.addSegment(LiveInterval::Segment(StartIndex, EndIndex, VNI)); in SplitCriticalEdge()
|
D | PHIElimination.cpp | 477 VNInfo *VNI = SrcLI.getVNInfoAt(startIdx); in LowerPHINode() local 480 if (VNI && VNI->def != startIdx) { in LowerPHINode()
|
D | ScheduleDAGInstrs.cpp | 431 VNInfo *VNI = LRQ.valueIn(); in addVRegUseDeps() local 434 assert(VNI && "No value to read by operand"); in addVRegUseDeps() 435 MachineInstr *Def = LIS->getInstructionFromIndex(VNI->def); in addVRegUseDeps()
|
D | MachineScheduler.cpp | 967 VNInfo *VNI; in updatePressureDiffs() local 971 VNI = LI.getVNInfoBefore(LIS->getMBBEndIdx(BB)); in updatePressureDiffs() 974 VNI = LRQ.valueIn(); in updatePressureDiffs() 977 assert(VNI && "No live value at use."); in updatePressureDiffs() 988 if (LRQ.valueIn() == VNI) in updatePressureDiffs()
|
D | TwoAddressInstructionPass.cpp | 1492 VNInfo *VNI = LI.getNextValue(LastCopyIdx, LIS->getVNInfoAllocator()); in processTiedPairs() local 1495 LI.addSegment(LiveInterval::Segment(LastCopyIdx, endIdx, VNI)); in processTiedPairs()
|
/external/llvm/include/llvm/CodeGen/ |
D | LiveInterval.h | 232 for (const VNInfo *VNI : Other.valnos) { in LiveRange() local 233 createValueCopy(VNI, Allocator); in LiveRange() 300 bool containsValue(const VNInfo *VNI) const { in containsValue() argument 301 return VNI && VNI->id < getNumValNums() && VNI == getValNumInfo(VNI->id); in containsValue() 307 VNInfo *VNI = in getNextValue() local 309 valnos.push_back(VNI); in getNextValue() 310 return VNI; in getNextValue() 322 VNInfo *VNI = in createValueCopy() local 324 valnos.push_back(VNI); in createValueCopy() 325 return VNI; in createValueCopy() [all …]
|
D | LiveRangeEdit.h | 168 bool checkRematerializable(VNInfo *VNI, const MachineInstr *DefMI,
|
D | LiveIntervalAnalysis.h | 283 bool hasPHIKill(const LiveInterval &LI, const VNInfo *VNI) const;
|