Lines Matching refs:DstReg

125   bool isCopyToReg(MachineInstr &MI, Register &SrcReg, Register &DstReg,
135 bool &IsCopy, Register &DstReg,
176 void scanUses(Register DstReg);
290 Register &DstReg, bool &IsSrcPhys,
293 DstReg = 0;
295 DstReg = MI.getOperand(0).getReg();
298 DstReg = MI.getOperand(0).getReg();
305 IsDstPhys = DstReg.isPhysical();
387 Register SrcReg, DstReg;
390 if (!isCopyToReg(*DefMI, SrcReg, DstReg, IsSrcPhys, IsDstPhys))
398 static bool isTwoAddrUse(MachineInstr &MI, Register Reg, Register &DstReg) {
405 DstReg = MI.getOperand(ti).getReg();
415 Register Reg, MachineBasicBlock *MBB, bool &IsCopy, Register &DstReg,
431 if (isCopyToReg(UseMI, SrcReg, DstReg, IsSrcPhys, IsDstPhys)) {
436 if (isTwoAddrUse(UseMI, Reg, DstReg)) {
437 IsDstPhys = DstReg.isPhysical();
446 isTwoAddrUse(UseMI, MO.getReg(), DstReg)) {
447 IsDstPhys = DstReg.isPhysical();
755 void TwoAddressInstructionPass::scanUses(Register DstReg) {
760 Register Reg = DstReg;
790 bool isNew = DstRegMap.insert(std::make_pair(DstReg, ToReg)).second;
792 assert(DstRegMap[DstReg] == ToReg && "Can't map to two dst registers!");
813 Register SrcReg, DstReg;
814 if (!isCopyToReg(*MI, SrcReg, DstReg, IsSrcPhys, IsDstPhys))
818 DstRegMap.insert(std::make_pair(SrcReg, DstReg));
820 bool isNew = SrcRegMap.insert(std::make_pair(DstReg, SrcReg)).second;
822 assert(SrcRegMap[DstReg] == SrcReg &&
825 scanUses(DstReg);
873 Register DstReg;
874 if (isTwoAddrUse(*KillMI, Reg, DstReg))
1056 Register DstReg;
1057 if (isTwoAddrUse(*KillMI, Reg, DstReg))
1451 Register DstReg = DstMO.getReg();
1453 if (SrcReg == DstReg)
1460 // Constrain the DstReg register class if required.
1461 if (DstReg.isVirtual()) {
1463 MRI->constrainRegClass(DstReg, RC);
1465 SrcMO.setReg(DstReg);
1832 Register DstReg = mi->getOperand(DstIdx).getReg();
1833 if (SrcReg != DstReg &&
1929 Register DstReg = MI.getOperand(0).getReg();
1965 .addReg(DstReg, RegState::Define, SubIdx)
1996 if (DefIsPartial && LIS->hasInterval(DstReg) &&
1997 MRI->shouldTrackSubRegLiveness(DstReg))
1998 LIS->removeInterval(DstReg);