Lines Matching defs:VNI
97 // Map from pair of (StackSlot and Original VNI) to a set of spills which
98 // have the same stackslot and have equal values defined by Original VNI.
206 void eliminateRedundantSpills(LiveInterval &LI, VNInfo *VNI);
334 for (auto *VNI : SnipLI.vnis()) {
335 MachineInstr *MI = LIS.getInstructionFromIndex(VNI->def);
433 VNInfo *VNI = SpillLI.getVNInfoAt(Idx.getRegSlot());
434 assert(VNI && VNI->def == Idx.getRegSlot() && "Not defined by copy");
488 /// eliminateRedundantSpills - SLI:VNI is known to be on the stack. Remove any
490 void InlineSpiller::eliminateRedundantSpills(LiveInterval &SLI, VNInfo *VNI) {
491 assert(VNI && "Missing value");
493 WorkList.push_back(std::make_pair(&SLI, VNI));
498 std::tie(LI, VNI) = WorkList.pop_back_val();
500 LLVM_DEBUG(dbgs() << "Checking redundant spills for " << VNI->id << '@'
501 << VNI->def << " in " << *LI << '\n');
507 // Add all of VNI's live range to StackInt.
508 StackInt->MergeValueInAsValue(*LI, VNI, StackInt->getValNumInfo(0));
511 // Find all spills and copies of VNI.
517 if (LI->getVNInfoAt(Idx) != VNI)
552 /// markValueUsed - Remember that VNI failed to rematerialize, so its defining
554 void InlineSpiller::markValueUsed(LiveInterval *LI, VNInfo *VNI) {
556 WorkList.push_back(std::make_pair(LI, VNI));
558 std::tie(LI, VNI) = WorkList.pop_back_val();
559 if (!UsedValues.insert(VNI).second)
562 if (VNI->isPHIDef()) {
563 MachineBasicBlock *MBB = LIS.getMBBFromIndex(VNI->def);
573 MachineInstr *MI = LIS.getInstructionFromIndex(VNI->def);
578 VNInfo *SnipVNI = SnipLI.getVNInfoAt(VNI->def.getRegSlot(true));
737 for (VNInfo *VNI : LI.vnis()) {
738 if (VNI->isUnused() || VNI->isPHIDef() || UsedValues.count(VNI))
740 MachineInstr *MI = LIS.getInstructionFromIndex(VNI->def);
786 // after rematerialization. To remove a VNI for a vreg from its LiveInterval,
788 // removed, PHI VNI are still left in the LiveInterval.
1174 if (VNInfo *VNI = OldLI.getVNInfoAt(Idx.getRegSlot(true)))
1175 if (SlotIndex::isSameInstr(Idx, VNI->def))
1176 Idx = VNI->def;
1362 assert(OrigLI.getVNInfoAt(Idx) == &OrigVNI && "Unexpected VNI");
1366 VNInfo *VNI = LI.getVNInfoAt(Idx);
1367 if (VNI) {