Lines Matching refs:MRI

157     MachineRegisterInfo *MRI;
379 const MachineRegisterInfo &MRI;
419 const MachineRegisterInfo &MRI,
421 : DefSubReg(DefSubReg), Reg(Reg), MRI(MRI), TII(TII) {
423 Def = MRI.getVRegDef(Reg);
424 DefIdx = MRI.def_begin(Reg).getOperandNo();
468 if (MRI->hasOneNonDBGUse(SrcReg))
474 const TargetRegisterClass *DstRC = MRI->getRegClass(DstReg);
485 TRI->getSubClassWithSubReg(MRI->getRegClass(SrcReg), SubIdx) != nullptr;
490 for (MachineInstr &UI : MRI->use_nodbg_instructions(DstReg))
500 for (MachineOperand &UseMO : MRI->use_nodbg_operands(SrcReg)) {
567 for (MachineInstr &UI : MRI->use_nodbg_instructions(DstReg))
571 const TargetRegisterClass *RC = MRI->getRegClass(SrcReg);
581 MRI->clearKillFlags(DstReg);
582 MRI->constrainRegClass(DstReg, DstRC);
585 Register NewVR = MRI->createVirtualRegister(RC);
618 if (TII->optimizeCompareInstr(MI, SrcReg, SrcReg2, CmpMask, CmpValue, MRI)) {
669 const TargetRegisterClass *DefRC = MRI->getRegClass(Reg);
682 ValueTracker ValTracker(CurSrcPair.Reg, CurSrcPair.SubReg, *MRI, TII);
731 const TargetRegisterClass *SrcRC = MRI->getRegClass(CurSrcPair.Reg);
756 insertPHI(MachineRegisterInfo &MRI, const TargetInstrInfo &TII,
761 const TargetRegisterClass *NewRC = MRI.getRegClass(SrcRegs[0].Reg);
765 Register NewVR = MRI.createVirtualRegister(NewRC);
777 MRI.clearKillFlags(RegPair.Reg);
1112 getNewSource(MachineRegisterInfo *MRI, const TargetInstrInfo *TII,
1141 getNewSource(MRI, TII, PHISrc, RewriteMap, HandleMultipleSources));
1146 MachineInstr &NewPHI = insertPHI(*MRI, *TII, NewPHISrcs, OrigPHI);
1196 RegSubRegPair NewSrc = getNewSource(MRI, TII, TrackPair, RewriteMap,
1204 MRI->clearKillFlags(NewSrc.Reg);
1229 RegSubRegPair NewSrc = getNewSource(MRI, TII, Def, RewriteMap);
1232 const TargetRegisterClass *DefRC = MRI->getRegClass(Def.Reg);
1233 Register NewVReg = MRI->createVirtualRegister(DefRC);
1248 MRI->replaceRegWith(Def.Reg, NewVReg);
1249 MRI->clearKillFlags(NewVReg);
1253 MRI->clearKillFlags(NewSrc.Reg);
1320 // To reduce compilation time, we check MRI->hasOneNonDBGUser when inserting
1324 MRI->hasOneNonDBGUser(Reg)) {
1369 if (TII->FoldImmediate(MI, *II->second, Reg, MRI)) {
1425 if (MRI->getRegClass(DstReg) != MRI->getRegClass(PrevDstReg))
1428 MRI->replaceRegWith(DstReg, PrevDstReg);
1431 MRI->clearKillFlags(PrevDstReg);
1436 return Register::isPhysicalRegister(Reg) && !MRI->isAllocatable(Reg);
1506 if (!MRI->hasOneNonDBGUse(Reg))
1513 MachineInstr &MI = *(MRI->use_instr_nodbg_begin(Reg));
1606 MRI = &MF.getRegInfo();
1771 TII->optimizeLoadInstr(*MI, MRI, FoldAsLoadDefReg, DefMI)) {
1783 MRI->markUsesInDebugValueAsUndef(FoldedReg);
1868 for (const MachineInstr &UseMI : MRI.use_nodbg_instructions(DefOp.getReg())) {
1960 if (MRI.getRegClass(MODef.getReg()) != MRI.getRegClass(BaseReg.Reg) ||
1966 const TargetRegisterInfo *TRI = MRI.getTargetRegisterInfo();
2099 MachineRegisterInfo::def_iterator DI = MRI.def_begin(Reg);
2100 if (DI != MRI.def_end()) {