Lines Matching refs:IntA
290 bool hasOtherReachingDefs(LiveInterval &IntA, LiveInterval &IntB,
630 LiveInterval &IntA = in adjustCopiesBackFrom() local
663 LiveInterval::iterator AS = IntA.FindSegmentContaining(CopyUseIdx); in adjustCopiesBackFrom()
665 if (AS == IntA.end()) return false; in adjustCopiesBackFrom()
742 CopyMI->substituteRegister(IntA.reg(), IntB.reg(), 0, *TRI); in adjustCopiesBackFrom()
747 for (LiveInterval::SubRange &S : IntA.subranges()) { in adjustCopiesBackFrom()
756 shrinkToUses(&IntA); in adjustCopiesBackFrom()
762 bool RegisterCoalescer::hasOtherReachingDefs(LiveInterval &IntA, in hasOtherReachingDefs() argument
768 if (LIS->hasPHIKill(IntA, AValNo)) in hasOtherReachingDefs()
771 for (LiveRange::Segment &ASeg : IntA.segments) { in hasOtherReachingDefs()
818 LiveInterval &IntA = in removeCopyByCommutingDef() local
850 VNInfo *AValNo = IntA.getVNInfoAt(CopyIdx.getRegSlot(true)); in removeCopyByCommutingDef()
861 int DefIdx = DefMI->findRegisterDefOperandIdx(IntA.reg()); in removeCopyByCommutingDef()
887 if (hasOtherReachingDefs(IntA, IntB, AValNo, BValNo)) in removeCopyByCommutingDef()
892 for (MachineOperand &MO : MRI->use_nodbg_operands(IntA.reg())) { in removeCopyByCommutingDef()
896 LiveInterval::iterator US = IntA.FindSegmentContaining(UseIdx); in removeCopyByCommutingDef()
897 if (US == IntA.end() || US->valno != AValNo) in removeCopyByCommutingDef()
914 if (Register::isVirtualRegister(IntA.reg()) && in removeCopyByCommutingDef()
916 !MRI->constrainRegClass(IntB.reg(), MRI->getRegClass(IntA.reg()))) in removeCopyByCommutingDef()
935 for (MachineRegisterInfo::use_iterator UI = MRI->use_begin(IntA.reg()), in removeCopyByCommutingDef()
951 LiveInterval::iterator US = IntA.FindSegmentContaining(UseIdx); in removeCopyByCommutingDef()
952 assert(US != IntA.end() && "Use must be live"); in removeCopyByCommutingDef()
994 if (IntA.hasSubRanges() || IntB.hasSubRanges()) { in removeCopyByCommutingDef()
995 if (!IntA.hasSubRanges()) { in removeCopyByCommutingDef()
996 LaneBitmask Mask = MRI->getMaxLaneMaskForVReg(IntA.reg()); in removeCopyByCommutingDef()
997 IntA.createSubRangeFrom(Allocator, Mask, IntA); in removeCopyByCommutingDef()
1005 for (LiveInterval::SubRange &SA : IntA.subranges()) { in removeCopyByCommutingDef()
1044 auto P = addSegmentsWithValNo(IntB, BValNo, IntA, AValNo); in removeCopyByCommutingDef()
1048 LIS->removeVRegDefAt(IntA, AValNo->def); in removeCopyByCommutingDef()
1050 LLVM_DEBUG(dbgs() << "\t\ttrimmed: " << IntA << '\n'); in removeCopyByCommutingDef()
1117 LiveInterval &IntA = in removePartialRedundancy() local
1124 VNInfo *AValNo = IntA.getVNInfoAt(CopyIdx); in removePartialRedundancy()
1138 VNInfo *PVal = IntA.getVNInfoBefore(LIS->getMBBEndIdx(Pred)); in removePartialRedundancy()
1145 if (DefMI->getOperand(0).getReg() != IntA.reg() || in removePartialRedundancy()
1204 .addReg(IntA.reg()); in removePartialRedundancy()
1266 shrinkToUses(&IntA); in removePartialRedundancy()