Lines Matching defs:VNI
99 // Map from pair of (StackSlot and Original VNI) to a set of spills which
100 // have the same stackslot and have equal values defined by Original VNI.
212 void eliminateRedundantSpills(LiveInterval &LI, VNInfo *VNI);
339 for (auto *VNI : SnipLI.vnis()) {
340 MachineInstr *MI = LIS.getInstructionFromIndex(VNI->def);
437 VNInfo *VNI = SpillLI.getVNInfoAt(Idx.getRegSlot());
438 assert(VNI && VNI->def == Idx.getRegSlot() && "Not defined by copy");
492 /// eliminateRedundantSpills - SLI:VNI is known to be on the stack. Remove any
494 void InlineSpiller::eliminateRedundantSpills(LiveInterval &SLI, VNInfo *VNI) {
495 assert(VNI && "Missing value");
497 WorkList.push_back(std::make_pair(&SLI, VNI));
502 std::tie(LI, VNI) = WorkList.pop_back_val();
504 LLVM_DEBUG(dbgs() << "Checking redundant spills for " << VNI->id << '@'
505 << VNI->def << " in " << *LI << '\n');
511 // Add all of VNI's live range to StackInt.
512 StackInt->MergeValueInAsValue(*LI, VNI, StackInt->getValNumInfo(0));
515 // Find all spills and copies of VNI.
521 if (LI->getVNInfoAt(Idx) != VNI)
556 /// markValueUsed - Remember that VNI failed to rematerialize, so its defining
558 void InlineSpiller::markValueUsed(LiveInterval *LI, VNInfo *VNI) {
560 WorkList.push_back(std::make_pair(LI, VNI));
562 std::tie(LI, VNI) = WorkList.pop_back_val();
563 if (!UsedValues.insert(VNI).second)
566 if (VNI->isPHIDef()) {
567 MachineBasicBlock *MBB = LIS.getMBBFromIndex(VNI->def);
577 MachineInstr *MI = LIS.getInstructionFromIndex(VNI->def);
582 VNInfo *SnipVNI = SnipLI.getVNInfoAt(VNI->def.getRegSlot(true));
741 for (VNInfo *VNI : LI.vnis()) {
742 if (VNI->isUnused() || VNI->isPHIDef() || UsedValues.count(VNI))
744 MachineInstr *MI = LIS.getInstructionFromIndex(VNI->def);
790 // after rematerialization. To remove a VNI for a vreg from its LiveInterval,
792 // removed, PHI VNI are still left in the LiveInterval.
1177 if (VNInfo *VNI = OldLI.getVNInfoAt(Idx.getRegSlot(true)))
1178 if (SlotIndex::isSameInstr(Idx, VNI->def))
1179 Idx = VNI->def;
1360 assert(OrigLI.getVNInfoAt(Idx) == &OrigVNI && "Unexpected VNI");
1364 VNInfo *VNI = LI.getVNInfoAt(Idx);
1365 if (VNI) {