Lines Matching refs:DefMI

169     const InstrItineraryData *ItinData, const MachineInstr &DefMI,  in getOperandLatency()  argument
172 ItinData, DefMI, DefIdx, UseMI, UseIdx); in getOperandLatency()
174 if (!DefMI.getParent()) in getOperandLatency()
177 const MachineOperand &DefMO = DefMI.getOperand(DefIdx); in getOperandLatency()
183 &DefMI.getParent()->getParent()->getRegInfo(); in getOperandLatency()
193 Latency = getInstrLatency(ItinData, DefMI); in getOperandLatency()
732 MachineInstr *DefMI = MRI->getVRegDef(Reg); in getConstantFromConstantPool() local
733 for (auto MO2 : DefMI->uses()) in getConstantFromConstantPool()
2032 bool PPCInstrInfo::onlyFoldImmediate(MachineInstr &UseMI, MachineInstr &DefMI, in onlyFoldImmediate() argument
2035 unsigned DefOpc = DefMI.getOpcode(); in onlyFoldImmediate()
2038 if (!DefMI.getOperand(1).isImm()) in onlyFoldImmediate()
2040 if (DefMI.getOperand(1).getImm() != 0) in onlyFoldImmediate()
2103 bool PPCInstrInfo::FoldImmediate(MachineInstr &UseMI, MachineInstr &DefMI, in FoldImmediate() argument
2105 bool Changed = onlyFoldImmediate(UseMI, DefMI, Reg); in FoldImmediate()
2107 DefMI.eraseFromParent(); in FoldImmediate()
3343 MachineInstr *DefMI = nullptr; in getForwardingDefMI() local
3364 DefMI = DefMIForTrueReg; in getForwardingDefMI()
3369 if (DefMI->getOpcode() == PPC::LI || DefMI->getOpcode() == PPC::LI8) in getForwardingDefMI()
3405 MachineInstr *DefMI = getDefMIPostRA(Reg, MI, SeenIntermediateUse); in getForwardingDefMI() local
3406 if (DefMI) { in getForwardingDefMI()
3409 switch (DefMI->getOpcode()) { in getForwardingDefMI()
3418 return DefMI; in getForwardingDefMI()
3424 return OpNoForForwarding == ~0U ? nullptr : DefMI; in getForwardingDefMI()
3685 MachineInstr *DefMI = getForwardingDefMI(MI, ForwardingOperand, in convertToImmediateForm() local
3687 if (!DefMI) in convertToImmediateForm()
3694 *KilledDef = DefMI; in convertToImmediateForm()
3698 for (const MachineOperand &MO : DefMI->operands()) in convertToImmediateForm()
3709 transformToNewImmFormFedByAdd(MI, *DefMI, ForwardingOperand)) in convertToImmediateForm()
3721 transformToImmFormFedByAdd(MI, III, ForwardingOperand, *DefMI, in convertToImmediateForm()
3728 transformToImmFormFedByLI(MI, III, ForwardingOperand, *DefMI)) in convertToImmediateForm()
3733 if (!HasImmForm && simplifyToLI(MI, *DefMI, ForwardingOperand, KilledDef)) in convertToImmediateForm()
4376 bool PPCInstrInfo::isDefMIElgibleForForwarding(MachineInstr &DefMI, in isDefMIElgibleForForwarding() argument
4380 unsigned Opc = DefMI.getOpcode(); in isDefMIElgibleForForwarding()
4384 assert(DefMI.getNumOperands() >= 3 && in isDefMIElgibleForForwarding()
4386 RegMO = &DefMI.getOperand(1); in isDefMIElgibleForForwarding()
4387 ImmMO = &DefMI.getOperand(2); in isDefMIElgibleForForwarding()
4400 const MachineOperand &RegMO, const MachineInstr &DefMI, in isRegElgibleForForwarding() argument
4420 if (It->modifiesRegister(Reg, &getRegisterInfo()) && (&*It) != &DefMI) in isRegElgibleForForwarding()
4422 else if (It->killsRegister(Reg, &getRegisterInfo()) && (&*It) != &DefMI) in isRegElgibleForForwarding()
4424 if (It->readsRegister(Reg, &getRegisterInfo()) && (&*It) != &DefMI) in isRegElgibleForForwarding()
4427 if ((&*It) == &DefMI) in isRegElgibleForForwarding()
4430 assert((&*It) == &DefMI && "DefMI is missing"); in isRegElgibleForForwarding()
4434 if (DefMI.modifiesRegister(Reg, &getRegisterInfo())) in isRegElgibleForForwarding()
4441 const MachineInstr &DefMI, in isImmElgibleForForwarding() argument
4446 if (DefMI.getOpcode() == PPC::ADDItocL) { in isImmElgibleForForwarding()
4492 bool PPCInstrInfo::simplifyToLI(MachineInstr &MI, MachineInstr &DefMI, in simplifyToLI() argument
4495 if ((DefMI.getOpcode() != PPC::LI && DefMI.getOpcode() != PPC::LI8) || in simplifyToLI()
4496 !DefMI.getOperand(1).isImm()) in simplifyToLI()
4503 int64_t Immediate = DefMI.getOperand(1).getImm(); in simplifyToLI()
4560 LLVM_DEBUG(DefMI.dump(); MI.dump(); CompareUseMI.dump()); in simplifyToLI()
4689 if (MRI->hasOneUse(DefMI.getOperand(0).getReg())) in simplifyToLI()
4690 DefMI.getOperand(1).setImm(NewImm); in simplifyToLI()
4707 LLVM_DEBUG(DefMI.dump()); in simplifyToLI()
4729 MachineInstr &MI, MachineInstr &DefMI, unsigned OpNoForForwarding) const { in transformToNewImmFormFedByAdd() argument
4768 if (!isDefMIElgibleForForwarding(DefMI, III, ImmMO, RegMO)) in transformToNewImmFormFedByAdd()
4777 if (!isImmElgibleForForwarding(*ImmMO, DefMI, III, Imm, ImmBase)) in transformToNewImmFormFedByAdd()
4784 LLVM_DEBUG(DefMI.dump()); in transformToNewImmFormFedByAdd()
4800 MachineInstr &DefMI, bool KillDefMI) const { in transformToImmFormFedByAdd() argument
4815 if (!isDefMIElgibleForForwarding(DefMI, III, ImmMO, RegMO)) in transformToImmFormFedByAdd()
4822 if (!isImmElgibleForForwarding(*ImmMO, DefMI, III, Imm)) in transformToImmFormFedByAdd()
4828 if (!isRegElgibleForForwarding(*RegMO, DefMI, MI, KillDefMI, in transformToImmFormFedByAdd()
4841 LLVM_DEBUG(DefMI.dump()); in transformToImmFormFedByAdd()
4860 if (DefMI.getOpcode() == PPC::ADDItocL) in transformToImmFormFedByAdd()
4896 MachineInstr &DefMI) const { in transformToImmFormFedByLI()
4898 if ((DefMI.getOpcode() != PPC::LI && DefMI.getOpcode() != PPC::LI8) || in transformToImmFormFedByLI()
4899 !DefMI.getOperand(1).isImm()) in transformToImmFormFedByLI()
4903 int64_t Imm = SignExtend64<16>(DefMI.getOperand(1).getImm()); in transformToImmFormFedByLI()
4957 LLVM_DEBUG(DefMI.dump()); in transformToImmFormFedByLI()