Lines Matching refs:Def
157 MCRegister Def = MI->getOperand(0).getReg().asMCReg(); in trackCopy() local
161 for (MCRegUnitIterator RUI(Def, &TRI); RUI.isValid(); ++RUI) in trackCopy()
169 if (!is_contained(Copy.DefRegs, Def)) in trackCopy()
170 Copy.DefRegs.push_back(Def); in trackCopy()
281 bool eraseIfRedundant(MachineInstr &Copy, MCRegister Src, MCRegister Def);
291 const MachineOperand &MODef, Register Def);
337 MCRegister Def, const TargetRegisterInfo *TRI) { in isNopCopy() argument
340 if (Src == PreviousSrc && Def == PreviousDef) in isNopCopy()
345 return SubIdx == TRI->getSubRegIndex(PreviousDef, Def); in isNopCopy()
352 MCRegister Src, MCRegister Def) { in eraseIfRedundant() argument
355 if (MRI->isReserved(Src) || MRI->isReserved(Def)) in eraseIfRedundant()
359 MachineInstr *PrevCopy = Tracker.findAvailCopy(Copy, Def, *TRI); in eraseIfRedundant()
366 if (!isNopCopy(*PrevCopy, Src, Def, TRI)) in eraseIfRedundant()
375 assert(CopyDef == Src || CopyDef == Def); in eraseIfRedundant()
388 Register Def = Copy.getOperand(0).getReg(); in isBackwardPropagatableRegClassCopy() local
392 return URC->contains(Def); in isBackwardPropagatableRegClassCopy()
468 const MachineInstr &MI, const MachineOperand &MODef, Register Def) { in hasOverlappingMultipleDef() argument
471 TRI->regsOverlap(Def, MIDef.getReg())) in hasOverlappingMultipleDef()
585 MCRegister Def = MI->getOperand(0).getReg().asMCReg(); in ForwardCopyPropagateBlock() local
603 if (eraseIfRedundant(*MI, Def, Src) || eraseIfRedundant(*MI, Src, Def)) in ForwardCopyPropagateBlock()
626 if (!MRI->isReserved(Def)) in ForwardCopyPropagateBlock()
636 Tracker.clobberRegister(Def, *TRI); in ForwardCopyPropagateBlock()
753 Register Def = MI.getOperand(0).getReg(); in isBackwardPropagatableCopy() local
756 if (!Def || !Src) in isBackwardPropagatableCopy()
759 if (MRI.isReserved(Def) || MRI.isReserved(Src)) in isBackwardPropagatableCopy()
792 Register Def = Copy->getOperand(0).getReg(); in propagateDefs() local
804 if (hasOverlappingMultipleDef(MI, MODef, Def)) in propagateDefs()
808 << "\n with " << printReg(Def, TRI) << "\n in " in propagateDefs()
811 MODef.setReg(Def); in propagateDefs()
836 MCRegister Def = MI->getOperand(0).getReg().asMCReg(); in BackwardCopyPropagateBlock() local
843 Tracker.invalidateRegister(Def, *TRI); in BackwardCopyPropagateBlock()