Lines Matching refs:DefMI
854 MachineInstr *DefMI = LIS->getInstructionFromIndex(AValNo->def); in removeCopyByCommutingDef() local
855 if (!DefMI) in removeCopyByCommutingDef()
857 if (!DefMI->isCommutable()) in removeCopyByCommutingDef()
861 int DefIdx = DefMI->findRegisterDefOperandIdx(IntA.reg()); in removeCopyByCommutingDef()
864 if (!DefMI->isRegTiedToUseOperand(DefIdx, &UseOpIdx)) in removeCopyByCommutingDef()
877 if (!TII->findCommutedOpIndices(*DefMI, UseOpIdx, NewDstIdx)) in removeCopyByCommutingDef()
880 MachineOperand &NewDstMO = DefMI->getOperand(NewDstIdx); in removeCopyByCommutingDef()
905 << *DefMI); in removeCopyByCommutingDef()
909 MachineBasicBlock *MBB = DefMI->getParent(); in removeCopyByCommutingDef()
911 TII->commuteInstruction(*DefMI, false, UseOpIdx, NewDstIdx); in removeCopyByCommutingDef()
918 if (NewMI != DefMI) { in removeCopyByCommutingDef()
919 LIS->ReplaceMachineInstrInMaps(*DefMI, *NewMI); in removeCopyByCommutingDef()
920 MachineBasicBlock::iterator Pos = DefMI; in removeCopyByCommutingDef()
922 MBB->erase(DefMI); in removeCopyByCommutingDef()
1135 MachineInstr *DefMI = LIS->getInstructionFromIndex(PVal->def); in removePartialRedundancy() local
1136 if (!DefMI || !DefMI->isFullCopy()) { in removePartialRedundancy()
1141 if (DefMI->getOperand(0).getReg() != IntA.reg() || in removePartialRedundancy()
1142 DefMI->getOperand(1).getReg() != IntB.reg() || in removePartialRedundancy()
1143 DefMI->getParent() != Pred) { in removePartialRedundancy()
1300 MachineInstr *DefMI = LIS->getInstructionFromIndex(ValNo->def); in reMaterializeTrivialDef() local
1301 if (!DefMI) in reMaterializeTrivialDef()
1303 if (DefMI->isCopyLike()) { in reMaterializeTrivialDef()
1307 if (!TII->isAsCheapAsAMove(*DefMI)) in reMaterializeTrivialDef()
1309 if (!TII->isTriviallyReMaterializable(*DefMI)) in reMaterializeTrivialDef()
1311 if (!definesFullReg(*DefMI, SrcReg)) in reMaterializeTrivialDef()
1314 if (!DefMI->isSafeToMove(AA, SawStore)) in reMaterializeTrivialDef()
1316 const MCInstrDesc &MCID = DefMI->getDesc(); in reMaterializeTrivialDef()
1334 if (!DefMI->isImplicitDef()) { in reMaterializeTrivialDef()
1339 DefMI->getOperand(0).getSubReg()); in reMaterializeTrivialDef()
1355 if (!allUsesAvailableAt(DefMI, ValNo->def, CopyIdx)) in reMaterializeTrivialDef()
1362 TII->reMaterialize(*MBB, MII, DstReg, SrcIdx, *DefMI, *TRI); in reMaterializeTrivialDef()
2450 LaneBitmask computeWriteLanes(const MachineInstr *DefMI, bool &Redef) const;
2563 LaneBitmask JoinVals::computeWriteLanes(const MachineInstr *DefMI, bool &Redef) in computeWriteLanes() argument
2566 for (const MachineOperand &MO : DefMI->operands()) { in computeWriteLanes()
2665 const MachineInstr *DefMI = nullptr; in analyzeValue() local
2672 DefMI = Indexes->getInstructionFromIndex(VNI->def); in analyzeValue()
2673 assert(DefMI != nullptr); in analyzeValue()
2677 if (DefMI->isImplicitDef()) { in analyzeValue()
2683 V.ValidLanes = V.WriteLanes = computeWriteLanes(DefMI, Redef); in analyzeValue()
2711 if (DefMI->isImplicitDef()) { in analyzeValue()
2781 if (DefMI && in analyzeValue()
2782 DefMI->getParent() != Indexes->getMBBFromIndex(V.OtherVNI->def)) { in analyzeValue()
2785 << printMBBReference(*DefMI->getParent()) in analyzeValue()
2800 if (DefMI->isImplicitDef()) in analyzeValue()
2805 if (CP.isCoalescable(DefMI)) { in analyzeValue()
2822 if (DefMI->isFullCopy() && !CP.isPartial() && in analyzeValue()