Lines Matching defs:RepairPt
135 RegBankSelect::RepairingPlacement &RepairPt,
156 assert((RepairPt.getNumInsertPoints() == 1 || Dst.isPhysical()) &&
212 if (RepairPt.getNumInsertPoints() != 1)
219 new MachineInstr *[RepairPt.getNumInsertPoints()]);
222 for (const std::unique_ptr<InsertPoint> &InsertPt : RepairPt) {
307 for (RepairingPlacement &RepairPt : LocalRepairPts)
308 RepairPts.emplace_back(std::move(RepairPt));
324 RegBankSelect::RepairingPlacement &RepairPt, const MachineOperand &MO,
327 assert(RepairPt.hasSplit() && "We should not have to adjust for split");
332 assert(&MI.getOperand(RepairPt.getOpIdx()) == &MO &&
352 RepairPt.switchTo(RepairingPlacement::RepairingKind::Reassign);
438 RepairPt.switchTo(RepairingPlacement::RepairingKind::Impossible);
501 RepairingPlacement &RepairPt = RepairPts.back();
506 if (RepairPt.hasSplit())
507 tryAvoidingSplit(RepairPt, MO, ValMapping);
510 if (!RepairPt.canMaterialize()) {
551 for (const std::unique_ptr<InsertPoint> &InsertPt : RepairPt) {
595 for (RepairingPlacement &RepairPt : RepairPts) {
596 if (!RepairPt.canMaterialize() ||
597 RepairPt.getKind() == RepairingPlacement::Impossible)
599 assert(RepairPt.getKind() != RepairingPlacement::None &&
601 unsigned OpIdx = RepairPt.getOpIdx();
607 switch (RepairPt.getKind()) {
618 if (!repairReg(MO, ValMapping, RepairPt, OpdMapper.getVRegs(OpIdx)))