Lines Matching defs:OrigMI
81 /// allUsesAvailableAt - Return true if all registers used by OrigMI at
83 bool LiveRangeEdit::allUsesAvailableAt(const MachineInstr *OrigMI,
88 for (unsigned i = 0, e = OrigMI->getNumOperands(); i != e; ++i) {
89 const MachineOperand &MO = OrigMI->getOperand(i);
95 if (MRI.isConstantPhysReg(MO.getReg(), *OrigMI->getParent()->getParent()))
106 // It would be incorrect if OrigMI redefines the register.
128 if (RM.OrigMI)
129 DefIdx = LIS.getInstructionIndex(RM.OrigMI);
132 RM.OrigMI = LIS.getInstructionFromIndex(DefIdx);
133 assert(RM.OrigMI && "No defining instruction for remattable value");
137 if (cheapAsAMove && !RM.OrigMI->isAsCheapAsAMove())
141 if (!allUsesAvailableAt(RM.OrigMI, DefIdx, UseIdx))
153 assert(RM.OrigMI && "Invalid remat");
154 TII.reMaterialize(MBB, MI, DestReg, 0, RM.OrigMI, tri);