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