Lines Matching refs:ParentVNI
375 const VNInfo *ParentVNI,
377 assert(ParentVNI && "Mapping NULL value");
379 assert(Edit->getParent().getVNInfoAt(Idx) == ParentVNI && "Bad Parent VNI");
387 Values.insert(std::make_pair(std::make_pair(RegIdx, ParentVNI->id),
390 // This was the first time (RegIdx, ParentVNI) was mapped.
410 void SplitEditor::forceRecompute(unsigned RegIdx, const VNInfo *ParentVNI) {
411 assert(ParentVNI && "Mapping NULL value");
412 ValueForcePair &VFP = Values[std::make_pair(RegIdx, ParentVNI->id)];
415 // ParentVNI was either unmapped or already complex mapped. Either way, just
431 VNInfo *ParentVNI,
444 LiveRangeEdit::Remat RM(ParentVNI);
458 return defValue(RegIdx, ParentVNI, Def);
484 ParentVNI = Edit->getParent().getVNInfoAt(Idx);
485 if (!ParentVNI) {
489 DEBUG(dbgs() << ": valno " << ParentVNI->id << '\n');
493 VNInfo *VNI = defFromParent(OpenIdx, ParentVNI, Idx, *MI->getParent(), MI);
501 VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(Idx);
502 if (!ParentVNI) {
506 DEBUG(dbgs() << ": valno " << ParentVNI->id << '\n');
510 VNInfo *VNI = defFromParent(OpenIdx, ParentVNI, Idx, *MI->getParent(),
520 VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(Last);
521 if (!ParentVNI) {
525 DEBUG(dbgs() << ": valno " << ParentVNI->id);
526 VNInfo *VNI = defFromParent(OpenIdx, ParentVNI, Last, MBB,
551 VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(Boundary);
552 if (!ParentVNI) {
556 DEBUG(dbgs() << ": valno " << ParentVNI->id << '\n');
564 if (SpillMode && !SlotIndex::isSameInstr(ParentVNI->def, Idx) &&
566 forceRecompute(0, ParentVNI);
567 defFromParent(0, ParentVNI, Idx, *MI->getParent(), MI);
571 VNInfo *VNI = defFromParent(0, ParentVNI, Boundary, *MI->getParent(),
582 VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(Idx);
583 if (!ParentVNI) {
587 DEBUG(dbgs() << ": valno " << ParentVNI->id << '\n');
591 VNInfo *VNI = defFromParent(0, ParentVNI, Idx, *MI->getParent(), MI);
600 VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(Start);
601 if (!ParentVNI) {
606 VNInfo *VNI = defFromParent(0, ParentVNI, Start, MBB,
615 const VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(Start);
616 assert(ParentVNI == Edit->getParent().getVNInfoBefore(End) &&
622 if (ParentVNI)
623 forceRecompute(0, ParentVNI);
736 // Track the nearest common dominator for all back-copies for each ParentVNI,
737 // indexed by ParentVNI->id.
748 VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(VNI->def);
749 assert(ParentVNI && "Parent not live at complement def");
753 if (Edit->didRematerialize(ParentVNI))
757 DomPair &Dom = NearestDom[ParentVNI->id];
760 // instruction in the complement range. All other copies of ParentVNI
762 if (VNI->def == ParentVNI->def) {
769 if (Values.lookup(std::make_pair(0, ParentVNI->id)).getPointer()) {
775 // First time we see ParentVNI. VNI dominates itself.
794 << " for parent " << ParentVNI->id << '@' << ParentVNI->def
805 VNInfo *ParentVNI = Parent->getValNumInfo(i);
806 MachineBasicBlock *DefMBB = LIS.getMBBFromIndex(ParentVNI->def);
811 defFromParent(0, ParentVNI, Last, *Dom.first,
823 VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(VNI->def);
824 const DomPair &Dom = NearestDom[ParentVNI->id];
828 forceRecompute(0, ParentVNI);
842 VNInfo *ParentVNI = ParentI->valno;
862 // The interval [Start;End) is continuously mapped to RegIdx, ParentVNI.
867 ValueForcePair VFP = Values.lookup(std::make_pair(RegIdx, ParentVNI->id));
911 if (BlockStart == ParentVNI->def) {
913 assert(ParentVNI->isPHIDef() && "Non-phi defined at block start?");
1054 const VNInfo *ParentVNI = *I;
1055 if (ParentVNI->isUnused())
1057 unsigned RegIdx = RegAssign.lookup(ParentVNI->def);
1058 defValue(RegIdx, ParentVNI, ParentVNI->def);
1062 if (Edit->didRematerialize(ParentVNI))
1064 forceRecompute(i, ParentVNI);