Lines Matching refs:VNI
97 const VNInfo *VNI = CurLI->getVNInfoBefore(MBBEnd); in computeLastSplitPoint() local
98 if (!VNI) in computeLastSplitPoint()
105 if (!SlotIndex::isEarlierInstr(VNI->def, LSP.second) && VNI->def < MBBEnd) in computeLastSplitPoint()
381 VNInfo *VNI = LI->getNextValue(Idx, LIS.getVNInfoAllocator()); in defValue() local
386 ValueForcePair(VNI, false))); in defValue()
391 return VNI; in defValue()
402 SlotIndex Def = VNI->def; in defValue()
403 LI->addRange(LiveRange(Def, Def.getDeadSlot(), VNI)); in defValue()
405 return VNI; in defValue()
411 VNInfo *VNI = VFP.getPointer(); in forceRecompute() local
415 if (!VNI) { in forceRecompute()
422 SlotIndex Def = VNI->def; in forceRecompute()
423 Edit->get(RegIdx)->addRange(LiveRange(Def, Def.getDeadSlot(), VNI)); in forceRecompute()
491 VNInfo *VNI = defFromParent(OpenIdx, ParentVNI, Idx, *MI->getParent(), MI); in enterIntvBefore() local
492 return VNI->def; in enterIntvBefore()
508 VNInfo *VNI = defFromParent(OpenIdx, ParentVNI, Idx, *MI->getParent(), in enterIntvAfter() local
510 return VNI->def; in enterIntvAfter()
524 VNInfo *VNI = defFromParent(OpenIdx, ParentVNI, Last, MBB, in enterIntvAtEnd() local
526 RegAssign.insert(VNI->def, End, OpenIdx); in enterIntvAtEnd()
528 return VNI->def; in enterIntvAtEnd()
569 VNInfo *VNI = defFromParent(0, ParentVNI, Boundary, *MI->getParent(), in leaveIntvAfter() local
571 return VNI->def; in leaveIntvAfter()
589 VNInfo *VNI = defFromParent(0, ParentVNI, Idx, *MI->getParent(), MI); in leaveIntvBefore() local
590 return VNI->def; in leaveIntvBefore()
604 VNInfo *VNI = defFromParent(0, ParentVNI, Start, MBB, in leaveIntvAtTop() local
606 RegAssign.insert(Start, VNI->def, OpenIdx); in leaveIntvAtTop()
608 return VNI->def; in leaveIntvAtTop()
638 VNInfo *VNI = Copies[i]; in removeBackCopies() local
639 SlotIndex Def = VNI->def; in removeBackCopies()
650 LI->removeValNo(VNI); in removeBackCopies()
743 VNInfo *VNI = *VI; in hoistCopiesForSize() local
744 if (VNI->isUnused()) in hoistCopiesForSize()
746 VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(VNI->def); in hoistCopiesForSize()
754 MachineBasicBlock *ValMBB = LIS.getMBBFromIndex(VNI->def); in hoistCopiesForSize()
760 if (VNI->def == ParentVNI->def) { in hoistCopiesForSize()
761 DEBUG(dbgs() << "Direct complement def at " << VNI->def << '\n'); in hoistCopiesForSize()
762 Dom = DomPair(ValMBB, VNI->def); in hoistCopiesForSize()
768 DEBUG(dbgs() << "Single complement def at " << VNI->def << '\n'); in hoistCopiesForSize()
774 Dom = DomPair(ValMBB, VNI->def); in hoistCopiesForSize()
777 if (!Dom.second.isValid() || VNI->def < Dom.second) in hoistCopiesForSize()
778 Dom.second = VNI->def; in hoistCopiesForSize()
785 Dom = DomPair(ValMBB, VNI->def); in hoistCopiesForSize()
791 DEBUG(dbgs() << "Multi-mapped complement " << VNI->id << '@' << VNI->def in hoistCopiesForSize()
818 VNInfo *VNI = *VI; in hoistCopiesForSize() local
819 if (VNI->isUnused()) in hoistCopiesForSize()
821 VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(VNI->def); in hoistCopiesForSize()
823 if (!Dom.first || Dom.second == VNI->def) in hoistCopiesForSize()
825 BackCopies.push_back(VNI); in hoistCopiesForSize()
866 if (VNInfo *VNI = VFP.getPointer()) { in transferValues() local
867 DEBUG(dbgs() << ':' << VNI->id); in transferValues()
868 LI->addRange(LiveRange(Start, End, VNI)); in transferValues()
892 VNInfo *VNI = LI->extendInBlock(BlockStart, std::min(BlockEnd, End)); in transferValues() local
893 assert(VNI && "Missing def for complex mapped value"); in transferValues()
894 DEBUG(dbgs() << ':' << VNI->id << "*BB#" << MBB->getNumber()); in transferValues()
897 LRC.setLiveOutValue(MBB, VNI); in transferValues()
912 VNInfo *VNI = LI->extendInBlock(BlockStart, std::min(BlockEnd, End)); in transferValues() local
913 assert(VNI && "Missing def for complex mapped parent PHI"); in transferValues()
915 LRC.setLiveOutValue(MBB, VNI); // Live-out as well. in transferValues()