Lines Matching refs:IntB

156     /// hasOtherReachingDefs - Return true if there are definitions of IntB
158 bool hasOtherReachingDefs(LiveInterval &IntA, LiveInterval &IntB,
412 /// being the source and IntB being the dest, thus this defines a value number
413 /// in IntB. If the source value number (in IntA) is defined by a copy from B,
433 LiveInterval &IntB =
439 LiveInterval::iterator BLR = IntB.FindLiveRangeContaining(CopyIdx);
440 if (BLR == IntB.end()) return false;
455 // If AValNo is defined as a copy from IntB, we can potentially process this.
462 // Get the LiveRange in IntB that this value number starts with.
464 IntB.FindLiveRangeContaining(AValNo->def.getPrevSlot());
465 if (ValLR == IntB.end())
477 // IntB, we can merge them.
480 DEBUG(dbgs() << "Extending: " << PrintReg(IntB.reg, TRI));
491 IntB.addRange(LiveRange(FillerStart, FillerEnd, BValNo));
495 IntB.MergeValueNumberInto(BValNo, ValLR->valno);
496 DEBUG(dbgs() << " result = " << IntB << '\n');
500 int UIdx = ValLREndInst->findRegisterUseOperandIdx(IntB.reg, true);
508 CopyMI->substituteRegister(IntA.reg, IntB.reg, 0, *TRI);
516 /// hasOtherReachingDefs - Return true if there are definitions of IntB
519 LiveInterval &IntB,
522 // If AValNo has PHI kills, conservatively assume that IntB defs can reach
531 std::upper_bound(IntB.ranges.begin(), IntB.ranges.end(), AI->start);
532 if (BI != IntB.ranges.begin())
534 for (; BI != IntB.ranges.end() && AI->end >= BI->start; ++BI) {
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
577 LiveInterval &IntB =
582 VNInfo *BValNo = IntB.getVNInfoAt(CopyIdx);
617 if (NewReg != IntB.reg || !LiveRangeQuery(IntB, AValNo->def).isKill())
620 // Make sure there are no other definitions of IntB that would reach the
622 if (hasOtherReachingDefs(IntA, IntB, AValNo, BValNo))
650 TargetRegisterInfo::isVirtualRegister(IntB.reg) &&
651 !MRI->constrainRegClass(IntB.reg, MRI->getRegClass(IntA.reg)))
671 // Update uses of IntA of the specific Val# with IntB.
697 if (UseMI->getOperand(0).getReg() != IntB.reg ||
704 VNInfo *DVNI = IntB.getVNInfoAt(DefIdx);
709 BValNo = IntB.MergeValueNumberInto(BValNo, DVNI);
722 IntB.addRange(LiveRange(AI->start, AI->end, ValNo));
724 DEBUG(dbgs() << "\t\textended: " << IntB << '\n');