Lines Matching full:inta
157 /// other than BValNo val# that can reach uses of AValno val# of IntA.
158 bool hasOtherReachingDefs(LiveInterval &IntA, LiveInterval &IntB,
411 /// adjustCopiesBackFrom - We found a non-trivially-coalescable copy with IntA
413 /// in IntB. If the source value number (in IntA) is defined by a copy from B,
431 LiveInterval &IntA =
450 LiveInterval::iterator ALR = IntA.FindLiveRangeContaining(CopyUseIdx);
452 if (ALR == IntA.end()) return false;
508 CopyMI->substituteRegister(IntA.reg, IntB.reg, 0, *TRI);
510 LIS->shrinkToUses(&IntA);
517 /// other than BValNo val# that can reach uses of AValno val# of IntA.
518 bool RegisterCoalescer::hasOtherReachingDefs(LiveInterval &IntA,
524 if (LIS->hasPHIKill(IntA, AValNo))
527 for (LiveInterval::iterator AI = IntA.begin(), AE = IntA.end();
547 /// IntA being the source and IntB being the dest, thus this defines a value
548 /// number in IntB. If the source value number (in IntA) is defined by a
575 LiveInterval &IntA =
589 VNInfo *AValNo = IntA.getVNInfoAt(CopyIdx.getRegSlot(true));
600 int DefIdx = DefMI->findRegisterDefOperandIdx(IntA.reg);
622 if (hasOtherReachingDefs(IntA, IntB, AValNo, BValNo))
625 // If some of the uses of IntA.reg is already coalesced away, return false.
628 MRI->use_nodbg_begin(IntA.reg),
632 LiveInterval::iterator ULR = IntA.FindLiveRangeContaining(UseIdx);
633 if (ULR == IntA.end() || ULR->valno != AValNo)
649 if (TargetRegisterInfo::isVirtualRegister(IntA.reg) &&
651 !MRI->constrainRegClass(IntB.reg, MRI->getRegClass(IntA.reg)))
659 unsigned OpIdx = NewMI->findRegisterUseOperandIdx(IntA.reg, false);
671 // Update uses of IntA of the specific Val# with IntB.
672 for (MachineRegisterInfo::use_iterator UI = MRI->use_begin(IntA.reg),
684 LiveInterval::iterator ULR = IntA.FindLiveRangeContaining(UseIdx);
685 if (ULR == IntA.end() || ULR->valno != AValNo)
715 // Extend BValNo by merging in IntA live ranges of AValNo. Val# definition
719 for (LiveInterval::iterator AI = IntA.begin(), AE = IntA.end();
726 IntA.removeValNo(AValNo);
727 DEBUG(dbgs() << "\t\ttrimmed: " << IntA << '\n');