Lines Matching refs:VNI
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()
415 LI->addSegment(LiveInterval::Segment(Def, Def.getDeadSlot(), VNI)); in defValue()
417 return VNI; in defValue()
423 VNInfo *VNI = VFP.getPointer(); in forceRecompute() local
427 if (!VNI) { in forceRecompute()
434 SlotIndex Def = VNI->def; in forceRecompute()
436 LI->addSegment(LiveInterval::Segment(Def, Def.getDeadSlot(), VNI)); in forceRecompute()
510 VNInfo *VNI = defFromParent(OpenIdx, ParentVNI, Idx, *MI->getParent(), MI); in enterIntvBefore() local
511 return VNI->def; in enterIntvBefore()
527 VNInfo *VNI = defFromParent(OpenIdx, ParentVNI, Idx, *MI->getParent(), in enterIntvAfter() local
529 return VNI->def; in enterIntvAfter()
543 VNInfo *VNI = defFromParent(OpenIdx, ParentVNI, Last, MBB, in enterIntvAtEnd() local
545 RegAssign.insert(VNI->def, End, OpenIdx); in enterIntvAtEnd()
547 return VNI->def; in enterIntvAtEnd()
588 VNInfo *VNI = defFromParent(0, ParentVNI, Boundary, *MI->getParent(), in leaveIntvAfter() local
590 return VNI->def; in leaveIntvAfter()
608 VNInfo *VNI = defFromParent(0, ParentVNI, Idx, *MI->getParent(), MI); in leaveIntvBefore() local
609 return VNI->def; in leaveIntvBefore()
623 VNInfo *VNI = defFromParent(0, ParentVNI, Start, MBB, in leaveIntvAtTop() local
625 RegAssign.insert(Start, VNI->def, OpenIdx); in leaveIntvAtTop()
627 return VNI->def; in leaveIntvAtTop()
754 for (VNInfo *VNI : LI->valnos) { in computeRedundantBackCopies()
755 if (VNI->isUnused()) in computeRedundantBackCopies()
757 VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(VNI->def); in computeRedundantBackCopies()
758 EqualVNs[ParentVNI->id].insert(VNI); in computeRedundantBackCopies()
788 for (auto VNI : DominatedVNIs) { in computeRedundantBackCopies() local
789 BackCopies.push_back(VNI); in computeRedundantBackCopies()
818 for (VNInfo *VNI : LI->valnos) { in hoistCopies()
819 if (VNI->isUnused()) in hoistCopies()
821 VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(VNI->def); in hoistCopies()
829 MachineBasicBlock *ValMBB = LIS.getMBBFromIndex(VNI->def); in hoistCopies()
836 if (VNI->def == ParentVNI->def) { in hoistCopies()
837 DEBUG(dbgs() << "Direct complement def at " << VNI->def << '\n'); in hoistCopies()
838 Dom = DomPair(ValMBB, VNI->def); in hoistCopies()
844 DEBUG(dbgs() << "Single complement def at " << VNI->def << '\n'); in hoistCopies()
850 Dom = DomPair(ValMBB, VNI->def); in hoistCopies()
853 if (!Dom.second.isValid() || VNI->def < Dom.second) in hoistCopies()
854 Dom.second = VNI->def; in hoistCopies()
861 Dom = DomPair(ValMBB, VNI->def); in hoistCopies()
868 DEBUG(dbgs() << "Multi-mapped complement " << VNI->id << '@' << VNI->def in hoistCopies()
898 for (VNInfo *VNI : LI->valnos) { in hoistCopies()
899 if (VNI->isUnused()) in hoistCopies()
901 VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(VNI->def); in hoistCopies()
903 if (!Dom.first || Dom.second == VNI->def || in hoistCopies()
906 BackCopies.push_back(VNI); in hoistCopies()
952 if (VNInfo *VNI = VFP.getPointer()) { in transferValues() local
953 DEBUG(dbgs() << ':' << VNI->id); in transferValues()
954 LR.addSegment(LiveInterval::Segment(Start, End, VNI)); in transferValues()
978 VNInfo *VNI = LR.extendInBlock(BlockStart, std::min(BlockEnd, End)); in transferValues() local
979 assert(VNI && "Missing def for complex mapped value"); in transferValues()
980 DEBUG(dbgs() << ':' << VNI->id << "*BB#" << MBB->getNumber()); in transferValues()
983 LRC.setLiveOutValue(&*MBB, VNI); in transferValues()
998 VNInfo *VNI = LR.extendInBlock(BlockStart, std::min(BlockEnd, End)); in transferValues() local
999 assert(VNI && "Missing def for complex mapped parent PHI"); in transferValues()
1001 LRC.setLiveOutValue(&*MBB, VNI); // Live-out as well. in transferValues()