Lines Matching refs:DefI
317 const MachineInstr *DefI = Def->getParent(); in isSafeToMove() local
319 assert(DefI->getParent() == Insert->getParent()); in isSafeToMove()
333 if (Def != DefI->defs().begin()) in isSafeToMove()
340 for (const auto &SubsequentDef : drop_begin(DefI->defs())) { in isSafeToMove()
350 const MachineBasicBlock *MBB = DefI->getParent(); in isSafeToMove()
351 auto NextI = std::next(MachineBasicBlock::const_iterator(DefI)); in isSafeToMove()
359 if (WebAssembly::isCatch(DefI->getOpcode())) in isSafeToMove()
364 for (const MachineOperand &MO : DefI->operands()) { in isSafeToMove()
394 query(*DefI, AA, Read, Write, Effects, StackPointer); in isSafeToMove()
403 MachineBasicBlock::const_iterator D(DefI), I(Insert); in isSafeToMove()
847 MachineInstr *DefI = getVRegDef(Reg, Insert, MRI, LIS); in runOnMachineFunction() local
848 if (!DefI) in runOnMachineFunction()
853 if (DefI->isInlineAsm()) in runOnMachineFunction()
858 if (WebAssembly::isArgument(DefI->getOpcode())) in runOnMachineFunction()
861 MachineOperand *Def = DefI->findRegisterDefOperand(Reg); in runOnMachineFunction()
870 bool SameBlock = DefI->getParent() == &MBB; in runOnMachineFunction()
874 if (CanMove && hasOneUse(Reg, DefI, MRI, MDT, LIS)) { in runOnMachineFunction()
875 Insert = moveForSingleUse(Reg, Use, DefI, MBB, Insert, LIS, MFI, MRI); in runOnMachineFunction()
882 } else if (shouldRematerialize(*DefI, AA, TII)) { in runOnMachineFunction()
884 rematerializeCheapDef(Reg, Use, *DefI, MBB, Insert->getIterator(), in runOnMachineFunction()
888 Insert = moveAndTeeForMultiUse(Reg, Use, DefI, MBB, Insert, LIS, MFI, in runOnMachineFunction()