Lines Matching refs:IntB
222 bool hasOtherReachingDefs(LiveInterval &IntA, LiveInterval &IntB,
540 LiveInterval &IntB = in adjustCopiesBackFrom() local
560 LiveInterval::iterator BS = IntB.FindSegmentContaining(CopyIdx); in adjustCopiesBackFrom()
561 if (BS == IntB.end()) return false; in adjustCopiesBackFrom()
585 IntB.FindSegmentContaining(AValNo->def.getPrevSlot()); in adjustCopiesBackFrom()
586 if (ValS == IntB.end()) in adjustCopiesBackFrom()
601 LLVM_DEBUG(dbgs() << "Extending: " << printReg(IntB.reg, TRI)); in adjustCopiesBackFrom()
612 IntB.addSegment(LiveInterval::Segment(FillerStart, FillerEnd, BValNo)); in adjustCopiesBackFrom()
616 IntB.MergeValueNumberInto(BValNo, ValS->valno); in adjustCopiesBackFrom()
619 for (LiveInterval::SubRange &S : IntB.subranges()) { in adjustCopiesBackFrom()
634 LLVM_DEBUG(dbgs() << " result = " << IntB << '\n'); in adjustCopiesBackFrom()
638 int UIdx = ValSEndInst->findRegisterUseOperandIdx(IntB.reg, true); in adjustCopiesBackFrom()
644 CopyMI->substituteRegister(IntA.reg, IntB.reg, 0, *TRI); in adjustCopiesBackFrom()
665 LiveInterval &IntB, in hasOtherReachingDefs() argument
676 std::upper_bound(IntB.begin(), IntB.end(), ASeg.start); in hasOtherReachingDefs()
677 if (BI != IntB.begin()) in hasOtherReachingDefs()
679 for (; BI != IntB.end() && ASeg.end >= BI->start; ++BI) { in hasOtherReachingDefs()
723 LiveInterval &IntB = in removeCopyByCommutingDef() local
749 VNInfo *BValNo = IntB.getVNInfoAt(CopyIdx); in removeCopyByCommutingDef()
785 if (NewReg != IntB.reg || !IntB.Query(AValNo->def).isKill()) in removeCopyByCommutingDef()
790 if (hasOtherReachingDefs(IntA, IntB, AValNo, BValNo)) in removeCopyByCommutingDef()
818 TargetRegisterInfo::isVirtualRegister(IntB.reg) && in removeCopyByCommutingDef()
819 !MRI->constrainRegClass(IntB.reg, MRI->getRegClass(IntA.reg))) in removeCopyByCommutingDef()
867 if (UseMI->getOperand(0).getReg() != IntB.reg || in removeCopyByCommutingDef()
874 VNInfo *DVNI = IntB.getVNInfoAt(DefIdx); in removeCopyByCommutingDef()
879 BValNo = IntB.MergeValueNumberInto(DVNI, BValNo); in removeCopyByCommutingDef()
880 for (LiveInterval::SubRange &S : IntB.subranges()) { in removeCopyByCommutingDef()
896 if (IntA.hasSubRanges() || IntB.hasSubRanges()) { in removeCopyByCommutingDef()
900 } else if (!IntB.hasSubRanges()) { in removeCopyByCommutingDef()
901 LaneBitmask Mask = MRI->getMaxLaneMaskForVReg(IntB.reg); in removeCopyByCommutingDef()
902 IntB.createSubRangeFrom(Allocator, Mask, IntB); in removeCopyByCommutingDef()
911 IntB.refineSubRanges(Allocator, SA.LaneMask, in removeCopyByCommutingDef()
927 for (LiveInterval::SubRange &SB : IntB.subranges()) { in removeCopyByCommutingDef()
937 auto P = addSegmentsWithValNo(IntB, BValNo, IntA, AValNo); in removeCopyByCommutingDef()
939 LLVM_DEBUG(dbgs() << "\t\textended: " << IntB << '\n'); in removeCopyByCommutingDef()
1010 LiveInterval &IntB = in removePartialRedundancy() local
1021 if (IntB.overlaps(LIS->getMBBStartIdx(&MBB), CopyIdx)) in removePartialRedundancy()
1037 DefMI->getOperand(1).getReg() != IntB.reg || in removePartialRedundancy()
1046 for (auto VNI : IntB.valnos) { in removePartialRedundancy()
1085 if (IntB.overlaps(InsPosIdx, LIS->getMBBEndIdx(CopyLeftBB))) in removePartialRedundancy()
1094 TII->get(TargetOpcode::COPY), IntB.reg) in removePartialRedundancy()
1098 IntB.createDeadDef(NewCopyIdx, LIS->getVNInfoAllocator()); in removePartialRedundancy()
1099 for (LiveInterval::SubRange &SR : IntB.subranges()) in removePartialRedundancy()
1120 VNInfo *BValNo = IntB.Query(CopyIdx).valueOutOrDead(); in removePartialRedundancy()
1121 LIS->pruneValue(*static_cast<LiveRange *>(&IntB), CopyIdx.getRegSlot(), in removePartialRedundancy()
1125 LIS->extendToIndices(IntB, EndPoints); in removePartialRedundancy()
1128 for (LiveInterval::SubRange &SR : IntB.subranges()) { in removePartialRedundancy()
1151 shrinkToUses(&IntB); in removePartialRedundancy()