Lines Matching refs:DefMI

167                                     const MachineInstr &DefMI, unsigned DefIdx,  in getOperandLatency()  argument
170 int Latency = PPCGenInstrInfo::getOperandLatency(ItinData, DefMI, DefIdx, in getOperandLatency()
173 if (!DefMI.getParent()) in getOperandLatency()
176 const MachineOperand &DefMO = DefMI.getOperand(DefIdx); in getOperandLatency()
182 &DefMI.getParent()->getParent()->getRegInfo(); in getOperandLatency()
192 Latency = getInstrLatency(ItinData, DefMI); in getOperandLatency()
751 MachineInstr *DefMI = MRI->getVRegDef(Reg); in getConstantFromConstantPool() local
752 for (auto MO2 : DefMI->uses()) in getConstantFromConstantPool()
2058 bool PPCInstrInfo::onlyFoldImmediate(MachineInstr &UseMI, MachineInstr &DefMI, in onlyFoldImmediate() argument
2061 unsigned DefOpc = DefMI.getOpcode(); in onlyFoldImmediate()
2064 if (!DefMI.getOperand(1).isImm()) in onlyFoldImmediate()
2066 if (DefMI.getOperand(1).getImm() != 0) in onlyFoldImmediate()
2125 bool PPCInstrInfo::FoldImmediate(MachineInstr &UseMI, MachineInstr &DefMI, in FoldImmediate() argument
2127 bool Changed = onlyFoldImmediate(UseMI, DefMI, Reg); in FoldImmediate()
2129 DefMI.eraseFromParent(); in FoldImmediate()
3231 MachineInstr *DefMI = nullptr; in getForwardingDefMI() local
3246 DefMI = MRI->getVRegDef(TrueReg); in getForwardingDefMI()
3247 if (DefMI->getOpcode() == PPC::LI || DefMI->getOpcode() == PPC::LI8 || in getForwardingDefMI()
3248 DefMI->getOpcode() == PPC::ADDI || in getForwardingDefMI()
3249 DefMI->getOpcode() == PPC::ADDI8) { in getForwardingDefMI()
3255 if (DefMI->getOpcode() == PPC::LI || DefMI->getOpcode() == PPC::LI8) in getForwardingDefMI()
3291 MachineInstr *DefMI = getDefMIPostRA(Reg, MI, SeenIntermediateUse); in getForwardingDefMI() local
3292 if (DefMI) { in getForwardingDefMI()
3295 switch (DefMI->getOpcode()) { in getForwardingDefMI()
3304 return DefMI; in getForwardingDefMI()
3310 return OpNoForForwarding == ~0U ? nullptr : DefMI; in getForwardingDefMI()
3663 MachineInstr *DefMI = getForwardingDefMI(MI, ForwardingOperand, in convertToImmediateForm() local
3665 if (!DefMI) in convertToImmediateForm()
3672 *KilledDef = DefMI; in convertToImmediateForm()
3678 transformToNewImmFormFedByAdd(MI, *DefMI, ForwardingOperand)) in convertToImmediateForm()
3690 transformToImmFormFedByAdd(MI, III, ForwardingOperand, *DefMI, in convertToImmediateForm()
3697 transformToImmFormFedByLI(MI, III, ForwardingOperand, *DefMI)) in convertToImmediateForm()
3702 if (!HasImmForm && simplifyToLI(MI, *DefMI, ForwardingOperand, KilledDef)) in convertToImmediateForm()
4345 bool PPCInstrInfo::isDefMIElgibleForForwarding(MachineInstr &DefMI, in isDefMIElgibleForForwarding() argument
4349 unsigned Opc = DefMI.getOpcode(); in isDefMIElgibleForForwarding()
4353 assert(DefMI.getNumOperands() >= 3 && in isDefMIElgibleForForwarding()
4355 RegMO = &DefMI.getOperand(1); in isDefMIElgibleForForwarding()
4356 ImmMO = &DefMI.getOperand(2); in isDefMIElgibleForForwarding()
4369 const MachineOperand &RegMO, const MachineInstr &DefMI, in isRegElgibleForForwarding() argument
4389 if (It->modifiesRegister(Reg, &getRegisterInfo()) && (&*It) != &DefMI) in isRegElgibleForForwarding()
4391 else if (It->killsRegister(Reg, &getRegisterInfo()) && (&*It) != &DefMI) in isRegElgibleForForwarding()
4394 if ((&*It) == &DefMI) in isRegElgibleForForwarding()
4397 assert((&*It) == &DefMI && "DefMI is missing"); in isRegElgibleForForwarding()
4401 if (DefMI.modifiesRegister(Reg, &getRegisterInfo())) in isRegElgibleForForwarding()
4408 const MachineInstr &DefMI, in isImmElgibleForForwarding() argument
4413 if (DefMI.getOpcode() == PPC::ADDItocL) { in isImmElgibleForForwarding()
4459 bool PPCInstrInfo::simplifyToLI(MachineInstr &MI, MachineInstr &DefMI, in simplifyToLI() argument
4462 if ((DefMI.getOpcode() != PPC::LI && DefMI.getOpcode() != PPC::LI8) || in simplifyToLI()
4463 !DefMI.getOperand(1).isImm()) in simplifyToLI()
4470 int64_t Immediate = DefMI.getOperand(1).getImm(); in simplifyToLI()
4530 LLVM_DEBUG(DefMI.dump(); MI.dump(); CompareUseMI.dump()); in simplifyToLI()
4659 if (MRI->hasOneUse(DefMI.getOperand(0).getReg())) in simplifyToLI()
4660 DefMI.getOperand(1).setImm(NewImm); in simplifyToLI()
4677 LLVM_DEBUG(DefMI.dump()); in simplifyToLI()
4693 fixupIsDeadOrKill(&DefMI, &MI, ForwardingOperandReg); in simplifyToLI()
4703 MachineInstr &MI, MachineInstr &DefMI, unsigned OpNoForForwarding) const { in transformToNewImmFormFedByAdd() argument
4742 if (!isDefMIElgibleForForwarding(DefMI, III, ImmMO, RegMO)) in transformToNewImmFormFedByAdd()
4751 if (!isImmElgibleForForwarding(*ImmMO, DefMI, III, Imm, ImmBase)) in transformToNewImmFormFedByAdd()
4763 LLVM_DEBUG(DefMI.dump()); in transformToNewImmFormFedByAdd()
4775 if (DefMI.getParent() == MI.getParent()) { in transformToNewImmFormFedByAdd()
4779 MachineBasicBlock::const_reverse_iterator E = DefMI; in transformToNewImmFormFedByAdd()
4790 fixupIsDeadOrKill(&DefMI, &MI, RegMO->getReg()); in transformToNewImmFormFedByAdd()
4792 fixupIsDeadOrKill(&DefMI, &MI, ForwardKilledOperandReg); in transformToNewImmFormFedByAdd()
4806 MachineInstr &DefMI, bool KillDefMI) const { in transformToImmFormFedByAdd() argument
4821 if (!isDefMIElgibleForForwarding(DefMI, III, ImmMO, RegMO)) in transformToImmFormFedByAdd()
4828 if (!isImmElgibleForForwarding(*ImmMO, DefMI, III, Imm)) in transformToImmFormFedByAdd()
4833 if (!isRegElgibleForForwarding(*RegMO, DefMI, MI, KillDefMI, in transformToImmFormFedByAdd()
4850 LLVM_DEBUG(DefMI.dump()); in transformToImmFormFedByAdd()
4869 if (DefMI.getOpcode() == PPC::ADDItocL) in transformToImmFormFedByAdd()
4903 fixupIsDeadOrKill(&DefMI, &MI, RegMO->getReg()); in transformToImmFormFedByAdd()
4908 fixupIsDeadOrKill(&DefMI, &MI, ForwardKilledOperandReg); in transformToImmFormFedByAdd()
4919 MachineInstr &DefMI) const { in transformToImmFormFedByLI()
4921 if ((DefMI.getOpcode() != PPC::LI && DefMI.getOpcode() != PPC::LI8) || in transformToImmFormFedByLI()
4922 !DefMI.getOperand(1).isImm()) in transformToImmFormFedByLI()
4926 int64_t Imm = SignExtend64<16>(DefMI.getOperand(1).getImm()); in transformToImmFormFedByLI()
5064 fixupIsDeadOrKill(&DefMI, &MI, ForwardKilledOperandReg); in transformToImmFormFedByLI()