Lines Matching refs:VNI

120   const VNInfo *VNI = CurLI.getVNInfoBefore(MBBEnd);  in computeLastInsertPoint()  local
121 if (!VNI) in computeLastInsertPoint()
126 if (SlotIndex::isSameInstr(VNI->def, LIP.second)) in computeLastInsertPoint()
134 if (!SlotIndex::isEarlierInstr(VNI->def, LIP.second) && VNI->def < MBBEnd) in computeLastInsertPoint()
173 for (const VNInfo *VNI : CurLI->valnos) in analyzeUses() local
174 if (!VNI->isPHIDef() && !VNI->isUnused()) in analyzeUses()
175 UseSlots.push_back(VNI->def); in analyzeUses()
430 void SplitEditor::addDeadDef(LiveInterval &LI, VNInfo *VNI, bool Original) { in addDeadDef() argument
432 LI.createDeadDef(VNI); in addDeadDef()
436 SlotIndex Def = VNI->def; in addDeadDef()
481 VNInfo *VNI = LI->getNextValue(Idx, LIS.getVNInfoAllocator()); in defValue() local
484 ValueForcePair FP(Force ? nullptr : VNI, Force); in defValue()
492 return VNI; in defValue()
504 addDeadDef(*LI, VNI, Original); in defValue()
505 return VNI; in defValue()
510 VNInfo *VNI = VFP.getPointer(); in forceRecompute() local
514 if (!VNI) { in forceRecompute()
521 addDeadDef(LIS.getInterval(Edit->get(RegIdx)), VNI, false); in forceRecompute()
677 VNInfo *VNI = defFromParent(OpenIdx, ParentVNI, Idx, *MI->getParent(), MI); in enterIntvBefore() local
678 return VNI->def; in enterIntvBefore()
694 VNInfo *VNI = defFromParent(OpenIdx, ParentVNI, Idx, *MI->getParent(), in enterIntvAfter() local
696 return VNI->def; in enterIntvAfter()
728 VNInfo *VNI = defFromParent(OpenIdx, ParentVNI, Last, MBB, in enterIntvAtEnd() local
730 RegAssign.insert(VNI->def, End, OpenIdx); in enterIntvAtEnd()
732 return VNI->def; in enterIntvAtEnd()
773 VNInfo *VNI = defFromParent(0, ParentVNI, Boundary, *MI->getParent(), in leaveIntvAfter() local
775 return VNI->def; in leaveIntvAfter()
793 VNInfo *VNI = defFromParent(0, ParentVNI, Idx, *MI->getParent(), MI); in leaveIntvBefore() local
794 return VNI->def; in leaveIntvBefore()
811 VNInfo *VNI = defFromParent(RegIdx, ParentVNI, Start, MBB, in leaveIntvAtTop() local
813 RegAssign.insert(Start, VNI->def, OpenIdx); in leaveIntvAtTop()
815 return VNI->def; in leaveIntvAtTop()
968 for (VNInfo *VNI : LI->valnos) { in computeRedundantBackCopies()
969 if (VNI->isUnused()) in computeRedundantBackCopies()
971 VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(VNI->def); in computeRedundantBackCopies()
972 EqualVNs[ParentVNI->id].insert(VNI); in computeRedundantBackCopies()
1030 for (VNInfo *VNI : LI->valnos) { in hoistCopies()
1031 if (VNI->isUnused()) in hoistCopies()
1033 VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(VNI->def); in hoistCopies()
1041 MachineBasicBlock *ValMBB = LIS.getMBBFromIndex(VNI->def); in hoistCopies()
1048 if (VNI->def == ParentVNI->def) { in hoistCopies()
1049 LLVM_DEBUG(dbgs() << "Direct complement def at " << VNI->def << '\n'); in hoistCopies()
1050 Dom = DomPair(ValMBB, VNI->def); in hoistCopies()
1056 LLVM_DEBUG(dbgs() << "Single complement def at " << VNI->def << '\n'); in hoistCopies()
1062 Dom = DomPair(ValMBB, VNI->def); in hoistCopies()
1065 if (!Dom.second.isValid() || VNI->def < Dom.second) in hoistCopies()
1066 Dom.second = VNI->def; in hoistCopies()
1073 Dom = DomPair(ValMBB, VNI->def); in hoistCopies()
1080 LLVM_DEBUG(dbgs() << "Multi-mapped complement " << VNI->id << '@' in hoistCopies()
1081 << VNI->def << " for parent " << ParentVNI->id << '@' in hoistCopies()
1114 for (VNInfo *VNI : LI->valnos) { in hoistCopies()
1115 if (VNI->isUnused()) in hoistCopies()
1117 VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(VNI->def); in hoistCopies()
1119 if (!Dom.first || Dom.second == VNI->def || in hoistCopies()
1122 BackCopies.push_back(VNI); in hoistCopies()
1168 if (VNInfo *VNI = VFP.getPointer()) { in transferValues() local
1169 LLVM_DEBUG(dbgs() << ':' << VNI->id); in transferValues()
1170 LI.addSegment(LiveInterval::Segment(Start, End, VNI)); in transferValues()
1194 VNInfo *VNI = LI.extendInBlock(BlockStart, std::min(BlockEnd, End)); in transferValues() local
1195 assert(VNI && "Missing def for complex mapped value"); in transferValues()
1196 LLVM_DEBUG(dbgs() << ':' << VNI->id << "*" << printMBBReference(*MBB)); in transferValues()
1199 LIC.setLiveOutValue(&*MBB, VNI); in transferValues()
1214 VNInfo *VNI = LI.extendInBlock(BlockStart, std::min(BlockEnd, End)); in transferValues() local
1215 assert(VNI && "Missing def for complex mapped parent PHI"); in transferValues()
1217 LIC.setLiveOutValue(&*MBB, VNI); // Live-out as well. in transferValues()
1485 const VNInfo &VNI = *WorkList.back(); in forceRecomputeVNI() local
1488 forceRecompute(I, VNI); in forceRecomputeVNI()
1489 if (!VNI.isPHIDef()) in forceRecomputeVNI()
1492 MachineBasicBlock &MBB = *Indexes.getMBBFromIndex(VNI.def); in forceRecomputeVNI()