Lines Matching full:mri
72 MachineRegisterInfo *MRI;
113 const MachineRegisterInfo *MRI) {
117 return MRI->getRegClass(Reg)->hasSuperClassEq(&AArch64::GPR64RegClass);
122 const MachineRegisterInfo *MRI) {
124 return (MRI->getRegClass(Reg)->hasSuperClassEq(&AArch64::FPR64RegClass) &&
126 (MRI->getRegClass(Reg)->hasSuperClassEq(&AArch64::FPR128RegClass) &&
136 const MachineRegisterInfo *MRI,
153 MRI) &&
154 isGPR64(MI->getOperand(1).getReg(), MI->getOperand(1).getSubReg(), MRI))
157 MRI) &&
159 MRI)) {
216 if (!MRI->def_empty(OrigSrc0)) {
218 MRI->def_instr_begin(OrigSrc0);
219 assert(std::next(Def) == MRI->def_instr_end() && "Multiple def in SSA!");
220 Src0 = getSrcFromCopy(&*Def, MRI, SubReg0);
226 if (Src0 && MRI->hasOneNonDBGUse(OrigSrc0))
229 if (!MRI->def_empty(OrigSrc1)) {
231 MRI->def_instr_begin(OrigSrc1);
232 assert(std::next(Def) == MRI->def_instr_end() && "Multiple def in SSA!");
233 Src1 = getSrcFromCopy(&*Def, MRI, SubReg1);
238 if (Src1 && MRI->hasOneNonDBGUse(OrigSrc1))
250 Use = MRI->use_instr_nodbg_begin(Dst),
251 E = MRI->use_instr_nodbg_end();
254 if (getSrcFromCopy(&*Use, MRI, SubReg) || isTransformable(&*Use))
309 if (!MRI->def_empty(OrigSrc0)) {
311 MRI->def_instr_begin(OrigSrc0);
312 assert(std::next(Def) == MRI->def_instr_end() && "Multiple def in SSA!");
313 Src0 = getSrcFromCopy(&*Def, MRI, SubReg0);
316 if (Src0 && MRI->hasOneNonDBGUse(OrigSrc0)) {
322 if (!MRI->def_empty(OrigSrc1)) {
324 MRI->def_instr_begin(OrigSrc1);
325 assert(std::next(Def) == MRI->def_instr_end() && "Multiple def in SSA!");
326 Src1 = getSrcFromCopy(&*Def, MRI, SubReg1);
329 if (Src1 && MRI->hasOneNonDBGUse(OrigSrc1)) {
339 Src0 = MRI->createVirtualRegister(&AArch64::FPR64RegClass);
344 Src1 = MRI->createVirtualRegister(&AArch64::FPR64RegClass);
351 unsigned Dst = MRI->createVirtualRegister(&AArch64::FPR64RegClass);
390 MRI = &mf.getRegInfo();