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()
2047 bool PPCInstrInfo::onlyFoldImmediate(MachineInstr &UseMI, MachineInstr &DefMI, in onlyFoldImmediate() argument
2050 unsigned DefOpc = DefMI.getOpcode(); in onlyFoldImmediate()
2053 if (!DefMI.getOperand(1).isImm()) in onlyFoldImmediate()
2055 if (DefMI.getOperand(1).getImm() != 0) in onlyFoldImmediate()
2118 bool PPCInstrInfo::foldImmediate(MachineInstr &UseMI, MachineInstr &DefMI, in foldImmediate() argument
2120 bool Changed = onlyFoldImmediate(UseMI, DefMI, Reg); in foldImmediate()
2122 DefMI.eraseFromParent(); in foldImmediate()
3400 MachineInstr *DefMI = nullptr; in getForwardingDefMI() local
3421 DefMI = DefMIForTrueReg; in getForwardingDefMI()
3426 if (DefMI->getOpcode() == PPC::LI || DefMI->getOpcode() == PPC::LI8) in getForwardingDefMI()
3462 MachineInstr *DefMI = getDefMIPostRA(Reg, MI, SeenIntermediateUse); in getForwardingDefMI() local
3463 if (DefMI) { in getForwardingDefMI()
3466 switch (DefMI->getOpcode()) { in getForwardingDefMI()
3475 return DefMI; in getForwardingDefMI()
3481 return OpNoForForwarding == ~0U ? nullptr : DefMI; in getForwardingDefMI()
3743 MachineInstr *DefMI = getForwardingDefMI(MI, ForwardingOperand, in convertToImmediateForm() local
3745 if (!DefMI) in convertToImmediateForm()
3752 *KilledDef = DefMI; in convertToImmediateForm()
3756 for (const MachineOperand &MO : DefMI->operands()) in convertToImmediateForm()
3767 transformToNewImmFormFedByAdd(MI, *DefMI, ForwardingOperand)) in convertToImmediateForm()
3779 transformToImmFormFedByAdd(MI, III, ForwardingOperand, *DefMI, in convertToImmediateForm()
3786 transformToImmFormFedByLI(MI, III, ForwardingOperand, *DefMI)) in convertToImmediateForm()
3791 if (!HasImmForm && simplifyToLI(MI, *DefMI, ForwardingOperand, KilledDef)) in convertToImmediateForm()
4434 bool PPCInstrInfo::isDefMIElgibleForForwarding(MachineInstr &DefMI, in isDefMIElgibleForForwarding() argument
4438 unsigned Opc = DefMI.getOpcode(); in isDefMIElgibleForForwarding()
4448 assert(DefMI.getNumOperands() >= 3 && in isDefMIElgibleForForwarding()
4450 RegMO = &DefMI.getOperand(1); in isDefMIElgibleForForwarding()
4451 ImmMO = &DefMI.getOperand(2); in isDefMIElgibleForForwarding()
4464 const MachineOperand &RegMO, const MachineInstr &DefMI, in isRegElgibleForForwarding() argument
4484 if (It->modifiesRegister(Reg, &getRegisterInfo()) && (&*It) != &DefMI) in isRegElgibleForForwarding()
4486 else if (It->killsRegister(Reg, &getRegisterInfo()) && (&*It) != &DefMI) in isRegElgibleForForwarding()
4488 if (It->readsRegister(Reg, &getRegisterInfo()) && (&*It) != &DefMI) in isRegElgibleForForwarding()
4491 if ((&*It) == &DefMI) in isRegElgibleForForwarding()
4494 assert((&*It) == &DefMI && "DefMI is missing"); in isRegElgibleForForwarding()
4498 if (DefMI.modifiesRegister(Reg, &getRegisterInfo())) in isRegElgibleForForwarding()
4505 const MachineInstr &DefMI, in isImmElgibleForForwarding() argument
4510 if (DefMI.getOpcode() == PPC::ADDItocL8) { in isImmElgibleForForwarding()
4556 bool PPCInstrInfo::simplifyToLI(MachineInstr &MI, MachineInstr &DefMI, in simplifyToLI() argument
4559 if ((DefMI.getOpcode() != PPC::LI && DefMI.getOpcode() != PPC::LI8) || in simplifyToLI()
4560 !DefMI.getOperand(1).isImm()) in simplifyToLI()
4567 int64_t Immediate = DefMI.getOperand(1).getImm(); in simplifyToLI()
4624 LLVM_DEBUG(DefMI.dump(); MI.dump(); CompareUseMI.dump()); in simplifyToLI()
4753 if (MRI->hasOneUse(DefMI.getOperand(0).getReg())) in simplifyToLI()
4754 DefMI.getOperand(1).setImm(NewImm); in simplifyToLI()
4771 LLVM_DEBUG(DefMI.dump()); in simplifyToLI()
4793 MachineInstr &MI, MachineInstr &DefMI, unsigned OpNoForForwarding) const { in transformToNewImmFormFedByAdd() argument
4832 if (!isDefMIElgibleForForwarding(DefMI, III, ImmMO, RegMO)) in transformToNewImmFormFedByAdd()
4841 if (!isImmElgibleForForwarding(*ImmMO, DefMI, III, Imm, ImmBase)) in transformToNewImmFormFedByAdd()
4848 LLVM_DEBUG(DefMI.dump()); in transformToNewImmFormFedByAdd()
4864 MachineInstr &DefMI, bool KillDefMI) const { in transformToImmFormFedByAdd() argument
4879 if (!isDefMIElgibleForForwarding(DefMI, III, ImmMO, RegMO)) in transformToImmFormFedByAdd()
4886 if (!isImmElgibleForForwarding(*ImmMO, DefMI, III, Imm)) in transformToImmFormFedByAdd()
4892 if (!isRegElgibleForForwarding(*RegMO, DefMI, MI, KillDefMI, in transformToImmFormFedByAdd()
4905 LLVM_DEBUG(DefMI.dump()); in transformToImmFormFedByAdd()
4924 if (DefMI.getOpcode() == PPC::ADDItocL8) in transformToImmFormFedByAdd()
4960 MachineInstr &DefMI) const { in transformToImmFormFedByLI()
4962 if ((DefMI.getOpcode() != PPC::LI && DefMI.getOpcode() != PPC::LI8) || in transformToImmFormFedByLI()
4963 !DefMI.getOperand(1).isImm()) in transformToImmFormFedByLI()
4967 int64_t Imm = SignExtend64<16>(DefMI.getOperand(1).getImm()); in transformToImmFormFedByLI()
5021 LLVM_DEBUG(DefMI.dump()); in transformToImmFormFedByLI()