Lines Matching defs:DefI
322 const MachineInstr *DefI = Def->getParent();
324 assert(DefI->getParent() == Insert->getParent());
338 if (Def != DefI->defs().begin())
345 for (const auto &SubsequentDef : drop_begin(DefI->defs(), 1)) {
355 const MachineBasicBlock *MBB = DefI->getParent();
356 auto NextI = std::next(MachineBasicBlock::const_iterator(DefI));
364 if (DefI->getOpcode() == WebAssembly::CATCH ||
365 DefI->getOpcode() == WebAssembly::EXTRACT_EXCEPTION_I32)
370 for (const MachineOperand &MO : DefI->operands()) {
400 query(*DefI, AA, Read, Write, Effects, StackPointer);
408 // Scan through the intervening instructions between DefI and Insert.
409 MachineBasicBlock::const_iterator D(DefI), I(Insert);
854 MachineInstr *DefI = getVRegDef(Reg, Insert, MRI, LIS);
855 if (!DefI)
860 if (DefI->isInlineAsm())
865 if (WebAssembly::isArgument(DefI->getOpcode()))
883 if (DefI->getOpcode() == WebAssembly::CATCH)
886 MachineOperand *Def = DefI->findRegisterDefOperand(Reg);
895 bool SameBlock = DefI->getParent() == &MBB;
899 if (CanMove && hasOneUse(Reg, DefI, MRI, MDT, LIS)) {
900 Insert = moveForSingleUse(Reg, Use, DefI, MBB, Insert, LIS, MFI, MRI);
907 } else if (shouldRematerialize(*DefI, AA, TII)) {
909 rematerializeCheapDef(Reg, Use, *DefI, MBB, Insert->getIterator(),
913 Insert = moveAndTeeForMultiUse(Reg, Use, DefI, MBB, Insert, LIS, MFI,