Home | History | Annotate | Download | only in CodeGen

Lines Matching refs:ParentVNI

363                               const VNInfo *ParentVNI,
365 assert(ParentVNI && "Mapping NULL value");
367 assert(Edit->getParent().getVNInfoAt(Idx) == ParentVNI && "Bad Parent VNI");
375 Values.insert(std::make_pair(std::make_pair(RegIdx, ParentVNI->id),
378 // This was the first time (RegIdx, ParentVNI) was mapped.
398 void SplitEditor::forceRecompute(unsigned RegIdx, const VNInfo *ParentVNI) {
399 assert(ParentVNI && "Mapping NULL value");
400 ValueForcePair &VFP = Values[std::make_pair(RegIdx, ParentVNI->id)];
403 // ParentVNI was either unmapped or already complex mapped. Either way, just
420 VNInfo *ParentVNI,
433 LiveRangeEdit::Remat RM(ParentVNI);
447 return defValue(RegIdx, ParentVNI, Def);
473 VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(Idx);
474 if (!ParentVNI) {
478 DEBUG(dbgs() << ": valno " << ParentVNI->id << '\n');
482 VNInfo *VNI = defFromParent(OpenIdx, ParentVNI, Idx, *MI->getParent(), MI);
490 VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(Idx);
491 if (!ParentVNI) {
495 DEBUG(dbgs() << ": valno " << ParentVNI->id << '\n');
499 VNInfo *VNI = defFromParent(OpenIdx, ParentVNI, Idx, *MI->getParent(),
509 VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(Last);
510 if (!ParentVNI) {
514 DEBUG(dbgs() << ": valno " << ParentVNI->id);
515 VNInfo *VNI = defFromParent(OpenIdx, ParentVNI, Last, MBB,
540 VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(Boundary);
541 if (!ParentVNI) {
545 DEBUG(dbgs() << ": valno " << ParentVNI->id << '\n');
553 if (SpillMode && !SlotIndex::isSameInstr(ParentVNI->def, Idx) &&
555 forceRecompute(0, ParentVNI);
556 defFromParent(0, ParentVNI, Idx, *MI->getParent(), MI);
560 VNInfo *VNI = defFromParent(0, ParentVNI, Boundary, *MI->getParent(),
571 VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(Idx);
572 if (!ParentVNI) {
576 DEBUG(dbgs() << ": valno " << ParentVNI->id << '\n');
580 VNInfo *VNI = defFromParent(0, ParentVNI, Idx, *MI->getParent(), MI);
589 VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(Start);
590 if (!ParentVNI) {
595 VNInfo *VNI = defFromParent(0, ParentVNI, Start, MBB,
604 const VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(Start);
605 assert(ParentVNI == Edit->getParent().getVNInfoBefore(End) &&
611 if (ParentVNI)
612 forceRecompute(0, ParentVNI);
723 // Track the nearest common dominator for all back-copies for each ParentVNI,
724 // indexed by ParentVNI->id.
733 VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(VNI->def);
734 assert(ParentVNI && "Parent not live at complement def");
738 if (Edit->didRematerialize(ParentVNI))
742 DomPair &Dom = NearestDom[ParentVNI->id];
745 // instruction in the complement range. All other copies of ParentVNI
747 if (VNI->def == ParentVNI->def) {
754 if (Values.lookup(std::make_pair(0, ParentVNI->id)).getPointer()) {
760 // First time we see ParentVNI. VNI dominates itself.
779 << " for parent " << ParentVNI->id << '@' << ParentVNI->def
790 VNInfo *ParentVNI = Parent->getValNumInfo(i);
791 MachineBasicBlock *DefMBB = LIS.getMBBFromIndex(ParentVNI->def);
796 defFromParent(0, ParentVNI, Last, *Dom.first,
806 VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(VNI->def);
807 const DomPair &Dom = NearestDom[ParentVNI->id];
811 forceRecompute(0, ParentVNI);
824 VNInfo *ParentVNI = S.valno;
844 // The interval [Start;End) is continuously mapped to RegIdx, ParentVNI.
849 ValueForcePair VFP = Values.lookup(std::make_pair(RegIdx, ParentVNI->id));
893 if (BlockStart == ParentVNI->def) {
895 assert(ParentVNI->isPHIDef() && "Non-phi defined at block start?");
1031 for (const VNInfo *ParentVNI : Edit->getParent().valnos) {
1032 if (ParentVNI->isUnused())
1034 unsigned RegIdx = RegAssign.lookup(ParentVNI->def);
1035 defValue(RegIdx, ParentVNI, ParentVNI->def);
1039 if (Edit->didRematerialize(ParentVNI))
1041 forceRecompute(i, ParentVNI);