Lines Matching refs:VNI
756 VNInfo *VNI = li->getVNInfoAt(Idx); in shrinkToUses() local
757 if (!VNI) { in shrinkToUses()
766 if (VNI->def == Idx) { in shrinkToUses()
770 VNI = li->getVNInfoAt(Idx); in shrinkToUses()
771 assert(VNI && "Early-clobber tied value not available"); in shrinkToUses()
773 WorkList.push_back(std::make_pair(Idx, VNI)); in shrinkToUses()
780 VNInfo *VNI = *I; in shrinkToUses() local
781 if (VNI->isUnused()) in shrinkToUses()
784 VNI->setHasPHIKill(false); in shrinkToUses()
785 NewLI.addRange(LiveRange(VNI->def, VNI->def.getNextSlot(), VNI)); in shrinkToUses()
790 if (VNI->def.isUse()) in shrinkToUses()
791 if (VNInfo *UVNI = li->getVNInfoAt(VNI->def.getLoadIndex())) in shrinkToUses()
792 WorkList.push_back(std::make_pair(VNI->def.getLoadIndex(), UVNI)); in shrinkToUses()
801 VNInfo *VNI = WorkList.back().second; in shrinkToUses() local
809 assert(ExtVNI == VNI && "Unexpected existing value number"); in shrinkToUses()
811 if (!VNI->isPHIDef() || VNI->def != BlockStart || !UsedPHIs.insert(VNI)) in shrinkToUses()
829 NewLI.addRange(LiveRange(BlockStart, Idx.getNextSlot(), VNI)); in shrinkToUses()
835 assert(li->getVNInfoAt(Stop) == VNI && "Wrong value out of predecessor"); in shrinkToUses()
836 WorkList.push_back(std::make_pair(Stop, VNI)); in shrinkToUses()
844 VNInfo *VNI = *I; in shrinkToUses() local
845 if (VNI->isUnused()) in shrinkToUses()
847 LiveInterval::iterator LII = NewLI.FindLiveRangeContaining(VNI->def); in shrinkToUses()
849 if (LII->end != VNI->def.getNextSlot()) in shrinkToUses()
851 if (VNI->isPHIDef()) { in shrinkToUses()
853 VNI->setIsUnused(true); in shrinkToUses()
855 DEBUG(dbgs() << "Dead PHI at " << VNI->def << " may separate interval\n"); in shrinkToUses()
859 MachineInstr *MI = getInstructionFromIndex(VNI->def); in shrinkToUses()
863 DEBUG(dbgs() << "All defs dead: " << VNI->def << '\t' << *MI); in shrinkToUses()
1018 const VNInfo *VNI = *i; in isReMaterializable() local
1019 if (VNI->isUnused()) in isReMaterializable()
1022 MachineInstr *ReMatDefMI = getInstructionFromIndex(VNI->def); in isReMaterializable()
1027 !isReMaterializable(li, VNI, ReMatDefMI, SpillIs, DefIsLoad)) in isReMaterializable()
1181 rewriteInstructionForSpills(const LiveInterval &li, const VNInfo *VNI, in rewriteInstructionForSpills() argument
1310 if (ReMatIds[VNI->id] == VirtRegMap::MAX_STACK_SLOT) { in rewriteInstructionForSpills()
1312 ReMatIds[VNI->id] = vrm.assignVirtReMatId(NewVReg); in rewriteInstructionForSpills()
1314 vrm.assignVirtReMatId(NewVReg, ReMatIds[VNI->id]); in rewriteInstructionForSpills()
1382 const VNInfo *VNI, in anyKillInMBBAfterIdx() argument
1560 const VNInfo *VNI = li.findDefinedVNInfoForRegInt(index.getDefIndex()); in rewriteInstructionsForSpills() local
1561 if (VNI) in rewriteInstructionsForSpills()
1562 HasKill = anyKillInMBBAfterIdx(li, VNI, MBB, index.getDefIndex()); in rewriteInstructionsForSpills()
1814 const VNInfo *VNI = *i; in addIntervalsForSpills() local
1815 unsigned VN = VNI->id; in addIntervalsForSpills()
1816 if (VNI->isUnused()) in addIntervalsForSpills()
1819 MachineInstr *ReMatDefMI = getInstructionFromIndex(VNI->def); in addIntervalsForSpills()
1821 if (ReMatDefMI && isReMaterializable(li, VNI, ReMatDefMI, SpillIs, dummy)) { in addIntervalsForSpills()
1830 if (VNI->hasPHIKill()) { in addIntervalsForSpills()