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()
2065 bool PPCInstrInfo::onlyFoldImmediate(MachineInstr &UseMI, MachineInstr &DefMI, in onlyFoldImmediate() argument
2068 unsigned DefOpc = DefMI.getOpcode(); in onlyFoldImmediate()
2071 if (!DefMI.getOperand(1).isImm()) in onlyFoldImmediate()
2073 if (DefMI.getOperand(1).getImm() != 0) in onlyFoldImmediate()
2132 bool PPCInstrInfo::FoldImmediate(MachineInstr &UseMI, MachineInstr &DefMI, in FoldImmediate() argument
2134 bool Changed = onlyFoldImmediate(UseMI, DefMI, Reg); in FoldImmediate()
2136 DefMI.eraseFromParent(); in FoldImmediate()
3283 MachineInstr *DefMI = nullptr; in getForwardingDefMI() local
3298 DefMI = MRI->getVRegDef(TrueReg); in getForwardingDefMI()
3299 if (DefMI->getOpcode() == PPC::LI || DefMI->getOpcode() == PPC::LI8 || in getForwardingDefMI()
3300 DefMI->getOpcode() == PPC::ADDI || in getForwardingDefMI()
3301 DefMI->getOpcode() == PPC::ADDI8) { in getForwardingDefMI()
3307 if (DefMI->getOpcode() == PPC::LI || DefMI->getOpcode() == PPC::LI8) in getForwardingDefMI()
3343 MachineInstr *DefMI = getDefMIPostRA(Reg, MI, SeenIntermediateUse); in getForwardingDefMI() local
3344 if (DefMI) { in getForwardingDefMI()
3347 switch (DefMI->getOpcode()) { in getForwardingDefMI()
3356 return DefMI; in getForwardingDefMI()
3362 return OpNoForForwarding == ~0U ? nullptr : DefMI; in getForwardingDefMI()
3715 MachineInstr *DefMI = getForwardingDefMI(MI, ForwardingOperand, in convertToImmediateForm() local
3717 if (!DefMI) in convertToImmediateForm()
3724 *KilledDef = DefMI; in convertToImmediateForm()
3730 transformToNewImmFormFedByAdd(MI, *DefMI, ForwardingOperand)) in convertToImmediateForm()
3742 transformToImmFormFedByAdd(MI, III, ForwardingOperand, *DefMI, in convertToImmediateForm()
3749 transformToImmFormFedByLI(MI, III, ForwardingOperand, *DefMI)) in convertToImmediateForm()
3754 if (!HasImmForm && simplifyToLI(MI, *DefMI, ForwardingOperand, KilledDef)) in convertToImmediateForm()
4397 bool PPCInstrInfo::isDefMIElgibleForForwarding(MachineInstr &DefMI, in isDefMIElgibleForForwarding() argument
4401 unsigned Opc = DefMI.getOpcode(); in isDefMIElgibleForForwarding()
4405 assert(DefMI.getNumOperands() >= 3 && in isDefMIElgibleForForwarding()
4407 RegMO = &DefMI.getOperand(1); in isDefMIElgibleForForwarding()
4408 ImmMO = &DefMI.getOperand(2); in isDefMIElgibleForForwarding()
4421 const MachineOperand &RegMO, const MachineInstr &DefMI, in isRegElgibleForForwarding() argument
4441 if (It->modifiesRegister(Reg, &getRegisterInfo()) && (&*It) != &DefMI) in isRegElgibleForForwarding()
4443 else if (It->killsRegister(Reg, &getRegisterInfo()) && (&*It) != &DefMI) in isRegElgibleForForwarding()
4446 if ((&*It) == &DefMI) in isRegElgibleForForwarding()
4449 assert((&*It) == &DefMI && "DefMI is missing"); in isRegElgibleForForwarding()
4453 if (DefMI.modifiesRegister(Reg, &getRegisterInfo())) in isRegElgibleForForwarding()
4460 const MachineInstr &DefMI, in isImmElgibleForForwarding() argument
4465 if (DefMI.getOpcode() == PPC::ADDItocL) { in isImmElgibleForForwarding()
4511 bool PPCInstrInfo::simplifyToLI(MachineInstr &MI, MachineInstr &DefMI, in simplifyToLI() argument
4514 if ((DefMI.getOpcode() != PPC::LI && DefMI.getOpcode() != PPC::LI8) || in simplifyToLI()
4515 !DefMI.getOperand(1).isImm()) in simplifyToLI()
4522 int64_t Immediate = DefMI.getOperand(1).getImm(); in simplifyToLI()
4582 LLVM_DEBUG(DefMI.dump(); MI.dump(); CompareUseMI.dump()); in simplifyToLI()
4711 if (MRI->hasOneUse(DefMI.getOperand(0).getReg())) in simplifyToLI()
4712 DefMI.getOperand(1).setImm(NewImm); in simplifyToLI()
4729 LLVM_DEBUG(DefMI.dump()); in simplifyToLI()
4745 fixupIsDeadOrKill(&DefMI, &MI, ForwardingOperandReg); in simplifyToLI()
4755 MachineInstr &MI, MachineInstr &DefMI, unsigned OpNoForForwarding) const { in transformToNewImmFormFedByAdd() argument
4794 if (!isDefMIElgibleForForwarding(DefMI, III, ImmMO, RegMO)) in transformToNewImmFormFedByAdd()
4803 if (!isImmElgibleForForwarding(*ImmMO, DefMI, III, Imm, ImmBase)) in transformToNewImmFormFedByAdd()
4815 LLVM_DEBUG(DefMI.dump()); in transformToNewImmFormFedByAdd()
4827 if (DefMI.getParent() == MI.getParent()) { in transformToNewImmFormFedByAdd()
4831 MachineBasicBlock::const_reverse_iterator E = DefMI; in transformToNewImmFormFedByAdd()
4842 fixupIsDeadOrKill(&DefMI, &MI, RegMO->getReg()); in transformToNewImmFormFedByAdd()
4844 fixupIsDeadOrKill(&DefMI, &MI, ForwardKilledOperandReg); in transformToNewImmFormFedByAdd()
4858 MachineInstr &DefMI, bool KillDefMI) const { in transformToImmFormFedByAdd() argument
4873 if (!isDefMIElgibleForForwarding(DefMI, III, ImmMO, RegMO)) in transformToImmFormFedByAdd()
4880 if (!isImmElgibleForForwarding(*ImmMO, DefMI, III, Imm)) in transformToImmFormFedByAdd()
4885 if (!isRegElgibleForForwarding(*RegMO, DefMI, MI, KillDefMI, in transformToImmFormFedByAdd()
4902 LLVM_DEBUG(DefMI.dump()); in transformToImmFormFedByAdd()
4921 if (DefMI.getOpcode() == PPC::ADDItocL) in transformToImmFormFedByAdd()
4955 fixupIsDeadOrKill(&DefMI, &MI, RegMO->getReg()); in transformToImmFormFedByAdd()
4960 fixupIsDeadOrKill(&DefMI, &MI, ForwardKilledOperandReg); in transformToImmFormFedByAdd()
4971 MachineInstr &DefMI) const { in transformToImmFormFedByLI()
4973 if ((DefMI.getOpcode() != PPC::LI && DefMI.getOpcode() != PPC::LI8) || in transformToImmFormFedByLI()
4974 !DefMI.getOperand(1).isImm()) in transformToImmFormFedByLI()
4978 int64_t Imm = SignExtend64<16>(DefMI.getOperand(1).getImm()); in transformToImmFormFedByLI()
5116 fixupIsDeadOrKill(&DefMI, &MI, ForwardKilledOperandReg); in transformToImmFormFedByLI()