Lines Matching refs:Def
187 MCRegister Def = CopyOperands->Destination->getReg().asMCReg(); in trackCopy() local
190 for (MCRegUnitIterator RUI(Def, &TRI); RUI.isValid(); ++RUI) in trackCopy()
198 if (!is_contained(Copy.DefRegs, Def)) in trackCopy()
199 Copy.DefRegs.push_back(Def); in trackCopy()
327 bool eraseIfRedundant(MachineInstr &Copy, MCRegister Src, MCRegister Def);
337 const MachineOperand &MODef, Register Def);
383 MCRegister Def, const TargetRegisterInfo *TRI, in isNopCopy() argument
390 if (Src == PreviousSrc && Def == PreviousDef) in isNopCopy()
395 return SubIdx == TRI->getSubRegIndex(PreviousDef, Def); in isNopCopy()
402 MCRegister Src, MCRegister Def) { in eraseIfRedundant() argument
405 if (MRI->isReserved(Src) || MRI->isReserved(Def)) in eraseIfRedundant()
410 Tracker.findAvailCopy(Copy, Def, *TRI, *TII, UseCopyInstr); in eraseIfRedundant()
418 if (!isNopCopy(*PrevCopy, Src, Def, TRI, TII, UseCopyInstr)) in eraseIfRedundant()
429 assert(CopyDef == Src || CopyDef == Def); in eraseIfRedundant()
444 Register Def = CopyOperands->Destination->getReg(); in isBackwardPropagatableRegClassCopy() local
448 return URC->contains(Def); in isBackwardPropagatableRegClassCopy()
545 const MachineInstr &MI, const MachineOperand &MODef, Register Def) { in hasOverlappingMultipleDef() argument
548 TRI->regsOverlap(Def, MIDef.getReg())) in hasOverlappingMultipleDef()
667 MCRegister Def = RegDef.asMCReg(); in ForwardCopyPropagateBlock() local
685 if (eraseIfRedundant(MI, Def, Src) || eraseIfRedundant(MI, Src, Def)) in ForwardCopyPropagateBlock()
709 if (!MRI->isReserved(Def)) in ForwardCopyPropagateBlock()
719 Tracker.clobberRegister(Def, *TRI, *TII, UseCopyInstr); in ForwardCopyPropagateBlock()
851 Register Def = CopyOperands->Destination->getReg(); in isBackwardPropagatableCopy() local
854 if (!Def || !Src) in isBackwardPropagatableCopy()
857 if (MRI.isReserved(Def) || MRI.isReserved(Src)) in isBackwardPropagatableCopy()
892 Register Def = CopyOperands->Destination->getReg(); in propagateDefs() local
904 if (hasOverlappingMultipleDef(MI, MODef, Def)) in propagateDefs()
908 << "\n with " << printReg(Def, TRI) << "\n in " in propagateDefs()
911 MODef.setReg(Def); in propagateDefs()
934 MCRegister Def = DefReg.asMCReg(); in BackwardCopyPropagateBlock() local
941 Tracker.invalidateRegister(Def, *TRI, *TII, UseCopyInstr); in BackwardCopyPropagateBlock()
993 Register Def = CopyOperands->Destination->getReg(); in BackwardCopyPropagateBlock() local
997 MRI->updateDbgUsersToReg(Src.asMCReg(), Def.asMCReg(), MaybeDeadDbgUsers); in BackwardCopyPropagateBlock()