Lines Matching defs:StartIdx
268 static hash_code hashPartialMapping(unsigned StartIdx, unsigned Length,
270 return hash_combine(StartIdx, Length, RegBank ? RegBank->getID() : 0);
276 return hashPartialMapping(PartMapping.StartIdx, PartMapping.Length,
281 RegisterBankInfo::getPartialMapping(unsigned StartIdx, unsigned Length,
285 hash_code Hash = hashPartialMapping(StartIdx, Length, &RegBank);
293 PartMapping = std::make_unique<PartialMapping>(StartIdx, Length, RegBank);
298 RegisterBankInfo::getValueMapping(unsigned StartIdx, unsigned Length,
300 return getValueMapping(&getPartialMapping(StartIdx, Length, RegBank), 1);
527 assert((StartIdx <= getHighBitIdx()) && "Overflow, switch to APInt?");
535 OS << "[" << StartIdx << ", " << getHighBitIdx() << "], RegBank = ";
576 APInt PartMapMask = APInt::getBitsSet(OrigValueBitWidth, PartMap.StartIdx,
679 int StartIdx = OpToNewVRegIdx[OpIdx];
681 if (StartIdx == OperandsMapper::DontKnowIdx) {
685 StartIdx = NewVRegs.size();
686 OpToNewVRegIdx[OpIdx] = StartIdx;
691 getNewVRegsEnd(StartIdx, NumPartialVal);
693 return make_range(&NewVRegs[StartIdx], End);
697 RegisterBankInfo::OperandsMapper::getNewVRegsEnd(unsigned StartIdx,
699 return const_cast<OperandsMapper *>(this)->getNewVRegsEnd(StartIdx, NumVal);
702 RegisterBankInfo::OperandsMapper::getNewVRegsEnd(unsigned StartIdx,
704 assert((NewVRegs.size() == StartIdx + NumVal ||
705 NewVRegs.size() > StartIdx + NumVal) &&
707 return NewVRegs.size() <= StartIdx + NumVal ? NewVRegs.end()
708 : &NewVRegs[StartIdx + NumVal];
750 int StartIdx = OpToNewVRegIdx[OpIdx];
752 if (StartIdx == OperandsMapper::DontKnowIdx)
758 getNewVRegsEnd(StartIdx, PartMapSize);
760 make_range(&NewVRegs[StartIdx], End);