Lines Matching refs:MRI

85       for (MachineRegisterInfo::use_iterator UI = MRI.use_begin(Reg),
86 EI = MRI.use_end();
336 MachineRegisterInfo &MRI,
338 for (MachineRegisterInfo::use_iterator I = MRI.use_begin(FromReg),
339 E = MRI.use_end();
353 MachineRegisterInfo &MRI) {
354 for (MachineRegisterInfo::use_iterator I = MRI.use_begin(Reg),
355 E = MRI.use_end();
400 int LoopValStage = Schedule.getStage(MRI.getVRegDef(LoopVal));
451 MachineInstr *InstOp1 = MRI.getVRegDef(PhiOp1);
459 InstOp1 = MRI.getVRegDef(PhiOp1);
473 if (MachineInstr *InstOp1 = MRI.getVRegDef(PhiOp1))
477 MachineInstr *PhiInst = MRI.getVRegDef(LoopVal);
538 replaceRegUsesAfterLoop(Def, NewReg, BB, MRI, LIS);
548 const TargetRegisterClass *RC = MRI.getRegClass(Def);
549 NewReg = MRI.createVirtualRegister(RC);
578 replaceRegUsesAfterLoop(Def, NewReg, BB, MRI, LIS);
596 replaceRegUsesAfterLoop(Def, VRMap[CurStageNum][LoopVal], BB, MRI, LIS);
638 hasUseAfterLoop(Def, BB, MRI))
644 if (MachineInstr *InstOp2 = MRI.getVRegDef(PhiOp2))
655 if (MachineInstr *InstOp1 = MRI.getVRegDef(PhiOp1)) {
664 const TargetRegisterClass *RC = MRI.getRegClass(Def);
665 Register NewReg = MRI.createVirtualRegister(RC);
692 replaceRegUsesAfterLoop(Def, NewReg, BB, MRI, LIS);
739 for (MachineRegisterInfo::use_iterator UI = MRI.use_begin(reg),
740 EI = MRI.use_end();
769 if (MRI.use_begin(reg) == MRI.use_end()) {
793 for (MachineRegisterInfo::use_instr_iterator I = MRI.use_instr_begin(Def),
794 E = MRI.use_instr_end();
801 MachineInstr *MI = MRI.getVRegDef(LCDef);
812 SplitReg = MRI.createVirtualRegister(MRI.getRegClass(Def));
924 MachineRegisterInfo &MRI = MF.getRegInfo();
926 MachineInstr *BaseDef = MRI.getVRegDef(BaseReg);
929 BaseDef = MRI.getVRegDef(BaseReg);
1033 const TargetRegisterClass *RC = MRI.getRegClass(reg);
1034 Register NewReg = MRI.createVirtualRegister(RC);
1038 replaceRegUsesAfterLoop(reg, NewReg, BB, MRI, LIS);
1040 MachineInstr *Def = MRI.getVRegDef(reg);
1061 MachineInstr *Def = MRI.getVRegDef(Reg);
1067 Def = MRI.getVRegDef(Def->getOperand(i).getReg());
1080 MachineInstr *LoopInst = MRI.getVRegDef(LoopVal);
1117 unsigned PhiStage = (unsigned)Schedule.getStage(MRI.getVRegDef(PhiDef));
1118 unsigned LoopStage = (unsigned)Schedule.getStage(MRI.getVRegDef(LoopVal));
1144 for (MachineRegisterInfo::use_iterator UI = MRI.use_begin(OldReg),
1145 EI = MRI.use_end();
1184 MRI.constrainRegClass(ReplaceReg, MRI.getRegClass(OldReg));
1199 MachineInstr *Use = MRI.getVRegDef(LoopVal);
1217 void EliminateDeadPhis(MachineBasicBlock *MBB, MachineRegisterInfo &MRI,
1225 if (MRI.use_empty(MI.getOperand(0).getReg())) {
1231 MRI.constrainRegClass(MI.getOperand(1).getReg(),
1232 MRI.getRegClass(MI.getOperand(0).getReg()));
1233 MRI.replaceRegWith(MI.getOperand(0).getReg(),
1250 MachineRegisterInfo &MRI;
1283 ExitBB(L.getExitBlock()), MRI(BB->getParent()->getRegInfo()),
1327 EliminateDeadPhis(BB, MRI, LIS);
1341 for (MachineInstr &MI : MRI.use_instructions(Def.getReg())) {
1352 MachineInstr *Producer = MRI.getUniqueVRegDef(Reg);
1382 LoopProducer = MRI.getUniqueVRegDef(LoopReg);
1428 LoopReg = phi(LoopReg, *DefaultI++, MRI.getRegClass(Reg));
1436 auto RC = MRI.getRegClass(Reg);
1437 Register R = MRI.createVirtualRegister(RC);
1473 MachineInstr *MI = MRI.getVRegDef(R);
1476 MRI.constrainRegClass(R, MRI.getRegClass(InitReg.getValue()));
1483 RC = MRI.getRegClass(LoopReg);
1484 Register R = MRI.createVirtualRegister(RC);
1486 MRI.constrainRegClass(R, MRI.getRegClass(*InitReg));
1505 R = MRI.createVirtualRegister(RC);
1519 MachineRegisterInfo &MRI;
1525 KernelOperandInfo(MachineOperand *MO, MachineRegisterInfo &MRI,
1527 : MRI(MRI) {
1531 MachineInstr *MI = MRI.getVRegDef(MO->getReg());
1564 MRI.getVRegDef(MO->getReg())->getParent() == BB;
1571 MachineBasicBlock *NewBB = PeelSingleBlockLoop(LPD, BB, MRI, TII);
1597 for (MachineInstr &UseMI : MRI.use_instructions(DefMO.getReg())) {
1607 *MRI.getTargetRegisterInfo());
1625 auto RC = MRI.getRegClass(PhiR);
1626 Register NR = MRI.createVirtualRegister(RC);
1647 MachineInstr *Def = MRI.getVRegDef(MI.getOperand(1).getReg());
1652 MRI.replaceRegWith(MI.getOperand(0).getReg(),
1667 Register R = MRI.createVirtualRegister(MRI.getRegClass(OrigR));
1686 MachineInstr *Use = MRI.getUniqueVRegDef(MO.getReg());
1708 MRI.getVRegDef(CanonicalUse->getOperand(LoopRegIdx).getReg());
1735 EliminateDeadPhis(ExitingBB, MRI, LIS, /*KeepSingleSrcPhi=*/true);
1758 EliminateDeadPhis(B, MRI, LIS, /*KeepSingleSrcPhi=*/true);
1787 MachineInstr *Use = MRI.getUniqueVRegDef(Reg);
1826 EliminateDeadPhis(B, MRI, LIS);
1827 EliminateDeadPhis(ExitingBB, MRI, LIS);
1841 auto RC = MRI.getRegClass(MI.getOperand(0).getReg());
1843 Register R = MRI.createVirtualRegister(RC);
1845 for (MachineInstr &Use : MRI.use_instructions(OldR))
1850 *MRI.getTargetRegisterInfo());
1876 MachineInstr *MI = MRI.getUniqueVRegDef(Reg);
1887 int RMIStage = getStage(MRI.getUniqueVRegDef(R));
1890 MRI.setRegClass(R, MRI.getRegClass(PhiR));
1891 MRI.replaceRegWith(PhiR, R);
1907 for (MachineInstr &UseMI : MRI.use_instructions(DefMO.getReg())) {
1917 *MRI.getTargetRegisterInfo());
2041 KOIs.emplace_back(KernelOperandInfo(&*OOpI, MRI, IllegalPhis),
2042 KernelOperandInfo(&*NOpI, MRI, IllegalPhis));