Lines Matching refs:DefMI

644   MachineInstr *DefMI = LIS->getInstructionFromIndex(AValNo->def);
645 if (!DefMI)
647 if (!DefMI->isCommutable())
649 // If DefMI is a two-address instruction then commuting it will change the
651 int DefIdx = DefMI->findRegisterDefOperandIdx(IntA.reg);
654 if (!DefMI->isRegTiedToUseOperand(DefIdx, &UseOpIdx))
657 if (!TII->findCommutedOpIndices(DefMI, Op1, Op2))
666 MachineOperand &NewDstMO = DefMI->getOperand(NewDstIdx);
691 << *DefMI);
695 MachineBasicBlock *MBB = DefMI->getParent();
696 MachineInstr *NewMI = TII->commuteInstruction(DefMI);
703 if (NewMI != DefMI) {
704 LIS->ReplaceMachineInstrInMaps(DefMI, NewMI);
705 MachineBasicBlock::iterator Pos = DefMI;
707 MBB->erase(DefMI);
871 MachineInstr *DefMI = LIS->getInstructionFromIndex(ValNo->def);
872 if (!DefMI)
874 if (DefMI->isCopyLike()) {
878 if (!TII->isAsCheapAsAMove(DefMI))
880 if (!TII->isTriviallyReMaterializable(DefMI, AA))
882 if (!definesFullReg(*DefMI, SrcReg))
885 if (!DefMI->isSafeToMove(TII, AA, SawStore))
887 const MCInstrDesc &MCID = DefMI->getDesc();
905 if (!DefMI->isImplicitDef()) {
910 DefMI->getOperand(0).getSubReg());
929 TII->reMaterialize(*MBB, MII, DstReg, SrcIdx, DefMI, *TRI);
1688 /// Compute the bitmask of lanes actually written by DefMI.
1691 unsigned computeWriteLanes(const MachineInstr *DefMI, bool &Redef) const;
1787 unsigned JoinVals::computeWriteLanes(const MachineInstr *DefMI, bool &Redef)
1790 for (ConstMIOperands MO(DefMI); MO.isValid(); ++MO) {
1872 const MachineInstr *DefMI = nullptr;
1878 DefMI = Indexes->getInstructionFromIndex(VNI->def);
1879 assert(DefMI != nullptr);
1883 if (DefMI->isImplicitDef()) {
1889 V.ValidLanes = V.WriteLanes = computeWriteLanes(DefMI, Redef);
1893 // This only covers partial redef operands. DefMI may have normal use
1917 if (DefMI->isImplicitDef()) {
1984 if (OtherV.ErasableImplicitDef && DefMI &&
1985 DefMI->getParent() != Indexes->getMBBFromIndex(V.OtherVNI->def)) {
1987 << " extends into BB#" << DefMI->getParent()->getNumber()
1998 if (DefMI->isImplicitDef()) {
2007 // Include the non-conflict where DefMI is a coalescable copy that kills
2009 if (CP.isCoalescable(DefMI)) {
2016 // This may not be a real conflict if DefMI simply kills Other and defines
2026 if (DefMI->isFullCopy() && !CP.isPartial()
2045 // If the other live range is killed by DefMI and the live ranges are still