Lines Matching refs:SrcReg
333 unsigned &SrcReg, unsigned &DstReg, in isCopyToReg() argument
335 SrcReg = 0; in isCopyToReg()
339 SrcReg = MI.getOperand(1).getReg(); in isCopyToReg()
342 SrcReg = MI.getOperand(2).getReg(); in isCopyToReg()
346 IsSrcPhys = TargetRegisterInfo::isPhysicalRegister(SrcReg); in isCopyToReg()
382 unsigned SrcReg, DstReg; in isKilled() local
385 if (!isCopyToReg(*DefMI, TII, SrcReg, DstReg, IsSrcPhys, IsDstPhys)) in isKilled()
387 Reg = SrcReg; in isKilled()
424 unsigned SrcReg; in findOnlyInterestingUse() local
426 if (isCopyToReg(UseMI, TII, SrcReg, DstReg, IsSrcPhys, IsDstPhys)) { in findOnlyInterestingUse()
698 unsigned SrcReg, DstReg; in ProcessCopy() local
699 if (!isCopyToReg(*MI, TII, SrcReg, DstReg, IsSrcPhys, IsDstPhys)) in ProcessCopy()
703 DstRegMap.insert(std::make_pair(SrcReg, DstReg)); in ProcessCopy()
705 bool isNew = SrcRegMap.insert(std::make_pair(DstReg, SrcReg)).second; in ProcessCopy()
707 assert(SrcRegMap[DstReg] == SrcReg && in ProcessCopy()
1214 unsigned SrcReg = SrcMO.getReg(); in collectTiedOperands() local
1217 if (SrcReg == DstReg) in collectTiedOperands()
1220 assert(SrcReg && SrcMO.isUse() && "two address instruction invalid"); in collectTiedOperands()
1233 TiedOperands[SrcReg].push_back(std::make_pair(SrcIdx, DstIdx)); in collectTiedOperands()
1426 unsigned SrcReg = mi->getOperand(SrcIdx).getReg(); in runOnMachineFunction() local
1428 if (SrcReg != DstReg && in runOnMachineFunction()
1475 static void UpdateRegSequenceSrcs(unsigned SrcReg, in UpdateRegSequenceSrcs() argument
1479 for (MachineRegisterInfo::reg_iterator RI = MRI->reg_begin(SrcReg), in UpdateRegSequenceSrcs()
1531 unsigned SrcReg = Srcs[i]; in CoalesceExtSubRegs() local
1532 if (!Seen.insert(SrcReg)) in CoalesceExtSubRegs()
1536 MachineInstr *SrcDefMI = MRI->getUniqueVRegDef(SrcReg); in CoalesceExtSubRegs()
1547 UI = MRI->use_nodbg_begin(SrcReg), in CoalesceExtSubRegs()
1564 if (!TRI->canCombineSubRegIndices(MRI->getRegClass(SrcReg), SrcSubIndices, in CoalesceExtSubRegs()
1586 UI = MRI->use_nodbg_begin(SrcReg), in CoalesceExtSubRegs()
1615 .addReg(SrcReg, 0, NewSrcSubIdx); in CoalesceExtSubRegs()
1619 UI = MRI->use_nodbg_begin(SrcReg), in CoalesceExtSubRegs()
1631 LV->replaceKillInstruction(SrcReg, UseMI, &*CopyMI); in CoalesceExtSubRegs()
1680 unsigned SrcReg = MI->getOperand(i).getReg(); in EliminateRegSequences() local
1688 !TargetRegisterInfo::isPhysicalRegister(SrcReg)) { in EliminateRegSequences()
1689 DefMI = MRI->getUniqueVRegDef(SrcReg); in EliminateRegSequences()
1703 if (!DefMI || !Seen.insert(SrcReg) || in EliminateRegSequences()
1705 !isKill || HasOtherRegSequenceUses(SrcReg, MI, MRI) || in EliminateRegSequences()
1707 MRI->getRegClass(SrcReg), SubIdx)) { in EliminateRegSequences()
1727 if (MI->getOperand(j).getReg() == SrcReg) { in EliminateRegSequences()
1737 .addReg(SrcReg, getKillRegState(isKill), SrcSubIdx); in EliminateRegSequences()
1739 if (LV && isKill && !TargetRegisterInfo::isPhysicalRegister(SrcReg)) in EliminateRegSequences()
1740 LV->replaceKillInstruction(SrcReg, MI, CopyMI); in EliminateRegSequences()
1746 unsigned SrcReg = MI->getOperand(i).getReg(); in EliminateRegSequences() local
1747 if (!SrcReg) continue; in EliminateRegSequences()
1749 UpdateRegSequenceSrcs(SrcReg, DstReg, SubIdx, MRI, *TRI); in EliminateRegSequences()