Lines Matching refs:VNI
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()
390 LI->addSegment(LiveInterval::Segment(Def, Def.getDeadSlot(), VNI)); in defValue()
392 return VNI; in defValue()
398 VNInfo *VNI = VFP.getPointer(); in forceRecompute() local
402 if (!VNI) { in forceRecompute()
409 SlotIndex Def = VNI->def; in forceRecompute()
411 LI->addSegment(LiveInterval::Segment(Def, Def.getDeadSlot(), VNI)); in forceRecompute()
479 VNInfo *VNI = defFromParent(OpenIdx, ParentVNI, Idx, *MI->getParent(), MI); in enterIntvBefore() local
480 return VNI->def; in enterIntvBefore()
496 VNInfo *VNI = defFromParent(OpenIdx, ParentVNI, Idx, *MI->getParent(), in enterIntvAfter() local
498 return VNI->def; in enterIntvAfter()
512 VNInfo *VNI = defFromParent(OpenIdx, ParentVNI, Last, MBB, in enterIntvAtEnd() local
514 RegAssign.insert(VNI->def, End, OpenIdx); in enterIntvAtEnd()
516 return VNI->def; in enterIntvAtEnd()
557 VNInfo *VNI = defFromParent(0, ParentVNI, Boundary, *MI->getParent(), in leaveIntvAfter() local
559 return VNI->def; in leaveIntvAfter()
577 VNInfo *VNI = defFromParent(0, ParentVNI, Idx, *MI->getParent(), MI); in leaveIntvBefore() local
578 return VNI->def; in leaveIntvBefore()
592 VNInfo *VNI = defFromParent(0, ParentVNI, Start, MBB, in leaveIntvAtTop() local
594 RegAssign.insert(Start, VNI->def, OpenIdx); in leaveIntvAtTop()
596 return VNI->def; in leaveIntvAtTop()
727 for (VNInfo *VNI : LI->valnos) { in hoistCopiesForSize()
728 if (VNI->isUnused()) in hoistCopiesForSize()
730 VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(VNI->def); in hoistCopiesForSize()
738 MachineBasicBlock *ValMBB = LIS.getMBBFromIndex(VNI->def); in hoistCopiesForSize()
744 if (VNI->def == ParentVNI->def) { in hoistCopiesForSize()
745 DEBUG(dbgs() << "Direct complement def at " << VNI->def << '\n'); in hoistCopiesForSize()
746 Dom = DomPair(ValMBB, VNI->def); in hoistCopiesForSize()
752 DEBUG(dbgs() << "Single complement def at " << VNI->def << '\n'); in hoistCopiesForSize()
758 Dom = DomPair(ValMBB, VNI->def); in hoistCopiesForSize()
761 if (!Dom.second.isValid() || VNI->def < Dom.second) in hoistCopiesForSize()
762 Dom.second = VNI->def; in hoistCopiesForSize()
769 Dom = DomPair(ValMBB, VNI->def); in hoistCopiesForSize()
775 DEBUG(dbgs() << "Multi-mapped complement " << VNI->id << '@' << VNI->def in hoistCopiesForSize()
800 for (VNInfo *VNI : LI->valnos) { in hoistCopiesForSize()
801 if (VNI->isUnused()) in hoistCopiesForSize()
803 VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(VNI->def); in hoistCopiesForSize()
805 if (!Dom.first || Dom.second == VNI->def) in hoistCopiesForSize()
807 BackCopies.push_back(VNI); in hoistCopiesForSize()
847 if (VNInfo *VNI = VFP.getPointer()) { in transferValues() local
848 DEBUG(dbgs() << ':' << VNI->id); in transferValues()
849 LR.addSegment(LiveInterval::Segment(Start, End, VNI)); in transferValues()
873 VNInfo *VNI = LR.extendInBlock(BlockStart, std::min(BlockEnd, End)); in transferValues() local
874 assert(VNI && "Missing def for complex mapped value"); in transferValues()
875 DEBUG(dbgs() << ':' << VNI->id << "*BB#" << MBB->getNumber()); in transferValues()
878 LRC.setLiveOutValue(MBB, VNI); in transferValues()
893 VNInfo *VNI = LR.extendInBlock(BlockStart, std::min(BlockEnd, End)); in transferValues() local
894 assert(VNI && "Missing def for complex mapped parent PHI"); in transferValues()
896 LRC.setLiveOutValue(MBB, VNI); // Live-out as well. in transferValues()