Lines Matching refs:VNI
195 void eliminateRedundantSpills(LiveInterval &LI, VNInfo *VNI);
354 VNInfo *VNI = SpillLI.getVNInfoAt(Idx.getRegSlot()); in hoistSpillInsideBB() local
355 assert(VNI && VNI->def == Idx.getRegSlot() && "Not defined by copy"); in hoistSpillInsideBB()
404 void InlineSpiller::eliminateRedundantSpills(LiveInterval &SLI, VNInfo *VNI) { in eliminateRedundantSpills() argument
405 assert(VNI && "Missing value"); in eliminateRedundantSpills()
407 WorkList.push_back(std::make_pair(&SLI, VNI)); in eliminateRedundantSpills()
412 std::tie(LI, VNI) = WorkList.pop_back_val(); in eliminateRedundantSpills()
415 << VNI->id << '@' << VNI->def << " in " << *LI << '\n'); in eliminateRedundantSpills()
422 StackInt->MergeValueInAsValue(*LI, VNI, StackInt->getValNumInfo(0)); in eliminateRedundantSpills()
433 if (LI->getVNInfoAt(Idx) != VNI) in eliminateRedundantSpills()
470 void InlineSpiller::markValueUsed(LiveInterval *LI, VNInfo *VNI) { in markValueUsed() argument
472 WorkList.push_back(std::make_pair(LI, VNI)); in markValueUsed()
474 std::tie(LI, VNI) = WorkList.pop_back_val(); in markValueUsed()
475 if (!UsedValues.insert(VNI).second) in markValueUsed()
478 if (VNI->isPHIDef()) { in markValueUsed()
479 MachineBasicBlock *MBB = LIS.getMBBFromIndex(VNI->def); in markValueUsed()
489 MachineInstr *MI = LIS.getInstructionFromIndex(VNI->def); in markValueUsed()
494 VNInfo *SnipVNI = SnipLI.getVNInfoAt(VNI->def.getRegSlot(true)); in markValueUsed()
612 VNInfo *VNI = *I; in reMaterializeAll() local
613 if (VNI->isUnused() || VNI->isPHIDef() || UsedValues.count(VNI)) in reMaterializeAll()
615 MachineInstr *MI = LIS.getInstructionFromIndex(VNI->def); in reMaterializeAll()
912 if (VNInfo *VNI = OldLI.getVNInfoAt(Idx.getRegSlot(true))) in spillAroundUses() local
913 if (SlotIndex::isSameInstr(Idx, VNI->def)) in spillAroundUses()
914 Idx = VNI->def; in spillAroundUses()
1095 VNInfo *VNI = LI.getVNInfoAt(Idx); in isSpillCandBB() local
1096 if (VNI) { in isSpillCandBB()