Lines Matching refs:RepairPt
135 RegBankSelect::RepairingPlacement &RepairPt, in repairReg() argument
156 assert((RepairPt.getNumInsertPoints() == 1 || in repairReg()
211 if (RepairPt.getNumInsertPoints() != 1) in repairReg()
218 new MachineInstr *[RepairPt.getNumInsertPoints()]); in repairReg()
221 for (const std::unique_ptr<InsertPoint> &InsertPt : RepairPt) { in repairReg()
306 for (RepairingPlacement &RepairPt : LocalRepairPts) in findBestMapping()
307 RepairPts.emplace_back(std::move(RepairPt)); in findBestMapping()
323 RegBankSelect::RepairingPlacement &RepairPt, const MachineOperand &MO, in tryAvoidingSplit() argument
326 assert(RepairPt.hasSplit() && "We should not have to adjust for split"); in tryAvoidingSplit()
331 assert(&MI.getOperand(RepairPt.getOpIdx()) == &MO && in tryAvoidingSplit()
351 RepairPt.switchTo(RepairingPlacement::RepairingKind::Reassign); in tryAvoidingSplit()
436 RepairPt.switchTo(RepairingPlacement::RepairingKind::Impossible); in tryAvoidingSplit()
493 RepairingPlacement &RepairPt = RepairPts.back(); in computeMapping() local
498 if (RepairPt.hasSplit()) in computeMapping()
499 tryAvoidingSplit(RepairPt, MO, ValMapping); in computeMapping()
502 if (!RepairPt.canMaterialize()) { in computeMapping()
543 for (const std::unique_ptr<InsertPoint> &InsertPt : RepairPt) { in computeMapping()
587 for (RepairingPlacement &RepairPt : RepairPts) { in applyMapping()
588 if (!RepairPt.canMaterialize() || in applyMapping()
589 RepairPt.getKind() == RepairingPlacement::Impossible) in applyMapping()
591 assert(RepairPt.getKind() != RepairingPlacement::None && in applyMapping()
593 unsigned OpIdx = RepairPt.getOpIdx(); in applyMapping()
599 switch (RepairPt.getKind()) { in applyMapping()
607 if (!repairReg(MO, ValMapping, RepairPt, OpdMapper.getVRegs(OpIdx))) in applyMapping()