Lines Matching refs:ParentVNI

385                               const VNInfo *ParentVNI,  in defValue()  argument
387 assert(ParentVNI && "Mapping NULL value"); in defValue()
389 assert(Edit->getParent().getVNInfoAt(Idx) == ParentVNI && "Bad Parent VNI"); in defValue()
397 Values.insert(std::make_pair(std::make_pair(RegIdx, ParentVNI->id), in defValue()
420 void SplitEditor::forceRecompute(unsigned RegIdx, const VNInfo *ParentVNI) { in forceRecompute() argument
421 assert(ParentVNI && "Mapping NULL value"); in forceRecompute()
422 ValueForcePair &VFP = Values[std::make_pair(RegIdx, ParentVNI->id)]; in forceRecompute()
442 VNInfo *ParentVNI, in defFromParent() argument
458 LiveRangeEdit::Remat RM(ParentVNI); in defFromParent()
475 return defValue(RegIdx, ParentVNI, Def); in defFromParent()
501 VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(Idx); in enterIntvBefore() local
502 if (!ParentVNI) { in enterIntvBefore()
506 DEBUG(dbgs() << ": valno " << ParentVNI->id << '\n'); in enterIntvBefore()
510 VNInfo *VNI = defFromParent(OpenIdx, ParentVNI, Idx, *MI->getParent(), MI); in enterIntvBefore()
518 VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(Idx); in enterIntvAfter() local
519 if (!ParentVNI) { in enterIntvAfter()
523 DEBUG(dbgs() << ": valno " << ParentVNI->id << '\n'); in enterIntvAfter()
527 VNInfo *VNI = defFromParent(OpenIdx, ParentVNI, Idx, *MI->getParent(), in enterIntvAfter()
537 VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(Last); in enterIntvAtEnd() local
538 if (!ParentVNI) { in enterIntvAtEnd()
542 DEBUG(dbgs() << ": valno " << ParentVNI->id); in enterIntvAtEnd()
543 VNInfo *VNI = defFromParent(OpenIdx, ParentVNI, Last, MBB, in enterIntvAtEnd()
568 VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(Boundary); in leaveIntvAfter() local
569 if (!ParentVNI) { in leaveIntvAfter()
573 DEBUG(dbgs() << ": valno " << ParentVNI->id << '\n'); in leaveIntvAfter()
581 if (SpillMode && !SlotIndex::isSameInstr(ParentVNI->def, Idx) && in leaveIntvAfter()
583 forceRecompute(0, ParentVNI); in leaveIntvAfter()
584 defFromParent(0, ParentVNI, Idx, *MI->getParent(), MI); in leaveIntvAfter()
588 VNInfo *VNI = defFromParent(0, ParentVNI, Boundary, *MI->getParent(), in leaveIntvAfter()
599 VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(Idx); in leaveIntvBefore() local
600 if (!ParentVNI) { in leaveIntvBefore()
604 DEBUG(dbgs() << ": valno " << ParentVNI->id << '\n'); in leaveIntvBefore()
608 VNInfo *VNI = defFromParent(0, ParentVNI, Idx, *MI->getParent(), MI); in leaveIntvBefore()
617 VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(Start); in leaveIntvAtTop() local
618 if (!ParentVNI) { in leaveIntvAtTop()
623 VNInfo *VNI = defFromParent(0, ParentVNI, Start, MBB, in leaveIntvAtTop()
632 const VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(Start); in overlapIntv() local
633 assert(ParentVNI == Edit->getParent().getVNInfoBefore(End) && in overlapIntv()
639 if (ParentVNI) in overlapIntv()
640 forceRecompute(0, ParentVNI); in overlapIntv()
757 VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(VNI->def); in computeRedundantBackCopies() local
758 EqualVNs[ParentVNI->id].insert(VNI); in computeRedundantBackCopies()
764 VNInfo *ParentVNI = Parent->getValNumInfo(i); in computeRedundantBackCopies() local
765 if (!NotToHoistSet.count(ParentVNI->id)) in computeRedundantBackCopies()
767 SmallPtrSetIterator<VNInfo *> It1 = EqualVNs[ParentVNI->id].begin(); in computeRedundantBackCopies()
769 for (; It1 != EqualVNs[ParentVNI->id].end(); ++It1) { in computeRedundantBackCopies()
771 for (++It2; It2 != EqualVNs[ParentVNI->id].end(); ++It2) { in computeRedundantBackCopies()
787 forceRecompute(0, ParentVNI); in computeRedundantBackCopies()
821 VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(VNI->def); in hoistCopies() local
822 assert(ParentVNI && "Parent not live at complement def"); in hoistCopies()
826 if (Edit->didRematerialize(ParentVNI)) in hoistCopies()
831 DomPair &Dom = NearestDom[ParentVNI->id]; in hoistCopies()
836 if (VNI->def == ParentVNI->def) { in hoistCopies()
843 if (Values.lookup(std::make_pair(0, ParentVNI->id)).getPointer()) { in hoistCopies()
865 Costs[ParentVNI->id] += MBFI.getBlockFreq(ValMBB); in hoistCopies()
869 << " for parent " << ParentVNI->id << '@' << ParentVNI->def in hoistCopies()
880 VNInfo *ParentVNI = Parent->getValNumInfo(i); in hoistCopies() local
881 MachineBasicBlock *DefMBB = LIS.getMBBFromIndex(ParentVNI->def); in hoistCopies()
885 MBFI.getBlockFreq(Dom.first) > Costs[ParentVNI->id]) { in hoistCopies()
886 NotToHoistSet.insert(ParentVNI->id); in hoistCopies()
891 defFromParent(0, ParentVNI, Last, *Dom.first, in hoistCopies()
901 VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(VNI->def); in hoistCopies() local
902 const DomPair &Dom = NearestDom[ParentVNI->id]; in hoistCopies()
904 NotToHoistSet.count(ParentVNI->id)) in hoistCopies()
907 forceRecompute(0, ParentVNI); in hoistCopies()
926 VNInfo *ParentVNI = S.valno; in transferValues() local
951 ValueForcePair VFP = Values.lookup(std::make_pair(RegIdx, ParentVNI->id)); in transferValues()
995 if (BlockStart == ParentVNI->def) { in transferValues()
997 assert(ParentVNI->isPHIDef() && "Non-phi defined at block start?"); in transferValues()
1145 for (const VNInfo *ParentVNI : Edit->getParent().valnos) { in finish() local
1146 if (ParentVNI->isUnused()) in finish()
1148 unsigned RegIdx = RegAssign.lookup(ParentVNI->def); in finish()
1149 defValue(RegIdx, ParentVNI, ParentVNI->def); in finish()
1153 if (Edit->didRematerialize(ParentVNI)) in finish()
1155 forceRecompute(i, ParentVNI); in finish()