/external/swiftshader/third_party/LLVM/lib/CodeGen/ |
D | LiveRangeCalc.cpp | 37 VNInfo *VNI = OverrideVNI ? OverrideVNI : I->Value; in updateLiveIns() local 38 assert(VNI && "No live-in value found"); in updateLiveIns() 44 I->LI->addRange(LiveRange(Start, I->Kill, VNI)); in updateLiveIns() 46 I->LI->addRange(LiveRange(Start, End, VNI)); in updateLiveIns() 50 LiveOut[MBB] = LiveOutPair(VNI, (MachineDomTreeNode *)0); in updateLiveIns() 78 VNInfo *VNI = findReachingDefs(LI, KillMBB, Kill, Indexes, DomTree); in extend() local 81 if (!VNI) in extend() 84 updateLiveIns(VNI, Indexes); in extend() 123 if (VNInfo *VNI = LiveOut[Pred].first) { in findReachingDefs() local 124 if (TheVNI && TheVNI != VNI) in findReachingDefs() [all …]
|
D | InlineSpiller.cpp | 117 SibValueInfo(unsigned Reg, VNInfo *VNI) in SibValueInfo() 119 SpillReg(Reg), SpillVNI(VNI), SpillMBB(0), DefMI(0) {} in SibValueInfo() 165 void propagateSiblingValue(SibValueMap::iterator, VNInfo *VNI = 0); 169 void eliminateRedundantSpills(LiveInterval &LI, VNInfo *VNI); 345 VNInfo *VNI) { in propagateSiblingValue() argument 348 if (VNI) { in propagateSiblingValue() 349 FirstDeps.push_back(VNI); in propagateSiblingValue() 350 SVI->second.Deps.push_back(VNI); in propagateSiblingValue() 365 TinyPtrVector<VNInfo*> *Deps = VNI ? &FirstDeps : &SVI->second.Deps; in propagateSiblingValue() 366 VNI = 0; in propagateSiblingValue() [all …]
|
D | SplitKit.cpp | 354 VNInfo *VNI = LI->getNextValue(Idx, 0, LIS.getVNInfoAllocator()); in defValue() local 359 ValueForcePair(VNI, false))); in defValue() 364 return VNI; in defValue() 375 SlotIndex Def = VNI->def; in defValue() 376 LI->addRange(LiveRange(Def, Def.getNextSlot(), VNI)); in defValue() 378 return VNI; in defValue() 384 VNInfo *VNI = VFP.getPointer(); in forceRecompute() local 388 if (!VNI) { in forceRecompute() 395 SlotIndex Def = VNI->def; in forceRecompute() 396 Edit->get(RegIdx)->addRange(LiveRange(Def, Def.getNextSlot(), VNI)); in forceRecompute() [all …]
|
D | LiveInterval.cpp | 153 VNInfo *VNI = I->valno; in RenumberValues() local 154 if (!Seen.insert(VNI)) in RenumberValues() 156 assert(!VNI->isUnused() && "Unused valno used by live range"); in RenumberValues() 157 VNI->id = (unsigned)valnos.size(); in RenumberValues() 158 valnos.push_back(VNI); in RenumberValues() 427 VNInfo *VNI = NewVNInfo[i]; in join() local 428 if (VNI) { in join() 430 valnos.push_back(VNI); in join() 432 valnos[NumValNos] = VNI; in join() 433 VNI->id = NumValNos++; // Renumber val#. in join() [all …]
|
D | MachineVerifier.cpp | 716 if (const VNInfo *VNI = LI.getVNInfoAt(DefIdx)) { in visitMachineOperand() local 717 assert(VNI && "NULL valno is not allowed"); in visitMachineOperand() 718 if (VNI->def != DefIdx && !MO->isEarlyClobber()) { in visitMachineOperand() 720 *OS << "Valno " << VNI->id << " is not defined at " in visitMachineOperand() 1025 VNInfo *VNI = *I; in verifyLiveIntervals() local 1026 const VNInfo *DefVNI = LI.getVNInfoAt(VNI->def); in verifyLiveIntervals() 1029 if (!VNI->isUnused()) { in verifyLiveIntervals() 1031 *OS << "Valno #" << VNI->id << " in " << LI << '\n'; in verifyLiveIntervals() 1036 if (VNI->isUnused()) in verifyLiveIntervals() 1039 if (DefVNI != VNI) { in verifyLiveIntervals() [all …]
|
D | LiveIntervalAnalysis.cpp | 770 VNInfo *VNI = li->getVNInfoAt(Idx); in shrinkToUses() local 771 if (!VNI) { in shrinkToUses() 780 if (VNI->def == Idx) { in shrinkToUses() 784 VNI = li->getVNInfoAt(Idx); in shrinkToUses() 785 assert(VNI && "Early-clobber tied value not available"); in shrinkToUses() 787 WorkList.push_back(std::make_pair(Idx, VNI)); in shrinkToUses() 794 VNInfo *VNI = *I; in shrinkToUses() local 795 if (VNI->isUnused()) in shrinkToUses() 797 NewLI.addRange(LiveRange(VNI->def, VNI->def.getNextSlot(), VNI)); in shrinkToUses() 802 if (VNI->def.isUse()) in shrinkToUses() [all …]
|
D | RegisterCoalescer.cpp | 1315 static unsigned ComputeUltimateVN(VNInfo *VNI, in ComputeUltimateVN() argument 1321 unsigned VN = VNI->id; in ComputeUltimateVN() 1330 DenseMap<VNInfo*, VNInfo*>::iterator I = ThisFromOther.find(VNI); in ComputeUltimateVN() 1332 NewVNInfo.push_back(VNI); in ComputeUltimateVN() 1365 VNInfo *VNI, in RegistersDefinedFromSameValue() argument 1371 MachineInstr *MI = VNI->getCopy(); in RegistersDefinedFromSameValue() 1415 if (SrcInt.getVNInfoBefore(Other->def) != SrcInt.getVNInfoBefore(VNI->def)) in RegistersDefinedFromSameValue() 1487 VNInfo *VNI = *i; in JoinIntervals() local 1488 if (VNI->isUnused() || !VNI->isDefByCopy()) // Src not defined by a copy? in JoinIntervals() 1492 if (VNI->hasRedefByEC()) in JoinIntervals() [all …]
|
/external/llvm/lib/CodeGen/ |
D | SplitKit.cpp | 95 const VNInfo *VNI = CurLI.getVNInfoBefore(MBBEnd); in computeLastInsertPoint() local 96 if (!VNI) in computeLastInsertPoint() 103 if (!SlotIndex::isEarlierInstr(VNI->def, LIP.second) && VNI->def < MBBEnd) in computeLastInsertPoint() 144 for (const VNInfo *VNI : CurLI->valnos) in analyzeUses() local 145 if (!VNI->isPHIDef() && !VNI->isUnused()) in analyzeUses() 146 UseSlots.push_back(VNI->def); in analyzeUses() 393 VNInfo *VNI = LI->getNextValue(Idx, LIS.getVNInfoAllocator()); in defValue() local 398 ValueForcePair(VNI, false))); in defValue() 403 return VNI; in defValue() 414 SlotIndex Def = VNI->def; in defValue() [all …]
|
D | LiveRangeCalc.cpp | 137 for (const VNInfo *VNI : SR.valnos) { in constructMainRangeFromSubranges() local 138 if (!VNI->isUnused() && !VNI->isPHIDef()) in constructMainRangeFromSubranges() 139 MainRange.createDeadDef(VNI->def, *Alloc); in constructMainRangeFromSubranges() 316 if (VNInfo *VNI = Map[Pred].first) { in findReachingDefs() local 317 if (TheVNI && TheVNI != VNI) in findReachingDefs() 319 TheVNI = VNI; in findReachingDefs() 329 VNInfo *VNI = LR.extendInBlock(Start, End); in findReachingDefs() local 330 setLiveOutValue(Pred, VNI); in findReachingDefs() 331 if (VNI) { in findReachingDefs() 332 if (TheVNI && TheVNI != VNI) in findReachingDefs() [all …]
|
D | LiveIntervalAnalysis.cpp | 324 VNInfo *VNI = LR->createDeadDef(Begin, getVNInfoAllocator()); in computeLiveInRegUnits() local 325 (void)VNI; in computeLiveInRegUnits() 326 DEBUG(dbgs() << ' ' << PrintRegUnit(Unit, TRI) << '#' << VNI->id); in computeLiveInRegUnits() 343 for (auto VNI : VNIs) { in createSegmentsForValues() local 344 if (VNI->isUnused()) in createSegmentsForValues() 346 SlotIndex Def = VNI->def; in createSegmentsForValues() 347 LR.addSegment(LiveRange::Segment(Def, Def.getDeadSlot(), VNI)); in createSegmentsForValues() 364 VNInfo *VNI = WorkList.back().second; in extendSegmentsToUses() local 371 assert(ExtVNI == VNI && "Unexpected existing value number"); in extendSegmentsToUses() 374 if (!VNI->isPHIDef() || VNI->def != BlockStart || in extendSegmentsToUses() [all …]
|
D | CalcSpillWeights.cpp | 85 const VNInfo *VNI = *I; in isRematerializable() local 86 if (VNI->isUnused()) in isRematerializable() 88 if (VNI->isPHIDef()) in isRematerializable() 91 MachineInstr *MI = LIS.getInstructionFromIndex(VNI->def); in isRematerializable() 114 LiveQueryResult SrcQ = SrcLI.Query(VNI->def); in isRematerializable() 115 VNI = SrcQ.valueIn(); in isRematerializable() 116 assert(VNI && "Copy from non-existing value"); in isRematerializable() 117 if (VNI->isPHIDef()) in isRematerializable() 119 MI = LIS.getInstructionFromIndex(VNI->def); in isRematerializable()
|
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() 481 VNInfo *VNI = S.valno; in RenumberValues() local 482 if (!Seen.insert(VNI).second) in RenumberValues() 484 assert(!VNI->isUnused() && "Unused valno used by live segment"); in RenumberValues() 485 VNI->id = (unsigned)valnos.size(); in RenumberValues() [all …]
|
D | LiveRangeUtils.h | 48 VNInfo *VNI = LR.getValNumInfo(i); in DistributeRange() local 50 VNI->id = SplitLRs[eq-1]->getNumValNums(); in DistributeRange() 51 SplitLRs[eq-1]->valnos.push_back(VNI); in DistributeRange() 53 VNI->id = j; in DistributeRange() 54 LR.valnos[j++] = VNI; in DistributeRange()
|
D | MachineVerifier.cpp | 219 void report_context(const VNInfo &VNI) const; 489 void MachineVerifier::report_context(const VNInfo &VNI) const { in report_context() 490 errs() << "- ValNo: " << VNI.id << " (def " << VNI.def << ")\n"; in report_context() 1135 if (const VNInfo *VNI = LR.getVNInfoAt(DefIdx)) { in checkLivenessAtDef() local 1136 assert(VNI && "NULL valno is not allowed"); in checkLivenessAtDef() 1137 if (VNI->def != DefIdx) { in checkLivenessAtDef() 1143 report_context(*VNI); in checkLivenessAtDef() 1582 const VNInfo *VNI, unsigned Reg, in verifyLiveRangeValue() argument 1584 if (VNI->isUnused()) in verifyLiveRangeValue() 1587 const VNInfo *DefVNI = LR.getVNInfoAt(VNI->def); in verifyLiveRangeValue() [all …]
|
D | RenameIndependentSubregs.cpp | 192 const VNInfo *VNI = SR.getVNInfoAt(Pos); in findComponents() local 193 if (VNI == nullptr) in findComponents() 197 unsigned LocalID = SRInfo.ConEQ.getEqClass(VNI); in findComponents() 237 const VNInfo &VNI = *I->valno; in rewriteOperands() local 239 unsigned LocalID = SRInfo.ConEQ.getEqClass(&VNI); in rewriteOperands() 268 const VNInfo &VNI = *SR.valnos[I]; in distribute() local 269 unsigned LocalID = SRInfo.ConEQ.getEqClass(&VNI); in distribute() 307 const VNInfo &VNI = *SR.valnos[I]; in computeMainRangesFixFlags() local 308 if (VNI.isUnused() || !VNI.isPHIDef()) in computeMainRangesFixFlags() 311 SlotIndex Def = VNI.def; in computeMainRangesFixFlags()
|
/external/swiftshader/third_party/llvm-7.0/llvm/lib/CodeGen/ |
D | SplitKit.cpp | 123 const VNInfo *VNI = CurLI.getVNInfoBefore(MBBEnd); in computeLastInsertPoint() local 124 if (!VNI) in computeLastInsertPoint() 131 if (!SlotIndex::isEarlierInstr(VNI->def, LIP.second) && VNI->def < MBBEnd) in computeLastInsertPoint() 171 for (const VNInfo *VNI : CurLI->valnos) in analyzeUses() local 172 if (!VNI->isPHIDef() && !VNI->isUnused()) in analyzeUses() 173 UseSlots.push_back(VNI->def); in analyzeUses() 416 void SplitEditor::addDeadDef(LiveInterval &LI, VNInfo *VNI, bool Original) { in addDeadDef() argument 418 LI.createDeadDef(VNI); in addDeadDef() 422 SlotIndex Def = VNI->def; in addDeadDef() 467 VNInfo *VNI = LI->getNextValue(Idx, LIS.getVNInfoAllocator()); in defValue() local [all …]
|
D | LiveRangeCalc.cpp | 138 for (const VNInfo *VNI : SR.valnos) { in constructMainRangeFromSubranges() local 139 if (!VNI->isUnused() && !VNI->isPHIDef()) in constructMainRangeFromSubranges() 140 MainRange.createDeadDef(VNI->def, *Alloc); in constructMainRangeFromSubranges() 390 if (VNInfo *VNI = Map[Pred].first) { in findReachingDefs() local 391 if (TheVNI && TheVNI != VNI) in findReachingDefs() 393 TheVNI = VNI; in findReachingDefs() 404 VNInfo *VNI = EP.first; in findReachingDefs() local 406 setLiveOutValue(Pred, EP.second ? &UndefVNI : VNI); in findReachingDefs() 407 if (VNI) { in findReachingDefs() 408 if (TheVNI && TheVNI != VNI) in findReachingDefs() [all …]
|
D | LiveIntervals.cpp | 337 VNInfo *VNI = LR->createDeadDef(Begin, getVNInfoAllocator()); in computeLiveInRegUnits() local 338 (void)VNI; in computeLiveInRegUnits() 339 LLVM_DEBUG(dbgs() << ' ' << printRegUnit(Unit, TRI) << '#' << VNI->id); in computeLiveInRegUnits() 353 for (VNInfo *VNI : VNIs) { in createSegmentsForValues() 354 if (VNI->isUnused()) in createSegmentsForValues() 356 SlotIndex Def = VNI->def; in createSegmentsForValues() 357 LR.addSegment(LiveRange::Segment(Def, Def.getDeadSlot(), VNI)); in createSegmentsForValues() 388 VNInfo *VNI = WorkList.back().second; in extendSegmentsToUses() local 395 assert(ExtVNI == VNI && "Unexpected existing value number"); in extendSegmentsToUses() 398 if (!VNI->isPHIDef() || VNI->def != BlockStart || in extendSegmentsToUses() [all …]
|
D | LiveInterval.cpp | 95 VNInfo *VNI = ForVNI ? ForVNI : LR->getNextValue(Def, *VNInfoAllocator); in createDeadDef() local 96 impl().insertAtEnd(Segment(Def, Def.getDeadSlot(), VNI)); in createDeadDef() 97 return VNI; in createDeadDef() 116 VNInfo *VNI = ForVNI ? ForVNI : LR->getNextValue(Def, *VNInfoAllocator); in createDeadDef() local 117 segments().insert(I, Segment(Def, Def.getDeadSlot(), VNI)); in createDeadDef() 118 return VNI; in createDeadDef() 381 VNInfo *LiveRange::createDeadDef(VNInfo *VNI) { in createDeadDef() argument 384 return CalcLiveRangeUtilSet(this).createDeadDef(VNI->def, nullptr, VNI); in createDeadDef() 386 return CalcLiveRangeUtilVector(this).createDeadDef(VNI->def, nullptr, VNI); in createDeadDef() 538 VNInfo *VNI = S.valno; in RenumberValues() local [all …]
|
D | LiveRangeUtils.h | 48 VNInfo *VNI = LR.getValNumInfo(i); in DistributeRange() local 50 VNI->id = SplitLRs[eq-1]->getNumValNums(); in DistributeRange() 51 SplitLRs[eq-1]->valnos.push_back(VNI); in DistributeRange() 53 VNI->id = j; in DistributeRange() 54 LR.valnos[j++] = VNI; in DistributeRange()
|
D | RenameIndependentSubregs.cpp | 192 const VNInfo *VNI = SR.getVNInfoAt(Pos); in findComponents() local 193 if (VNI == nullptr) in findComponents() 197 unsigned LocalID = SRInfo.ConEQ.getEqClass(VNI); in findComponents() 234 const VNInfo *VNI = SR.getVNInfoAt(Pos); in rewriteOperands() local 235 if (VNI == nullptr) in rewriteOperands() 239 unsigned LocalID = SRInfo.ConEQ.getEqClass(VNI); in rewriteOperands() 280 const VNInfo &VNI = *SR.valnos[I]; in distribute() local 281 unsigned LocalID = SRInfo.ConEQ.getEqClass(&VNI); in distribute() 319 const VNInfo &VNI = *SR.valnos[I]; in computeMainRangesFixFlags() local 320 if (VNI.isUnused() || !VNI.isPHIDef()) in computeMainRangesFixFlags() [all …]
|
D | CalcSpillWeights.cpp | 102 const VNInfo *VNI = *I; in isRematerializable() local 103 if (VNI->isUnused()) in isRematerializable() 105 if (VNI->isPHIDef()) in isRematerializable() 108 MachineInstr *MI = LIS.getInstructionFromIndex(VNI->def); in isRematerializable() 131 LiveQueryResult SrcQ = SrcLI.Query(VNI->def); in isRematerializable() 132 VNI = SrcQ.valueIn(); in isRematerializable() 133 assert(VNI && "Copy from non-existing value"); in isRematerializable() 134 if (VNI->isPHIDef()) in isRematerializable() 136 MI = LIS.getInstructionFromIndex(VNI->def); in isRematerializable()
|
/external/swiftshader/third_party/LLVM/include/llvm/CodeGen/ |
D | LiveInterval.h | 85 void mergeFlags(const VNInfo *VNI) { in mergeFlags() argument 86 flags = (flags | VNI->flags) & ~IS_UNUSED; in mergeFlags() 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); 302 return VNI; 309 VNInfo *VNI = 311 valnos.push_back(VNI); 312 return VNI; [all …]
|
/external/llvm/include/llvm/CodeGen/ |
D | LiveInterval.h | 233 for (const VNInfo *VNI : Other.valnos) { in LiveRange() local 234 createValueCopy(VNI, Allocator); in LiveRange() 301 bool containsValue(const VNInfo *VNI) const { in containsValue() argument 302 return VNI && VNI->id < getNumValNums() && VNI == getValNumInfo(VNI->id); in containsValue() 308 VNInfo *VNI = in getNextValue() local 310 valnos.push_back(VNI); in getNextValue() 311 return VNI; in getNextValue() 323 VNInfo *VNI = in createValueCopy() local 325 valnos.push_back(VNI); in createValueCopy() 326 return VNI; in createValueCopy() [all …]
|
/external/swiftshader/third_party/llvm-7.0/llvm/include/llvm/CodeGen/ |
D | LiveInterval.h | 247 for (const VNInfo *VNI : Other.valnos) in assign() local 248 createValueCopy(VNI, Allocator); in assign() 313 bool containsValue(const VNInfo *VNI) const { in containsValue() argument 314 return VNI && VNI->id < getNumValNums() && VNI == getValNumInfo(VNI->id); in containsValue() 320 VNInfo *VNI = in getNextValue() local 322 valnos.push_back(VNI); in getNextValue() 323 return VNI; in getNextValue() 333 VNInfo *createDeadDef(VNInfo *VNI); 339 VNInfo *VNI = in createValueCopy() local 341 valnos.push_back(VNI); in createValueCopy() [all …]
|